Java流程控制
Java流程控制
顺序结构
Java的基本结构就是顺序结构,除非特别指定,语句都是自上而下顺序执行
选择结构
-
if 选择结构
-
if 单选择
String str = "Hello"; if("Hello".equals(str)){ System.out.println("Hello world"); } -
if 双选择
String str = "Hello"; if("Hello".equals(str)){ System.out.println("true"); }else { System.out.println("false"); } -
if 多选择
public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int num = scanner.nextInt(); if(num >= 90){ System.out.println("优秀"); }else if(num >= 60){ System.out.println("及格"); }else { System.out.println("不合格"); } scanner.close(); }
-
-
switch 选择结构
public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int num = scanner.nextInt(); switch (num){ case 90: System.out.println("分支一"); break; case 80: System.out.println("分支二"); break; case 70: System.out.println("分支三"); break; default: System.out.println("最终分支"); } }
循环结构(循环结构一般都要有可停止的循环次数)
-
while 循环
Scanner scanner = new Scanner(System.in); int num = scanner.nextInt(); while (num > 90){ System.out.println(num); num --; } -
do while 循环
Scanner scanner = new Scanner(System.in); int num = scanner.nextInt(); do{ System.out.println(num); num++; }while (num < 100); -
for 循环
for循环是支持迭代的一种通用结构,是最有效,最灵活的循环结构
for(初始化;布尔表达式;更新值){
循环体;
}
//第一种 for (int i = 0; i < 10; i++) { System.out.println(i); } //第二种 List<String> list = new ArrayList<>(); list.add("s"); list.add("t"); list.add("y"); for (String str : list) { System.out.println(str); }for死循环案例
for(;;){}
while与do...while的区别
while循环是先进行条件判断,在执行循环体
do...while循环是先执行一次循环体,再判断条件
注意:
break,continue,gotu
-
continue,译为中文是“继续”。它的作用与用法和break有些类似。它的作用是当循环符合要求以后,结束本次循环,直接进入下一次循环。
-
break,译为中文是“破坏”,就是让循环终止。它的作用是当循环符合要求以后,直接跳出循环体,然后执行下面的语句。
-
goto
goto关键字很早就在程序设计语言中出现。尽管goto仍是Java的一个保留字,但是并没有在语言中正式使用;Java没有goto。然而在break和continue这两个关键字身上,我们仍然能够看到一些goto的影子–带标签的break和continue
“标签”是指后面跟一个冒号发标识符,例如:label
对于Java来说唯一用到标签的地方是在循环之前,而在循环之前设置标签的唯一理由是:我们希望在其中嵌套另外一个循环,由于break和continue关键字通常只中断当前循环,但是若随同标签使用,他们就会中断到存在标签的地方public class LableDemo { //打印101-150之间的所有质数 public static void main(String[] args) { outer:for (int i=101;i<150;i++){ for(int j=2;j<i/2;j++){ if(i%j==0){ continue outer;//从内层循环直接跳到外层循环,不好用 } } System.out.println(i+" "); } }

浙公网安备 33010602011771号