第二节流程控制
一 、用户交互Scanner
Scanner对象
next()
- 一定要有字符后才可以结束输入
- 对输入有效字符之前遇到的空白,next()方法会自动将其去掉
- 只有输入有效字符后才将其后面输入空白作为分隔符或者结束符
- next()不能带有空格的字符串
nextline()
-
以Enter为结束符,也就是说nextLine()方法返回的是输入回车之前的所有字符
-
可以获得空白
二、顺序结构
从上到下顺序进行的结构
三、选择结构
if单选泽结构
if(布尔表达式){}
if双选择
if(布尔表达式){}
else{}
if 多选择
if(布尔表达式1){}
else if (布尔表达式2){}
else{}
switch多选择结构
switch case 语句
switch(expression){
case value:
//语句
break;
case value:
//语句
break;
default:
//语句
}
while循环
while(布尔表达式){
}
避免死循环
do while
do{
}while(布尔表达式)
区别:while 是先判断后执行,do while 总是保证被至少执行
一次!
For循环
for(初始化;布尔表达式;更新){}
-
for循环语句是支持迭代的一种通用结构
//九九乘法表 public class 九九乘法表{ public static void main(String[] args){ for(int x = 1,x<=9;x++){ for(int y = 1,y<=x;y++){ System.out.print(1+"*"+x+"="+(1*x)+"\t") } System.out.println() } }
//增强for循环 for(声明语句:表达式) { //代码句子 }
break continue
-
break 用于强制退出循环,不执行循环中剩余的语句
-
continue 用于终止某次循环过程,即跳过循环体中尚未执行的语句,接着进行下一次是否循环的判定。碰到continue就回到程序最开始的地方
求质数j<i/2,就是当这个数不能被自己的一半整除的时候,就是认为是质数(向下取整)
练习
打印一个三星矩阵
package com.guo.struct;
public class TextDemo01 {
public static void main(String[] args) {
//打印三角形 5行
for (int i = 1; i <= 10; i++) {
for (int j = 10; j >=i; j--) {
System.out.print(" ");
}
for (int j = 1; j <=i; j++) {
System.out.print("*");
}
for(int j=1;j <i ;j++){
System.out.print("*");
}
System.out.println();
}
}
}
for循环,嵌套,第一个i循环代表的是你要打多少行,接下来的j循环是为了在每一行输出多少个星