1 条件控制语句
1 if(掌握):
1 格式1:
if() {
true进入 if 语句体
}
2 格式2:
if() {
true进入 if 语句体
}else {
false进入 else 语句体
}
3 格式3:
if() {
当前true进入 if 语句体
}else if () {
当前true进入 if 语句体
}else if () {
当前true进入 if 语句体
}...
else {
所有的if或者else if 都不满足则进入 else
}
2 多重选择Switch(了解):
1 语法:
switch(值) {
case 值1:
语句;
break;
case 值2:
语句;
break;
case 值3:
语句;
break;
default:
语句;
break;
}
switch(值)值的类型:byte、short、int、char、String、枚举
switch什么时候结束,遇到break和}。
break穿透:没有遇到break,不会再次进行case匹配。
2 潜在问题:
如果case分支末尾没有break,会执行下一个case分支,会发生值穿透,所以项目中从来不用Switch
3 if和 switch 的区别:
if的第三种格式 if else if .... else
和switch执行流程是非常相似的。
switch需要匹配的值是一个范围的时候,那么很难用。
if的条件更加丰富,只要表达式结果是boolean类型就ok。
switch只是一个值的比较。
总结:
什么时候用switch:只比较值是否相等,且数量较少的时候。性能高过if。
95%都使用if。
2 循环
1 for循环
1、格式
for(初始化语句 1 ;条件判断语句 2 ;循环体执行之后的语句 4) {
循环体 3 ;
}
2、执行流程
1 --> 2true --> 3 --> 4 --> 2 true--> 3 --> 4 --> 2 false 结束
最少
1 --> 2 false 结束 循环的右大括号
3 代码:将数字1-9输出到屏幕上
public class TestNote
{
public static final int NUM =3;
public static void main(String[] args) {
for (int i=1;i<10;i++) {
System.out.print(i);
}//123456789
}
}
4 计算数组中所有元素的和,需要现在for循环外前面定义一个变量sum并声明:int sum = 0;
注意:如果在for内部定义一个变量,name这个变量就不能再循环体外使用。所以如果希望在循环体外使用循环计数器的最终值,确保这个变量在循环语句前且在外部声明。
代码:
public class TestNote
{
public static void main(String[] args) {
int[] arr = {1,2,3,4};
int sum = 0;
System.out.println(arr.length);//4
for (int i= 0; i<arr.length;i++) {
sum += arr[i];
}
System.out.println(sum);//10
}
}
2 增强for循环
只能循环数组或集合,从头到尾依次输出整个数组的内容
for(数据类型 变量名 : 数组或者集合名) {
XXX
}
代码:
public class TestNote
{
public static void main(String[] args) {
int[] arr = {1,2,3,4};
for (int a: arr) {
System.out.print(a);
} //1234
}
}
优点:代码少
缺点:没有索引,只能正序,从头到尾依次输出
增强for和普通for的区别是:增强for不能直接拿到索引。
3 while循环:首先检测循环条件,循环体代码有可能一次都不执行。
初始化语句 1
while(条件判断语句2) {
循环体3;
循环体执行之后的语句4;
}
执行流程 : 和for 是一样
1 --> 2 --> 3 --> 4 --> 2 --> 3 --> 4 --> 2 false 结束
最少:1 --> 2 false 直接结束 循环的右大括号
4 do while 格式(了解)
初始化语句 1
do {
循环体3;
循环体执行之后的语句4;
}while(条件判断语句2);
特点:do while 至少会执行一次循环体。
5 循环控制语句
1 continue;//跳出本次循环,继续下次循环
continue忽略本次循环中的剩下内容,直接开始循环体之后的语句,进入下一次循环
2 break;//跳出全部循环
循环体中遇到break:就结束该循环(跳出循环体),开始执行循环后的代码
6 嵌套循环
for (int i = 0; i<arr.length;i++) {
for (int j=0;j<arr[i].length;j++) {
System.out.println(arr[i][j]);
}
}