Java 流程控制:
顺序
分支
循环
分支:
if(布尔表达式){
语句块
}else{
语句块
}
尽量使用肯定条件,减少else,减少嵌套
package day06;
import java.util.Scanner;
public class Demo01 {public static void main(String[] args) {Scanner con = new Scanner(System.in);System.out.print("输入一个整数:");int n = con.nextInt();con.close();if(n > 0){System.out.println("是正整数");}else{System.out.println("不是正整数");}}
}
package day06;
import java.util.Scanner;
public class Demo01 {public static void main(String[] args) {Scanner con = new Scanner(System.in);System.out.print("输入一个整数:");int n = con.nextInt();con.close();if(n > 0)//if语句块中只有一行代码的时候,可以省略花括号System.out.println("是正整数");elseSystem.out.println("不是正整数");}
}
package day06;
import java.util.Scanner;
public class Demon02 {public static void main(String[] args) {Scanner con = new Scanner(System.in); System.out.print("输入一个整数:");int n = con.nextInt();con.close();if(n > 0)System.out.println("正整数");else if(n == 0)System.out.println("是0");elseSystem.out.println("是负整数"); }
}
switch - case 结构
性能十分优秀
但是 只能 根据整数参数进行分支操作
if 多路 嵌套 条件灵活 适应性广,性能相对于 switch 差
如果 是根据整数多路分支 用switch
其他的可以使用 if
switch(command){
case 1:
//语句
break;
case 2:
//语句
break;
case 3:
// 3和4用同一个语句
case 4:
//语句
break;
}
package day06;
import java.util.Scanner;
public class Demo03 {public static void main(String[] args) {Scanner con = new Scanner(System.in);System.out.print("输入成绩:");int score = con.nextInt(); con.close();if(score >= 0){String level;switch(score/10){case 10: level = "学霸"; break;case 9:level = "学神";break;case 8:level = "学民";break;case 7:level = "学痞";break;case 6:level = "学渣";break;default:level = "渣渣"; }System.out.println("你好"+level);}elseSystem.out.println("渣渣有负的吗?"); }
}
循环结构
经典的for常用于计次循环
for 循环可以替代其他他的循环结构
for(表达式1;表达式2;表达式3){
循环体
}
for(初始化表达式;循环条件(boolean);递增表达式){
循环体
}
for(;;){} ==》死循环
在不知道用什么循环的时候就用死循环
for(;循环条件;)当循环
控制使用
continue
用在循环中,结束本次循环而开始下一次循环.
break
用于退出当前语句块,退出循环
在嵌套的循环结构中,break 用于退出所在循环体,如果要退出外层循环体,需要使用标号的方式
for(){
for(){
break;
}
}
outer:for(){
for(){
break outer;
}
}
package day06;
/**
* 99乘法表
*/
public class Demo04 {public static void main(String[] args) {for(int x = 1;x < 10;x++){if(x == 2)continue;for(int y = 1; y <= x;y++){if(y == 6) break;if(x*y >= 10)System.out.print(y+"*"+x+"="+x * y+' ');elseSystem.out.print(y+"*"+x+"="+"0"+x * y+' '); }System.out.println();}}
}
package day06;
/**
*用死循环,反转字数
*/public class Demo05 {public static void main(String[] args) {int num = 1234567890;int sum = 0;int last;for (;;) {last = num % 10;sum = sum * 10 + last;num /= 10;if (num == 0)break;}System.out.println(sum);}
}
package day06;import java.util.Scanner;public class Demo06 {public static void main(String[] args) {Scanner con = new Scanner(System.in);int score = -1;for (; score < 0 || score > 100;) {System.out.print("输入分数:");score = con.nextInt();}System.out.print(score);}
}
while 循环
先判断 后循环
while(循环条件(布尔)){
循环体
}
package day06;import java.util.Scanner;public class Demo07 {public static void main(String[] args) {Scanner con = new Scanner(System.in);System.out.print("请输入一个三位数:");int num = con.nextInt();int nu = num;int sum = 0;while (num != 0) {int last = num % 10;sum += last * last * last;num /= 10;}if (sum == nu)System.out.println(nu + "是水仙花数");elseSystem.out.println(nu + "不是水仙花数");}
}
package day06;import java.util.Scanner;public class Demo07 {public static void main(String[] args) {// Scanner con = new Scanner(System.in);// System.out.print("请输入一个三位数:");// int num = con.nextInt();for (int num = 100; num < 1000; num++) {int nu = num;int sum = 0;while (nu != 0) {int last = nu % 10;sum += last * last * last;nu /= 10;}if (sum == num)System.out.println(num + "是水仙花数");elseSystem.out.println(num + "不是水仙花数");}}
}
do while 循环
先循环在检查,无论boolean表达式的值是true 还是 false 最少会进行一次循环
do{
循环体
}while(循环条件)
对比一下: for ;while ;do while
for 常用于 经典使用方式 与固定次数有关循环处理
for 可以替代其他的两种循环
for(;循环条件;){} 替代 while(循环条件){}
死循环:for(;;){} 替代while(true){}
for{;;}{if(循环条件) break;} 替代 do while(循环条件)
while 循环用于在循环体开始时候判断循环条件
do while 循环用于在循环体结束时候判断循环条件
不知道用什么循环就要for 的死循环,在适当的条件时候使用break
转载于:https://blog.51cto.com/lmdtx/1698843