Java学习-03-Java流程控制
用户交互Scanner
可以通过Scanner类来获取用户的输入。
基本语法:
Scanner s = new Scanner(System.in);
通过Scanner类的next()与nextLine()方法获取输入的字符串,在读取前我们一般需要使用hasNext()与hasNextLine()判断是否还有输入的数据。
-
next():以空格或回车为结束符。
-
nextLine():以回车为结束符。
顺序结构
Java的基本结构就是顺序结构,除非特别指明,否则就按照顺序一句一句执行。
顺序结构是最简单的算法结构。
语句与语句之间,框与框之间是按从上到下的顺序进行的,它是由若干个依次执行的处理步骤组成的,它是任何一个算法都离不开的一种基本算法结构。
选择结构
-
if单选择结构
1 // 语法 2 if (flag) { 3 // flag为true 4 }
-
if双选择结构
1 // 语法 2 if (flag) { 3 // flag为true 4 } else { 5 // flag为false 6 }
-
if多选择结构
1 // 语法 2 if (flag1) { 3 // flag1为true 4 } else if(flag2) { 5 // flag2为true 6 } else if(flag3) { 7 // flag3为true 8 } else { 9 // 以上都不为true 10 }
-
嵌套的if结构
1 // 语法 2 if (flag) { 3 // flag为true 4 if(flag2) { 5 // flag2为true 6 } 7 }
-
switch多选择结构
1 // 语法 2 switch (expression) { 3 case value : // 语句 4 break;//可选 5 case value : // 语句 6 break;//可选 7 // 可以有任意数量的case语句 8 default : //可选 9 // 语句 10 }
switch语句中的变量类型可以是:
-
byte,short,int,char
-
从Java SE 7开始,switch支持字符串String类型了,同时case标签必须为字符串常量或字面量。
注意:default语句最好放到最后,如果放在前面则需要加上break,不然会继续往下执行。
1 // 在该情况下,如果写break则正常输出-1, 2 // 如果不写break则输出-1和1,输出错误。 3 int a= 11; 4 switch (a) { 5 default: 6 System.out.println(-1); 7 //break; 8 case 1: 9 System.out.println(1); 10 break; 11 case 5: 12 System.out.println(5); 13 break; 14 case 10: 15 System.out.println(10); 16 break; 17 }
循环结构
-
while循环
1 // 语法 2 while (布尔表达式) { 3 // 循环内容 4 }
-
do...while循环
1 // 语法 2 do { 3 // 代码语句 4 } while(布尔表达式);
do...while循环和while循环相似,不同的是,do...while循环至少会执行一次。
do...while循环和while循环区别:
1. while先判断后执行,do...while先执行后判断。
2. do...while循环保证循环体至少会执行一次,这是他们的主要差别。
-
for循环
1 // 语法 2 for (初始化;布尔表达式;更新) { 3 // 代码语句 4 } 5 6 // 死循环 7 for(;;){ 8 // 代码语句 9 }
for循环是支持迭代的一种通用结构,是最有效、最灵活的循环结构。
for循环执行的次数是在执行前就确定的。
-
java5引入一种主要用于数组的增强for循环
1 // 语法 2 for (声明语句:表达式) { 3 // 代码语句 4 } 5 6 // 例子 7 int[] numbers = {10,20,30,40,50}; // 定义一个数组 8 for (int x : numbers) { 9 System.out.println(x); 10 }
-
break、continue
break用于强行退出整个循环,不执行循环中剩余的语句。用于循环语句和switch语句中。
continue用于终止某次循环过程,继续执行下一次循环判定。只用在循环语句中。
参考课程:狂神说Java