知方号

知方号

Java选择语句(if,else,switch)

Java选择语句(if,else,switch)

Java选择语句

选择结构包括if语句与switch语句 if语句分为:if;if,else;if,else if ,else三种结构。

if语句 if结构 格式:if(关系表达式){语句体 }

执行流程: 1.先判断关系表达式; 2.如果关系表达式符合要求,那么就执行语句体; 3. 如果不符合要求,那么不执行语句体; 4. 执行后面的其他代码;

public static void main(String [] args){int a=1;int b=2;if(a+b==3){ //先判断a+b是否等于3 //如果a+b等于3的话,执行if语句体里的语句块System.out.println("先执行if语句的内容");}System.out.println("然后执行if语句块外面的内容");if(a+b==4){//先判断a+b是否等于4//因为a+b的值不等于4,所以下下面这个语句块不会执行System.out.println("这是不满足条件的if语句块");}}

例如1:(判断当天星期几)

public static void main(String[] args) { var d = new Date(); int day = d.getDay(); if (day == 0) { System.out.println("星期日"); } if (day == 1) { System.out.println("星期一"); } if (day == 2) { System.out.println("星期二"); } if (day == 3) { System.out.println("星期三"); } if (day == 4) { System.out.println("星期四"); } if (day == 5) { System.out.println("星期五"); } if (day == 6) { System.out.println("星期六"); }} if,else结构 if(关系表达式){ 语句体 1 } else{ 语句体2 }

执行流程: 1.先判断关系表达式; 2.如果关系表达式符合要求,那么就执行语句体1; 3. 如果不符合要求,那么执行语句体2; 4.然后再继续执行其他代码;

public static void main(String [] args){int a=1;int b=2;if(a+b==3){ //先判断a+b是否等于3 //如果a+b等于3的话,执行if语句体里的语句块1System.out.println("执行语句体1的内容");}else {//因为语句体1符合要求,所以语句体2就不会继续执行了System.out.println("执行语句体2的内容");}//继续往下执行System.out.println("然后执行if语句块外面的内容");if(a+b==4){//先判断a+b是否等于4//因为a+b的值不等于4,所以下面这个语句块3不会执行System.out.println("执行语句体3的内容");}else{//因为语句体3不符合要求,所以会执行语句体4System.out.println("执行语句体4的内容");}}

例如2:(判断当天星期几)

public static void main(String [] args){ var d = new Date(); int day = d.getDay();if (day == 1) { System.out.println("星期一"); } else if (day == 2) { System.out.println("星期二"); } else if (day == 3) { System.out.println("星期三"); } else if (day == 4) { System.out.println("星期四"); } else if (day == 5) { System.out.println("星期五"); } else if (day == 6) { System.out.println("星期六"); } else { System.out.println("星期日");}} if,else if,else结构 格式:if(关系表达式1){ 语句体 1 } else if(关系表达式2){ 语句体2 }else{ 语句体3 }

执行流程: 1.先判断关系表达式1; 2.如果关系表达式1符合要求,那么就执行语句体1; 3.如果不符合要求,那么继续判断关系表达式2是否符合要求如果符合要求,执行语句体2; 4.如果关系表达式1,2都不符合要求,那么执行和关系表达3; 5.然后继续执行;

public static void main(String [] args){int a=1;int b=2;if(a+b==3){ //先判断a+b是否等于3 //如果a+b等于3的话,执行语句体1的内容System.out.println("执行语句体1的内容");//如果上面的a+b==3不符合要求,那么判断a+b==4是否符合要求{else if(a+b==4){//如果上面的a+b==4符合要求,那么执行语句体2的内容System.out.println("执行语句体2的内容");}else {//如果a+b==3,a+b==4都不符合要求,那么执行语句体3的内容System.out.println("执行语句体3的内容");}//继续往下执行System.out.println("然后执行if语句块外面的内容");}

可以参考“例如2”

switch语句 格式:switch(表达式){case 常量a :语句体1; break; case 常量b : 语句体2; break;//多个case可以共用一个语句体,具体参考下方例4............. default: 语句体n ; break;}

例如4:(判断月份有几天)

public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.print("请输入年 :"); int year = sc.nextInt(); //int定义,=号赋值 System.out.println(); System.out.print("请输入月 :"); int month = sc.nextInt(); //定义并赋值 var c = Calendar.getInstance(); int days = 0; switch (month) { case 1: case 3: case 5: case 7: case 8: case 10: case 12: days = 31; break; case 4: case 6: case 9: case 11: days = 30; break; case 2: days = year % 400 == 0 || year % 4 == 0 && year % 100 != 0 ? 29 : 28; LocalDate now = LocalDate.of(year, month, 1); days = now.isLeapYear() ? 29 : 28; break; default: days = 0; break; } System.out.printf("%d年%d月有%d天", year, month, days); }

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至lizi9903@foxmail.com举报,一经查实,本站将立刻删除。