一、顺序结构
- 从上往下逐行执行,每句必走
二、分支结构
- 有条件的执行某语句,并非每句必走
- if---单路
- if(){ } else{ } 双路
- if(){} else if(){} else{} 多路
- 注意:if else之间不能有其他语句块,哪怕为空行,也会报错---‘else’ without ‘if’
if(2<3){
System.out.println("2<3");
}
System.out.println();
else{
System.out.println("2>3");
}
- switch--case---多分支结构:效率高,结构清晰 缺点:只能判断整数 break:用于跳出switch
注意:若没有break,则会一直往下执行,若从1开始执行,则会把下面的语句块依次执行Random random = new Random(); int a = random.nextInt(5); switch (a){ case 1:{ System.out.println("1"); }break; case 2:{ System.out.println("2"); }break; case 3:{ System.out.println("3"); }break; default:{ System.out.println("0"); }break; }
三、循环结构
- while()---条件为真则执行
- do{执行语句块} while(判断条件)---先执行,再判断---次循环至少会执行一次
- for(int i = 0; i<5; i++){循环体}
- 循环的选择:与次数有关:使用for循环 若循环变量的初始化与循环变量改变的代码相同,则使用do{} while(),否则使用while()
四、关于嵌套循环
外层循环走一次,内层循环走多次,一般外层控制行,内层控制列,比如金字塔的打印,冒泡排序等
一般来说循环次数越少越好,能用一层不用两层,能用两层不用三层