【JAVA基础——分支语句】

语句

1, 语句的分类

  1. 顺序语句 不改变语句的执行,按照从上往下,从左往右

2.分支语句 根据条件分情况执行,只能执行一条。 if-else ; switch

3.循环语句 根据条件语句反复执行。 for ; while ; do-while

4.跳出循环 continue ; break ; return ; System.exit(0);

2, 分支语句

2.1 if-else 结构

语法1:(1条路)

 if(布尔类型条件) {
     满足条件执行的语句;
 }

控制台的输入和输出:

输出:

 System.out.println();

输入(Scanner):

 //1  创建一个扫描工具  
 Scanner 变量名 = new Scanner ( System.in );
 //2  导入Scanner所在的包 导包快捷键:ctrl + shit + o
 //3  通过控制台进行动态接收
 //4  结尾关闭Scanner。Scanner在控制台上输入,属于一个输入流,需要在在最后关闭。 
 变量名.close();//关闭Scanner流
 ​
 int a = 变量名.nextInt();
 double d = 变量名.nextDouble();
 String name = 变量名.nextDouble();
 }     

示例代码:

         System.out.println("欢迎注册信息,请输入您的信息:");
         Scanner  s  =  new  Scanner(System.in);
         
         //提示语
         System.out.println("请输入您的姓名:");
         String  name = s.next();
         System.out.println("请输入您的年龄:");
         int age = s.nextInt();
         System.out.println("请输入您的身高:");
         double height = s.nextDouble();
         
         
         System.out.println("欢迎您,您的信息如下");
         System.out.println(name + "\t" + age + "\t" + height);

结合if和接收:

         //控制台输入
         Scanner sc  = new Scanner(System.in);
         System.out.println("请输入一个数字:");
         int a = sc.nextInt();
         
         // 判断是否是偶数
         if (a % 2 == 0) {
             System.out.println(a + "是偶数");
         }

语法2:(二选1)

 if(布尔类型条件) {
     满足条件执行的语句;
 } else{
     不满足条件执行的语句;
 }
 ​

注意: else 不加条件

         if(age >= 18) {
                     System.out.println("您已成年");
         }else {
                     System.out.println("您还需" + (18 - age) + "成年");
         }   

判断闰年:

         Scanner sc = new Scanner(System.in);
         System.out.println("请输入年份:");
         
         int year = sc.nextInt();
         if(year % 4 == 0 && year % 100 != 0  ||  year % 400 == 0) {
             System.out.println(year + "是闰年");
         }else {
             System.out.println("不是闰年");
         }

控制台接收整数 三个变量,输出他们的最大值(if-else):

 public class TestIf_4 {
     public static void main(String[] args) {
         int max = 0;
         if(a > b) {
             max = a;
         }else {
             max = b;
         }
         if(c > max) {
             max = c;
         }
         System.out.println("最大值为:" + max);
     }
 }

语法3:(多选1)

 if(条件1) {
     满足1件执行的语句;
 } 
 else if(条件2){
     满足2件执行的语句;
     
 }
 else if(条件3){
     满足3件执行的语句;
     
 }
 ...
 else{
     都不满足条件执行的语句;
 }
 ​

获得最大值:

         Scanner sc = new Scanner(System.in);
         System.out.println("请输入三个变量:");
         int a = sc.nextInt();
         int b = sc.nextInt();
         int c = sc.nextInt();
     
         int max = 0;
         if(a >= b && a >= c) {
             max = a;
         }else if(b >= a && b >= c) {
             max = b;
         }else {
             max = c;
         }
         System.out.println("最大值:" + max);

难题总结:代替法

需求:a b c 三个数的大小排序

         System.out.println("input three numbers with blank");
         Scanner s = new Scanner( System.in );
         double a = s.nextDouble(), b = s.nextDouble(), c = s.nextDouble(), t;
         if( a > b ) {
             t = a;
             a = b;
             b = t;
         }
         if(a > c ) {
             t = a;
             a = c;
             c = t;
         }
         if( b > c ) {
             t = b;
             b = c;
             c = t;
         }   
             
         
             System.out.println(a + "<" + b + "<" + c);

2.2 switch 结构

语法

 switch(表达式/变量){
     case 值1 : {语句1 ; break;} 
     case 值2 : {语句2 ; }  
     case 值3 : {语句3 ; break;}  
     default:{
         都不匹配执行的语句;
     }
 }

小结:

  1. switch()里的值类型要求: byte /short / int / char / String(jdk7+)/ 枚举(jdk5+),不能使用条件

  2. case后面的值代表和switch里变量匹配的,值要求类型: 和switch()里类型一致,值不能相同

  3. 匹配哪个值,执行语句;break表示跳出整个switch,可以不加,如果没break,依次向下执行,直到遇到break;

  4. default 没有case的匹配,直接执行语句

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值