目录
程序流程控制
顺序结构
按照代码的先后顺序,依次执行程序中的代码。
分支结构
if 分支
格式1:
if (条件表达式) {
语句体;
}
首先判断条件表达式的结果,如果为true执行语句体,为 false 就不执行语句体。
⚫ if 语句中,如果大括号控制的只有一行代码,则大括号可以省略不写。
格式2:
if (条件表达式) {
语句体1;
} else {
语句体2;
}
首先判断条件表达式的结果,如果为true执行语句体1,为 false 就执行语句体2。
格式3:
if (条件表达式1) {
语句体1;
} else if (条件表达式2) {
语句体2;
} else if (条件表达式3) {
语句体3;
}
. . .
else {
语句体n+1;
}
① 先判断条件1的值,如果为true则执行语句体1,分支结束;如果为false则判断条件2的值
② 如果值为true就执行语句体2,分支结束;如果为false则判断条件3的值
③ ...
④ 如果没有任何条件为true,就执行else分支的语句体n+1。
switch 分支
switch(表达式){
case 值1:
执行代码...;
break;
case 值2:
执行代码...;
break;
…
case 值n-1:
执行代码...;
break;
default:
执行代码n;
}
① 先执行表达式的值, 表达式类型只能是byte、short、int、char,去与case后的值进行匹配。
② 匹配哪个case的值就执行哪个case,case给出的值不允许重复,遇到break就跳出switch分支,不要忘记写break,否则会出现穿透现象。
③ 如果case后的值都不匹配则执行default代码。
循环结构
for 循环
for (初始化语句; 循环条件; 迭代语句) {
循环体语句(重复执行的代码);
}
while 循环
初始化语句;
while (循环条件) {
循环体语句(被重复执行的代码);
迭代语句;
}
do-while循环
初始化语句;
do {
循环体语句;
迭代语句;
} while (循环条件);
特点:一定会先执行一次循环体。
ps:
知道循环几次使用for;不知道循环几次建议使用while。
for循环 和 while循环(先判断后执行)
do...while (第一次先执行后判断)
循环嵌套
循环中又包含循环;外部循环每循环一次,内部循环全部执行完一次。
跳转控制语句
break : 跳出并结束当前所在循环的执行。
continue: 用于跳出当前循环的当次执行,进入下一次循环。
Random随机数技术
①:导包:告诉程序去JDK的哪个包中找随机数技术
import java.util.Random;
②:写一行代码代表得到随机数对象
Random r = new Random();
③:调用随机数的功能获取0-9的随机数
int number = r.nextInt(10);
只能生成: 0 至9之间的随机数,不包含10
数组
用来存储一批同种类型数据的内存区域
静态初始化数组
定义数组的时候直接给数组赋值
完整格式
数据类型[] 数组名 = new 数据类型[]{元素1,元素2 ,元素3… };
简化格式
数据类型[] 数组名 = { 元素1,元素2 ,元素3,… };
数组变量名中存储的是数组在内存中的地址,数组是引用类型。
数组的访问
1、访问数组的元素:数组名称[索引]
2、访问数组的长度:数组名称.length
3、获取数组的最大索引:数组名. length – 1 ps:元素个数大于0
注意事项
1、“数据类型[] 数组名”= “数据类型 数组名[] ”。
2、什么类型的数组存放什么类型的数据。
3、数组一旦定义出来,程序执行的过程中,长度、类型就固定了。
数组的动态初始化
定义数组的时候只确定元素的类型和数组的长度,之后再存入具体数据。
数据类型[] 数组名 = new 数据类型[长度];
动态初始化数组的元素默认值
byte、short、char、int、long默认值是 0
float、double默认值是 0.0
boolean默认值是 false
类、接口、数组、String默认值是 null
数组遍历介绍
遍历:就是一个一个数据的访问。
为什么要遍历? 搜索、数据统计等等都需要用到遍历。
int[] ages = {20, 30, 40, 50};
for (int i = 0; i < ages.length; i++) {
System.out.println(ages[i]);
}
数组使用常见问题
1、如果访问的元素位置超过最大索引,执行时会出现ArrayIndexOutOfBoundsException(数组索引越界异常)
2、如果数组变量中没有存储数组的地址,而是null, 在访问数组信息时会出现NullPointerException(空指针异常)