当前位置 : 主页 > 编程语言 > java >

【java】控制语句

来源:互联网 收集:自由互联 发布时间:2022-07-13
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 &gt; 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中的所有语句举个栗子
import java.util.Scanner; public class Main { public static void main(String[] args) { int a; Scanner input = new Scanner(System.in); a = input.nextInt(); switch (a){ case 0: System.out.println("这里是:case 0"); case 1: System.out.println("这里是:case 1"); case 2: System.out.println("这里是:case 2"); case 3: System.out.println("这里是:case 3"); default: System.out.println("这里是:default"); } } }

因为Java是顺序执行的,所以上面的代码执行后会将switch中的语句全部执行,输入0,结果如下:在这里插入图片描述

  • default后是不用写常量值的,如果前面的所有条件都不成立,就会执行default下的代码块,default是可以省略不写的
  • 在一个switch语句中,case后的常量值不能重复。case语句后的常量表达是指可以是整数(long除外),但绝对不能是实数例如case 5.5

小结:if与switch的区别

if和switch语句都可以实现多条件判断,但if语句主要是对布尔表达式、关系表达式进行判断,而switch主要是对常量值进行判断。

上一篇:==、hashCode、equals的区别与联系
下一篇:没有了
网友评论