Java语言基础
一、Java开发环境
编译运行过程
编译期:.java源文件,经过编译,生成.class字节码文件
运行期:JVM加载.class并运行.class(0和1)
跨平台,一次编译到处使用
二、名词解释
JVM:java虚拟机,加载并运行.class
JRE:java运行环境 JRE = JVM + java系统类库(小零件)
JDK:java开发工具包 JDK = JRE + 编译、运行等命令工具
三、Idea
1.开发步骤
1.创建Java项目project
2.创建包package
3.创建类class
2.注释
单行注释//
多行注释/* /
文档注释/* */
四、变量
1.变量的命名规则
1.只能包含数字、字母、下划线_、$,但不能以数字开头
2.严格区分大小写
3.不能有关键字
4.允许中文命名,但不建议,建议用英文的“见名知意”,“小驼峰命名法”
五、8种基本数据类型
1.基本数据类型
byte:字节型,1个字节,-128~127
short:短整型,2个字节,-32768~32767
int:整型,4个字节,-2^31 ~ 2^31-1
long:;长整型,8个字节,-2^63 ~ 2^63-1,;直接量加L/l(建议L)
float:单精度浮点型,4个字节,不能精确表示数值,直接量加F/f
double:双精度浮点型,8个字节,不能精确表示数值
boolean:布尔型,1个字节,true/false
char:字符型,2个字节,0~65535
2.类型间的相互转换
1)自动转换类型/隐式转换类型
2)强制转换类型
六、运算符
1.算数运算符
+、-、*、/、%、++、–
2.关系运算符
>、<、==、>=、<=、!=
3.逻辑运算符
&&、||、!
4.赋值运算符
+=、-=、*=、/=、%=
5.字符串连接
+
6.条件/三目
boolean?数1:数2
七、分支结构
1.if:一条路
2.if…else:两条路
3.if…else if:多条路
4.switch…case:多条路
优点:效率高,结构清晰
缺点:只能对整数判断相等
break跳出switch
八、循环结构
1.循环三要素
1.循环变量的初始化
2.循环的条件
3.循环的改变向着循环的结束变
2.while
先判断,后执行
3.do…while
先执行,后判断
4.for
与次数相关的循环
5.嵌套循环
1.循环中套循环,常常多行多列时使用,一般外层控制行,内层控制列
2.执行过程:外层循环走一次,内层循环走所有次
3.建议:嵌套层数越少越好
4.break只能跳出当前一层循环
break:跳出循环
continue:跳出循环体中剩余语句而进入下一次循环
九、数组
1.定义
是一种引用数据类型
相同数据类型元素的集合
默认值为0
2.初始化
1).int[] arr = new int[3]
2).int[] arr = {1,4,7}
3).int[] arr = new int[]{1,4,7}
4).int[] arr
arr = new int[]{1,4,7}
arr = {1,4,7} 编译错误
3.访问
访问的是数组中的元素
1).通过(数组名.length)可以获取数组的长度(元素的个数)
2).通过下标/索引来访问数组中的元素,下标从0开始,最大到(数组的长度-1)
4.遍历/迭代
从头到尾挨个走一遍
5.复制
1).System.arraycopy(a,1,b,0,4) 灵活性好
a:源数组
1:源数组的起始下标
b:目标数组
0:目标数组的起始下标
4:要复制的元素个数
2).int[] b = Arrays.copyOf(a,6) 灵活性差
a:源数组
b:目标数组
6:目标数组的长度(元素个数)
若目标数组长度>源数组长度,则末尾补默认值0
若目标数组长度<源数组长度,则将末尾的截掉
6.数组的扩容
创建了一个更大的新的数组,并将源数组数据复制进去了
7.排序
Array.sort(arr); 升序排列
十、方法
1.方法(函数、过程)
1).封装一段特定的业务逻辑功能
2).尽可能的独立,一个方法只干一件事
3).方法可以被反复多次调用
4).减少代码重复,有利于代码复用,有利于代码维护
2.定义方法:五要素
修饰词 返回值类型 方法名(参数列表){方法体}
调用方法
无返回值:方法名(有参传参)
有返回值:数据类型 变量=方法名(有参传参)
3.return
1).return 值 用在有返回值的方法中
(1)结束方法的执行
(2)返回结果给调用方
2).return 用在无返回值的方法中
结束方法的执行