流程控制
第一章.键盘录入_Scanner
1.概述:是Java中的一个类 2.作用:将数据通过键盘录入的形式放到代码中参与运行 3.位置:java.util 4.使用: a.导包:通过导包的方式找到要使用的类 -> 导包位置:类上 import java.util.Scanner -> 导入的是哪个包的哪个类 //idea自动写这一步 * b.创建对象 Scanner 变量名 = new Scanner(System.in); * c.调用方法,实现键盘录入 ('.'就是调用的意思) 变量名.nextInt() -> 录入整数int型的int型的 变量名.next() -> 输入字符串 String型的 public class Demo01Scanner { public static void main(String[] args) { //创建对象 Scanner sc = new Scanner(System.in); System.out.println("请输入一个整数:");//起方便作用 //录入int型整数 int data1 = sc.nextInt(); //System.out.println("请输入一个整数:"); System.out.println("data1 = " + data1); //录入String型字符串 String data2 = sc.next(); System.out.println("data2 = " + data2); } } ================================================== public class Demo01Scanner { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("请输入三个人的年龄,并输出最大的年龄:"); int old1 = sc.nextInt(); int old2 = sc.nextInt(); int old3 = sc.nextInt(); int temp = old1>old2?old1:old2; int max = temp>old3?temp:old3; System.out.println("max = " + max); } }
变量名.next():录入字符串 -> 遇到空格和回车就结束录入了
变量名:nextLine():录入字符串 -> 遇到回车就结束录入了
public class Demo03Scanner {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String data1 = sc.next();
String data2 = sc.nextLine();
System.out.println(data1);
System.out.println(data2);
}
}
报错:
Exception in thread "main" java.util.InputMismatchException -> 输入类型不匹配
at java.base/java.util.Scanner.throwFor(Scanner.java:964)
at java.base/java.util.Scanner.next(Scanner.java:1619)
at java.base/java.util.Scanner.nextInt(Scanner.java:2284)
at java.base/java.util.Scanner.nextInt(Scanner.java:2238)
at com.fuxuan.a_Scanner.Demo04Scanner.main(Demo04Scanner.java:8)
第二章.Random
学习 Random和 Scanner的方式一样
1.概述:Java自带的一个类 2.作用:可以在指定的范围内随机一个数 3.位置:Java.util 4.使用: a.导包:import java.uitl.Random b.创建对象: Random 变量名 = new Random() c.调用方法: 变量名.nextInt() -> 在int的取值范围内随机一个整数
public class Demo01Random {
public static void main(String[] args) {
//创建对象
Random ra = new Random();
int data = ra.nextInt();
System.out.println("data = " + data);
}
}
在指定范围内指定一个数: nextInt(int bound) -> 在0 -(bound-1) a.nextInt(10) -> 0-9 b.在1-10之间随机一个数:nextInt(10)+1 -> (0-9)+1 1-10 c.在1-100之间随机一个数:nextInt(100)+1 -> (0-99)+1 1-100 d.在100-999之间随机一个数:nextInt(900)+100 -> (0-899)+100 -> 100-999
public class Demo02Random {
public static void main(String[] args) {
//创建对象
Random rd = new Random();
//在1-100之间随机一个数
int data1 = rd.nextInt(100)+1;
System.out.println("data = " + data1);
//在100-999之间随机一个数
int data2 = rd.nextInt(900)+1;
System.out.println("data2 = " + data2);
}
}
第三章.switch(选择语句)
学switch if 循环必须先掌握定义格式,然后掌握执行流程(带一个数进去,根据执行流程观察值的变化)
1.switch基本使用
1.格式: switch(变量){ case 常量值1: 执行语句1; break; case 常量值2: 执行语句2; break; case 常量值3: 执行语句3; break; ... default: 执行语句n: break; } 2.执行流程: 用变量接受的值和下面的case后面的常量值匹配,匹配上哪个case就执行哪个case对应的语句 如果都匹配不上就执行default对应的语句n 3.break关键字:代表的是结束switch语句 4.注意:switch能匹配什么类型的数据: byte short int char String型 枚举类型 public class Demo01Switcth { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("请输入一个整数:"); int data =sc.nextInt(); switch (data){ case 1: System.out.println("鹅鹅鹅"); break; case 2: System.out.println("曲项向天歌"); break; case 3: System.out.println("白毛浮绿水"); break; case 4: System.out.println("红掌拨清波"); break; } } }
2.case的穿透性
1.case下如果没有break语句,代码就会一直输出下去,直到有break出现或者程序结束.
public class Demo02Switch {
public static void main(String[] args) {
Scanner sc= new Scanner(System.in);
System.out.println("请输入一个月份:");
int mouth = sc.nextInt();
switch (mouth){
case 12:
case 1:
case 2:
System.out.println("冬季");
break;
case 3:
case 4:
case 5:
System.out.println("春季");
break;
case 6:
case 7:
case 8:
System.out.println("夏季");
break;
case 9:
case 10:
case 11:
System.out.println("秋季");
break;
default:
System.out.println("你家有这个月份?");
}
}
}
第四章.分支语句
if的第一种格式
1.格式
if(boolean表达式){
执行语句;
}
2.执行流程
先走if后面的boolean表达式,如果是true,就走if后面大括号中的执行语句,否则就被不走
3.注意
if后面跟的是boolean表达式,只要是结果是boolean型,都可以放在小括号中,哪怕直接写一个true或者false
public class Demo01If {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入两个整数:");
int data1 = sc.nextInt();
int data2 = sc.nextInt();
if(data1 == data2){
System.out.println("两个整数相等");
}
}
}