java语句-控制语句 条件语句 if语句 案例 三目运算符 if语句的嵌套使用 switch语句 小结:if与switch的区别 条件语句 在Java中条件的判断语句目前有两种if语句和switch语句。 if语句 简单的
java语句-控制语句
- 条件语句
-
- if语句
-
- 案例
- 三目运算符
- if语句的嵌套使用
- switch语句
- 小结:if与switch的区别
条件语句
在Java中条件的判断语句目前有两种if语句和switch语句。
if语句
简单的if语句格式:
if( 条件表达式 ){ 代码块 }当条件表达式的结果为true时执行if大括号里的代码块,否则跳过if…else语句格式:
if(条件表达式){ 代码块1; }else{ 代码块2; }当条件表达式的结果为true时执行if大括号里的代码块1,否则执行else大括号里的代码块2。if…else if…else
if(条件表达式1){ 代码块1 }else if(条件表达式2){ 代码块2 }else{ 代码块3 }当条件表达式1的结果为true时执行代码块1,否则再判断条件表达式2是否成立,如果成立则执行代码块2,条件表达式都不成立,执行代码块3。
案例
import java.util.Scanner; public class Main { public static void main(String[] args) { int a,b; //Scanner是用来获取在控制台输入的数据 Scanner input = new Scanner(System.in); a = input.nextInt(); input.nextLine(); b = input.nextInt(); if (a == b){ System.out.println(a + " == " + b); }else if (a < b){ System.out.println(a + " < " + b); }else{ System.out.println(a + " > " + b); } } }当判断语句的代码块中只有一条语句时可以选择省略{}例如上面案例的代码可以修改成这样:
import java.util.Scanner; public class Main { public static void main(String[] args) { int a,b; Scanner input = new Scanner(System.in); a = input.nextInt(); input.nextLine(); b = input.nextInt(); if (a == b) System.out.println(a + " == " + b); else if (a < b) System.out.println(a + " < " + b); else System.out.println(a + " > " + b); } }三目运算符
在Java的运算符中有一个三目运算符的作用和if…else的作用一般 条件表达式?语句1:语句2;举个栗子:b = a > 0 ? (a + b) : -a;这条语句就等于
if(a > 0){ b = a + b; else{ b = -a; }需要注意的是三目运算符必须有一个返回值,并且语句只能有一条。
if语句的嵌套使用
if语句是可以嵌套使用的,举个栗子:
import java.util.Scanner; public class Main { public static void main(String[] args) { int year; Scanner input = new Scanner(System.in); year = input.nextInt(); if (0 == year % 4){ if (0 == year % 100){ if (0 == year % 400){ System.out.println("输入的年份是闰年"); }else{ System.out.println("输入的年份不是闰年"); } }else{ System.out.println("输入的年份是闰年"); } }else{ System.out.println("输入的年份不是闰年"); } } }上面代码的执行流程这种写法让代码变长,我们可以将所有条件整合在一起进行简化:
if (0 == year % 400 && 0 == year % 100 || 0 == year % 4){ System.out.println("输入的年份是闰年"); }else{ System.out.println("输入的年份不是闰年"); }switch语句
格式:
switch (表达式值){ case 0: 代码块1 break; case 1: 代码块2 break; case 2: 代码块3 break; ...... case n: 代码块n break; default: 代码块n+1 break; }switch语句是一个条件选择语句相当于多个简单的if语句switch首先计算参数的值,如果参数值与case后的常量值相等,则执行该case下的代码块。
- break的作用是跳出整个switch,如果没有写break那么会执行switch中的所有语句举个栗子
因为Java是顺序执行的,所以上面的代码执行后会将switch中的语句全部执行,输入0,结果如下:
- default后是不用写常量值的,如果前面的所有条件都不成立,就会执行default下的代码块,default是可以省略不写的
- 在一个switch语句中,case后的常量值不能重复。case语句后的常量表达是指可以是整数(long除外),但绝对不能是实数例如case 5.5
小结:if与switch的区别
if和switch语句都可以实现多条件判断,但if语句主要是对布尔表达式、关系表达式进行判断,而switch主要是对常量值进行判断。