Java流程控制包括顺序控制、条件控制和循环控制
- 顺序控制,就是从头到尾依次执行每条语句操作
- 条件控制,基于条件选择执行语句,比方说,如果条件成立,则执行操作A,或者如果条件成立,则执行操作A,反之则执行操作B
- 循环控制,又称为回路控制,根据循环初始条件和终结要求,执行循环体内的操作
顺序结构只能顺序执行,不能进行判断和选择,因此需要分支结构
分支结构:
- if语句
- if....else....
- if.....else if....else if......
- switch语句
注意:if...else...条件的执行语句块{ }如果只有一条语句的话,那么这一对{ }可以省略;
switch语句一旦满足case条件,就执行case的相应语句。如果没有break或者已经到结尾的话,会继续执行其下的case语句! case后的变量类型可以为byte,short,char,int,枚举,String且必须是常量或者值为常量的表达式
do....while和while的区别是do...while循环至少会执行一次
循环次数不确定的时候用while,循环次数确定的时候可以随机使用
一般情况下,在无限循环内部要有程序终止的语句,使用break实现。若没有,那就是死循环
循环结构:
- while循环
- do…while循环
- for循环
- foreach循环
代码示例:
package processcontrol; import java.util.Scanner; public class ProcessControl { public static void main(String[] args) { // ifStudy(); // switchStudey(); //forStudy(); //whileStudy(); foreachStudy(); } public static void ifStudy() { Scanner input = new Scanner(System.in); System.out.println("请输入小名的期末成绩:"); // 这里默认输入的是整数,不做详细判断 int score = input.nextInt(); if (score > 100 || score < 0) { System.out.println("奖励一辆BMW!"); } else { if (score == 100) { System.out.println("您输入的数值有误!"); } else if (score > 80 && score <= 99) { System.out.println("奖励一个台iphone5s!"); } else if (score >= 60 && score <= 80) { System.out.println("奖励一本参考书!"); } else { System.out.println("没及格,还想要奖励!"); } } } public static void switchStudey() { Scanner input = new Scanner(System.in); System.out.println("请输入小名的期末成绩:"); // 这里默认输入的是整数,不做详细判断 int score = input.nextInt(); switch (score / 60) { case 1: System.out.println("及格"); break; case 0: System.out.println("不及格"); break; } /* * switch (score / 10) { case 10: case 9: case 8: case 7: case 6: * System.out.println("及格"); break; case 5: case 4: case 3: case 2: case * 1: case 0: System.out.println("不及格"); break; } */ } public static void forStudy() { /* * 编写程序FooBizBaz.java,从1循环到150并在每行打印一个值, * 另外在每个3的倍数行上打印出“foo”,在每个5的倍数行上打印“biz”, 在每个7的倍数行上打印输出“baz” */ for (int i = 1; i <= 150; i++) { System.out.print(i); if (i % 3 == 0) { System.out.print(" foo"); } if (i % 5 == 0) { System.out.print(" biz"); } if (i % 7 == 0) { System.out.print(" baz"); } System.out.println(); } } public static void whileStudy() { // 输出100以内的偶数 /* int i = 1; while (i <= 100) { if (i % 2 == 0) { System.out.println(i); } i++; } */ int i=1; do{ if(i%2==0){ System.out.println(i); } i++; }while(i<=100); } public static void foreachStudy() { int[] arr={2,3,4,5,6}; for(int i:arr){ System.out.println(i); } } }