/* 分支结构中的if-else(条件判断结构) 一、三种结构 第一种: if(条件表达式){ 执行表达式 } 第二种:二选一 if(条件表达式){ 执行表达式1 }else{ 执行表达式2 } 第三种:n选一 if(条件表达式){ 执行表达式1 }else if(条件表达式){ 执行表达式2 }else if(条件表达式){ 执行表达式3 } ... else{ 执行表达式n } */ class IfTest{ public static void main(String[] args) { //举例1 int heartBeats = 79; if(heartBeats < 60 || heartBeats > 100){ System.out.println("需要做进一步检查"); } System.out.println("检查结束"); //举例2 int age = 23; if (age < 18){ System.out.println("你还可以看动画片"); }else{ System.out.println("你可以看小电影了"); } //举例3 if(age < 0){ System.out.println("您输入的数据非法"); }else if(age < 18){ System.out.println("青少年时期"); }else if(age < 35){ System.out.println("青壮年时期"); }else if(age < 60){ System.out.println("中年"); }else if(age < 120){ System.out.println("老年时期"); }else{ System.out.println("你要成仙~~"); } } }
如何从键盘获取不同类型的变量,需要使用Scanner类
具体实现步骤
注意:
需要根据相应的方法,来输入指定类型的值。如果输入数据类型与要求类型不匹配时,会报异常:InputMisMatchException
导致程序终止
import java.util.Scanner; class ScannerTest{ public static void main(String[] args){ Scanner scan = new Scanner (System.in); System.out.println("请输入你的姓名:"); String name = scan.next(); System.out.println(name); System.out.println("请输入你的芳龄:"); int age = scan.nextInt(); System.out.println(age); System.out.println("请输入你的体重:"); double weight = scan.nextDouble(); System.out.println(weight); System.out.println("你是否相中我了呢?(true/false)"); boolean isLove = scan.nextBoolean(); System.out.println(isLove); //对于char型的获取,Scanner没有提供相关的方法,只能获取一个字符串 System.out.println("请输入你的性别:(男/女)"); String gender = scan.next();//"男" char genderChar = gender.charAt(0);//获取索引为0位置上的字符 System.out.println(genderChar); } }
test 1
岳小鹏参加Java考试,他和父亲岳不群达成承诺:
如果:
成绩为100分时,奖励一辆BMW;
成绩为(80,99]时,奖励一台iphone xs max;
当成绩为[60,80]时,奖励一个 iPad;
其它时,什么奖励也没有。
请从键盘输入岳小鹏的期末成绩,并加以判断
说明
import java.util.Scanner; class IfTest{ public static void main(String[] args){ Scanner scan = new Scanner (System.in); System.out.println("请输入岳小鹏期末成绩:(0-100)"); int score = scan.nextInt(); if(score == 100){ System.out.println("奖励一辆BMW"); }else if(score > 80 && score <= 99){ System.out.println("奖励一台iphone xs max"); }else if(score >= 60 && score <= 80){ System.out.println("奖励一个ipad"); }else{ System.out.println("啥子都木有喔"); } } }
test 2
编写程序:由键盘输入三个整数分别存入变量num1、num2、num3,
对它们进行排序(使用 if-else if-else),并且从小到大输出。
import java.util.Scanner; class IfTest2 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("请输入第一个整数:"); int num1 = scanner.nextInt(); System.out.println("请输入第二个整数:"); int num2 = scanner.nextInt(); System.out.println("请输入第三个整数:"); int num3 = scanner.nextInt(); if(num1 >= num2){ if(num3 >= num1){ System.out.println(num2 + "," + num1 + "," + num3); }else if(num2 >= num3){ System.out.println(num3 + "," + num2 + "," + num1); }else{ System.out.println(num2 + "," + num3 + "," + num1); } }else{ if(num3 >= num2){ System.out.println(num1 + "," + num2 + "," + num3); }else if(num1 >= num3){ System.out.println(num3 + "," + num1 + "," + num2); }else{ System.out.println(num1 + "," + num3 + "," + num2); } } }
练习
/* class IfExer { public static void main(String[] args) { int x = 4; int y = 1; if (x > 2) { if (y > 2) System.out.println(x + y); System.out.println("atguigu"); } else System.out.println("x is " + x); } } //atguigu */ class IfExer { public static void main(String[] args) { int x = 4; int y = 1; if (x > 2) if (y > 2) System.out.println(x + y); //System.out.println("atguigu"); else//就近原则 System.out.println("x is " + x); } }//x is 4
如何获取一个随机数 10 - 99 random[0.0,1.0)
double value = (int)(Math.random() * 90 + 10);
公式:[a,b] : (int)(Math.random() * (b - a + 1) + a)
判断字符串:
![1656663338294](../../Pictures/Camera Roll/判断字符串.png)
分支结构之二:switch-case
1.格式
switch(表达式){
case 常量1:
执行语句1;
//break;
case 常量2:
执行语句2;
//break;
...
default:
执行语句n;
//break;
}
2.说明:
① 根据switch表达式中的值,依次匹配各个擦色中的常量,一旦匹配成功,则进入相应case结构中,调用其执行语句。
当调用完执行语句后,则仍然继续向下执行其他case结构中的执行语句,直到遇到break关键字或此switch-case结构末尾结束为止
② break,可以使用在switch-case结构中,表示一旦执行到此关键字,就跳出switch-case结构。
*/
class SwitchCaseTest{ public static void main(String[] args) { int number = 2; switch(number){ case 0: System.out.println("zero"); break; case 1: System.out.println("one"); break; case 2: System.out.println("two"); break; case 3: System.out.println("three"); break; default: System.out.println("other"); } } }