一、软件开发

1.1、什么是程序

用于解决现实中实际问题的,使用编程语言编写的指令的集合。

1.2、计算机编程语言

C语言:做系统,嵌入式开发,与硬件结合的开发

C++:游戏开发

Java:Android开发,桌面端的应用,web开发,大数据

1.3、搭建开发环境

安装JDK以及配置环境变量

JDK:Java Development Kit,Java开发工具

二、Java基础入门

2.1、Java介绍

Java由SUN公司在1995年推出的面向对象程序设计语言,创建人詹姆斯·高斯林

2006年发布了Java6

2009年被Oracle收购

2011年发布了Java7

2014年发布了Java8

2.2、JDK的下载和安装

下载网址:Java Downloads | Oracle

具体操作如下图:

卸载:在控制面板中卸载即可

2.3、配置环境变量

  1. 右键“此电脑”,点击“属性”,点击“高级系统设置”

  2. 在“高级”标签页中选择“环境变量”

  3. 在“系统变量”中点击“创建”,在“变量名”中写上JAVA_HOME,在“变量值”中写上jdk安装的根目录

  4. 在“系统变量”的“path”中配置,如下内容:

  5. 验证环境变量的配置

win + r,输入cmd打开命令提示符,再分别输入javajavac

如下图所示:

2.4 Java语言的特点

  • 面向对象:Java是一门面向对象的语言

  • 跨平台:一次编写,到处运行

    Java程序的开发流程:先编译后运行,编写后的java文件是.java的文件,需要先将它编译成字节码文件.class,再通过不同版本的JVM来运行它

    JDK:Java Development Kit,Java开发工具,包含了JRE

    JRE:Java Runtime Enviroment,Java运行环境,包含了JVM

    JVM:Java Virtual Machine,Java虚拟机

  • 安全性高:比如对数据可以进行加密,去掉了指针的概念避免了伪造指针操作内存等安全问题

  • 简单:去掉了指针的概念、去掉了多继承的概念、有内存的自动垃圾回收

  • 多线程:Java程序可以同一时间执行多个任务

2.5、第一个Java程序

  1. 创建一个.java的文件

  2. 在文件中编写代码

    public class HelloWorld{
        public static void main(String[] args){
            System.out.print("hello fivefiveopen");
        }
    }
  3. 编译代码

    打开cmd

    将输入指令的路径切换到java文件所在的目录:cd java文件所在目录

    编译:输入javac HelloWorld.java

  4. 运行程序

    运行:输入java HelloWorld

注意事项:

  1. 类:是Java程序中最小的组成单元,一个Java程序是由若干个类组成的,这个类的类名必须和文件名保持一致

  2. 主函数:必须是public static void main(String[] args),一个Java类中必须要有主函数,主函数是程序的入口

  3. 程序中的符号必须是英文的

  4. 代码缩进

三、基础语法

3.1、注释

对代码进行解释说明的文字

分类:

  1. 单行注释:// 注释内容

  2. 多行注释:/* 注释内容 */

  3. 文档注释:/** 注释内容 */

特点:不参与程序的运行

3.2、关键字

Java中已经定义好的具有特殊含义的单词

例如:

public、protected、private、static、class、void、interface、abstract、extends、implements、byte、short、int、long、float、double、char、boolean、false、true

3.3、标识符

类、方法、变量的名字

标识符的规则:

  1. 可以由数字、字母、下划线、美元符组成

  2. 数字不能开头

  3. 不能与关键字重名

    a      a2      3a(×)      3_a(×)    a_4      p__      a好     this(×)  p-(×)

标识符的规范:

  1. 类名:每个单词的首字母大写,其他小写(大驼峰)

  2. 方法名、变量名:首字母小写,从第二个单词起,每个单词的首字母大写(小驼峰)

  3. 常量名:全部大写,多个单词之间用下划线连接

  4. 语义化 ,见名知意

3.4、数据类型

分类:

  1. 基本数据类型

  2. 引用数据类型

3.4.1、基本数据类型(四类八型)

整数类型

  1. byte:字节型,1个字节,范围[-128,127]

  2. short:短整型,2个字节,范围[-32768,32767]

  3. int:整型,4个字节,范围[-2147483648,2147483647],默认的整数类型

  4. long:长整型,8个字节,范围[-9223372036854775808,9223372036854775807]

浮点数类型

  1. float:单精度浮点类型,4个字节,表示的小数位:7位

  2. double:双精度浮点类型,8个字节,表示的小数位:16位,默认的浮点类型

字符类型:

  1. char:字符型,用一对单引号括起来的单个字符,2个字节,范围[0,65535]

布尔类型

  1. boolean:布尔型,用于表示逻辑值,只有两个值truefalse

3.4.2、引用数据类型

字符串类型:String

用一对双引号括起来的一串字符,例如:"abc","6","你好呀",""(空字符串)

字符串变量的定义:

// 1.先声明后赋值
String 变量名;
变量名 = 值;
​
// 2.声明的同时赋值
String 变量名 = 值;

3.5、变量

什么是变量:

就是用来存储数据的一块存储空间,变量中保存的内容可以发生改变

变量的定义(创建、声明):

// 1.先声明后赋值
数据类型 变量名;
变量名 = 值;
​
// 2.声明的同时赋值
数据类型 变量名 = 值;
​
// 3.同时声明多个变量并赋值
数据类型 变量名1,变量名2 = 值,变量名3 = 值...;
变量名1 = 值;

注意事项:

  1. 变量必须初始化才能使用

  2. 变量必须要先定义才能使用

  3. 为变量赋的值不能超过该变量类型的范围

  4. 赋值给float类型变量的小数后要加上 “F” 或者 “f”

  5. 一个整数超过int范围时,需要加上 “L” 或者 “l”

  6. 字符类型的变量只能接收单个字符,不能接收多个字符,也不能接收空字符

  7. 变量的使用范围只能在定义它的代码块(大括号)中

  8. 同一个代码块中变量名不能重复

3.6、常量

常量是不能改变的值

整型常量:所有整数

浮点型常量:所有小数

布尔常量:只有两个值"true"、"false"

字符常量:单引号括起来的单个字符

字符串常量:双引号括起来的一串字符

3.7、转义字符

转义的作用:转变字符的原有含义

转义字符:\

常见的转义:

  1. \t:制表符

  2. \n:换行符

3.8、数据类型转换

问:

  1. 为什么要进行数据类型转换

  2. 不同类型的数据能否一起运算

答:

  1. 在Java中要求等号右边的值与等号左边的变量要类型一致才能赋值,如果不一致就需要数据类型转换

  2. 不同类型的数据可以一起运算,但是会进行数据类型转换

3.8.1、自动(隐式)类型转换

范围小的数据类型与范围大的数据类型的值在一起运算结果会自动转换成大的数据类型

自动转换的规则:byte < short < int < long < float < double

// 编译失败
int i = 127;
byte b = i;
​
// 编译成功
byte b = 127;
​
// 赋值给b的值是127在byte的范围内,并且i和127都是int类型的,为什么下面的能编译成功,原因:i是变量,127是常量

注:布尔类型的值不能与其他类型的值一起运算

3.8.2、强制类型转换

小转大就是自动类型转换

大转小就是强制类型转换

// 强转的格式
范围大的类型 变量a = 值;
范围小的类型 变量b = (范围小的类型)变量a;

注:

  1. byte和byte、short和short、byte和short一起运算,得到的结果是int类型的

  2. 强转慎用,因为可能发生精度的损失

  3. +=、-=、*=、/=、%=都是自带强制类型转换

3.8.3、char类型的转换

char字符可以与整数进行类型转换,转换的过程参照ASCII码表

'0'~'9'=>48~57

'a'~'z'=>97~122

'A'~'Z'=>65~90

3.9、运算符

3.9.1、算术运算符

+:求和运算,如果参与运算的值中有字符串,那么+就是拼接,并且拼接后的结果仍是字符串
-:求差运算
*:求积运算  
/:求商运算,整数间的除法运算可能会有精度损失
%:取模运算,求余数
    注:
    1.a % b,结果的正负与a一致,a % b 底层 a - a / b * b
    2.a % b,结果的范围是[0,b-1]
++、--:自增1、自减1
    前置和后置:
    前置:符号在前
    后置:符号在后
    前置和后置的区别:
    1.单独运算,没有区别
    2.复合运算,
        前置:先执行自增(自减),再执行其他操作
        后置:先执行其他操作,再执行自增(自减)

3.9.2、赋值运算符

=
+=:例如:a += b; 等价于 a = a + b;
-=
*=
/=
%=

3.9.3、比较(关系)运算符

>
<
>=
<=
==
!=

注:比较(关系)运算符的结果一定布尔值

3.9.4、逻辑运算符

注:参与逻辑运算的值与逻辑运算的结果都是布尔值

&:与运算,并且,表达式中只要出现了false,整个表达式的结果就是false
|:或运算,或者,表达式中只要出现了true,整个表达式的结果就是true
!:非运算,取反
^:异或,表达式两边相同,整个表达式的结果就是false,表达式两边不同,结果是true
&&:短路与:表达式左边为false,整个表达式的结果就是false,表达式右边不再执行
||:短路或:表达式左边为true,整个表达式的结果就是true,表达式右边不再执行

3.9.5、三元(目)运算符

条件表达式 ? 表达式1 : 表达式2

逻辑:判断条件表达式的结果,结果为true执行表达式1,反之,执行表达式2

注:

  1. 条件表达式运行的结果必须是一个布尔值

  2. 表达式1和表达式2可以是变量、常量、表达式

  3. 如果要使用变量接收三元运算表达式的结果,那么三元运算表达式中表达式1和表达式2结果的类型必须一致

3.9.6、位运算

&
|
^

运算步骤:

  1. 将两个数转换成对应的二进制数

  2. 将0视为false,将1视为true,根据位运算符,按位进行与、或、异或的运算

  3. 将二进制数转换回十进制数

<<:左移,a<<b 等价于 a乘以2的b次方
>>:右移,a>>b 等价于 a除以2的b次方

更多推荐