流程控制
用户交换Scanner、顺序结构、选择结构、循环结构
1. 用户交换
-
Scanner对象
可以通过Scanner类获取用户输入例:Scanner scanner = new Scanner(System.in);//初始化对象
String str =scanner.next();可以接收输入(next()和nextLine()方法都可以)
一般在获取前最好判断是否还有输入用hasNext()或hasNextLine()方法
用完最好关闭类:scanner.close();
2. 顺序结构
java的基本流程就是顺序结构,如果没有特别指明,否则就是从上到下执行语句。
3. 选择结构
-
if条件结构
- 单选语法
if(布尔表达式){ //布尔表达式为ture将执行的语句 }//为false时跳过执行if条件中的语句
- 双选择结构
if(布尔表达式){ //布尔表达式为ture将执行的语句 }else{ //布尔表达式为false将执行的语句 }
- 多选择结构
elseif结构最后必须得有一个else
if(布尔表达式1){ //布尔表达式1为ture将执行的语句 }else if(布尔表达式2){ //布尔表达式2为ture将执行的语句 }else if(布尔表达式3){ //布尔表达式3为ture将执行的语句 }else{ //如果以上条件都不满足执行这里的语句 }
-
Switch 多选结构
- jdk7以后支持字符串变量
switch(expression){//expression定义的变量 case value : //value配变量的值 //语句1 break;//break可以在执行语句1后跳出switch case value : //语句2 break; //可以有任意数量case语句 default : //语句3,没有匹配上面value时执行 }
4. 循环结构
-
while
只要布尔表达式为ture就一直循环执行下去
当型循环:当满足条件就进入循环while(布尔表达式){ //循环内容语句, }
-
do while
直到型循环:直到不满足条件结束循环
必会执行一次循环do{ //循环内容语句 }while(布尔表达式)
-
for
最有效、最好用的循环for(初始值;条件判断;值更新){ //条件判断为ture时执行语句 }
-
增强for循环
常用于遍历数组、集合for(声明 : 表达式){ //循环语句 }//声明:新的局部变量和数组、集合元素的类型匹配,表达式:要访问的数组、集合名、或者返回值为数组、集合的方法 例: for(int x : listName/*集合名/数组名*/){ //循环语句 }
-
break continue goto
- break 结束退出循环,不再执行剩余的循环语句,用于强行退出循环。
- continue 终止本次循环,跳过剩余的循环语句,接着进入下一次是否循环的判定。
- goto 关键字
并未在Java中正式使用
小练 质数判断、打印三角形
-
判断101~150内的质数
for (int i = 101; i < 150; i++) { boolean isZiShu = true; for (int j = 2; j < i / 2; j++) { if (i % j == 0) {//不是质数 isZiShu =false; break; } } if (isZiShu){ System.out.print(i+" "); } }
-
打印三角型
for (int i = 0; i <= 5; i++) { for (int j = 5; j >= i; j--) { System.out.print(" "); } for (int k = 1; k <= i; k++) { System.out.print("*"); } for (int k = 1; k < i; k++) { System.out.print("*"); } System.out.println(); }