流程控制学习
一、Scancer对象
Scancer是用来接收用户输入的。
-
hasNext()、next() 不能接收带空格的字符串
例如,Hello World 只会输出Hello
-
hasNextLine()、nextLine() 以Enter为结束符
例如,Hello World 会输出Hello World
//创建扫描器对象,用来接收键盘数据
Scanner scanner = new Scanner(System.in);
//判断用户是否有输入字符串
System.out.println("请输入字符串:");
if (scanner.hasNext()){
String str = scanner.next();
System.out.println("输出的内容="+str);
}
if (scanner.hasNextLine()){
String str = scanner.nextLine();
System.out.println("输出的内容="+str);
}
//判断用户是否有输入整数
System.out.println("请输入整数");
if (scanner.hasNextInt()){
int i = scanner.nextInt();
System.out.println("输出的内容="+i);
}else {
System.out.println("输入的不是整数!");
}
//判断用户是否输入小数
System.out.println("请输入小数");
if (scanner.hasNextFloat()){
float j = scanner.nextFloat();
System.out.println("输出的内容="+j);
}else {
System.out.println("输入的不是小数");
}
scanner.close(); //关闭
二、顺序结构
按从上到下的顺序执行
//顺序结构:从上往下执行
System.out.println("hello 1");
System.out.println("hello 2");
System.out.println("hello 3");
三、选择结构
1、if选择
- if 单选
- if双选
- if多选
- if嵌套
//顺序结构:从上往下执行
System.out.println("hello 1");
System.out.println("hello 2");
System.out.println("hello 3");
Scanner scanner = new Scanner(System.in);
int s = scanner.nextInt();
//if单选
if (s == 60){
System.out.println("等于60");
}
//if双选
if (s>60){
System.out.println("大于60");
}else {
System.out.println("小于等于60");
}
//if多选
if(s>=60 && s<=100){
System.out.println("合格");
}else if(s>=0 && s<60){
System.out.println("不合格");
}else {
System.out.println("输入的数字不合法");
}
//if嵌套
if(s>=60 && s<=100){
System.out.println("合格");
if (s>90){
System.out.println("等级A");
}
}
scanner.close();
2、Switch选择
注意:加上break!
//switch选择
String grade = "C";
switch (grade){
case "A":
System.out.println("优秀");
break;//可选
case "B":
System.out.println("良好");
break;
case "C":
System.out.println("合格");
break;
default:
System.out.println("未知");
}
四、循环结构
1、while循环
先判断后执行。
注意:尽量避免死循环!
//while循环:计算1+2+3+...+100
int i = 0;
int sum = 0;
while (i<100){
i++;
sum=sum+i;
}
System.out.println(sum);
2、do while循环
先执行后判断,至少会执行1次。
//do while循环
int a = 0;
do {
System.out.println(a); //会输出一次0
a++;
}while (a<0);
3、for循环
idea快捷键:输入100.for+回车,自动生成for循环代码!
//for循环:for(初始化;布尔表达式;更新)
//输出99乘法表
for (int i = 0; i <= 9; i++) {
for (int j = 0; j <= i; j++) {
System.out.print(j+"*"+i+"="+(j*i)+"\t");
}
System.out.println();
}
增强for循环:
int [] numbers = {1,2,3,4,5};//定义一个数组
//遍历数组:for(声明语句:表达式)
for(int x:numbers){
System.out.println(x);
}
五、break、continue、goto
- break:强制退出循环
- continue:跳出本次循环,继续下一次循环
- goto:java中没有goto