当前位置: 首页 > news >正文

Java - 分支结构 - if…else/switch

Java 分支结构 - if…else/switch

    • if语句
      • 语法
    • if...else 语句
      • 语法
      • 实例
    • if...else if...else 语句
      • 语法
      • 实例
    • 嵌套的 if…else 语句
      • 语法
      • 实例
    • switch 语句
      • 语法
      • 实例

顺序结构只能顺序执行,不能进行判断和选择,因此需要分支结构。

Java有两种分支结构:

  • if语句
  • switch语句

if语句

一个if语句包含一个布尔表达式和一条或多条语句。

语法

If 语句的用语法如下:

if(布尔表达式)
{//如果布尔表达式为true将执行的语句
}

如果布尔表达式的值为 true,则执行if语句中的代码块。否则执行 If 语句块后面的代码。

public class Test {public static void main(String args[]){int x = 10;if( x < 20 ){System.out.print("这是 if 语句"); }}
} 

以上代码编译运行结果如下:

这是 if 语句

if…else 语句

if 语句后面可以跟 else 语句,当if语句的布尔表达式值为 false 时,else 语句块会被执行。

语法

if…else 的用法如下:

if(布尔表达式){//如果布尔表达式的值为true
}else{//如果布尔表达式的值为false
}

实例

public class Test {public static void main(String args[]){int x = 30;if( x < 20 ){System.out.print("这是 if 语句");}else{System.out.print("这是 else 语句");}}
} 

以上代码编译运行结果如下:

这是 else 语句

if…else if…else 语句

if 语句后面可以跟 else if…else 语句,这种语句可以检测到多种可能的情况。

使用if,else if,else语句的时候,需要注意下面几点:

  • if 语句至多有 1 个 else 语句,else 语句在所有的 else if 语句之后。
  • If 语句可以有若干个 else if 语句,它们必须在 else 语句之前。
  • 一旦其中一个 else if 语句检测为 true,其他的 else if 以及 else 语句都将跳过执行。

语法

if…else 语法格式如下:

if(布尔表达式 1){//如果布尔表达式 1的值为true执行代码
}else if(布尔表达式 2){//如果布尔表达式 2的值为true执行代码
}else if(布尔表达式 3){//如果布尔表达式 3的值为true执行代码
}else {//如果以上布尔表达式都不为true执行代码
}

实例

public class Test {public static void main(String args[]){int x = 30;if( x == 10 ){System.out.print("Value of X is 10");}else if( x == 20 ){System.out.print("Value of X is 20");}else if( x == 30 ){System.out.print("Value of X is 30");}else{System.out.print("这是 else 语句");}}
}

以上代码编译运行结果如下:

Value of X is 30

嵌套的 if…else 语句

使用嵌套的 if-else 语句是合法的。也就是说你可以在另一个 if 或者 else if 语句中使用 if 或者 else if 语句。

语法

嵌套的 if…else 语法格式如下:

if(布尔表达式 1){如果布尔表达式 1的值为true执行代码if(布尔表达式 2){如果布尔表达式 2的值为true执行代码}
}

你可以像 if 语句一样嵌套 else if…else。

实例

public class Test {public static void main(String args[]){int x = 30;int y = 10;if( x == 30 ){if( y == 10 ){System.out.print("X = 30 and Y = 10");}}}
}

以上代码编译运行结果如下:

X = 30 and Y = 10

switch 语句

switch 语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支。

语法

switch 语法格式如下:

switch(expression){case value ://语句break; //可选case value ://语句break; //可选//你可以有任意数量的case语句default : //可选//语句
}

switch 语句有如下规则:

  • switch 语句中的变量类型只能为 byte、short、int 或者 char。从 Java SE 7 开始,switch 支持字符串 String 类型了,同时 case 标签必须为字符串常量或字面量。
  • switch 语句可以拥有多个 case 语句。每个 case 后面跟一个要比较的值和冒号。
  • case 语句中的值的数据类型必须与变量的数据类型相同,而且只能是常量或者字面常量。
  • 当变量的值与 case 语句的值相等时,那么 case 语句之后的语句开始执行,直到break语句出现才会跳出 switch 语句。
  • 当遇到 break 语句时,switch 语句终止。程序跳转到 switch 语句后面的语句执行。case 语句不必须要包含break 语句。如果没有 break 语句出现,程序会继续执行下一条 case 语句,直到出现 break 语句。
  • switch 语句可以包含一个 default 分支,该分支必须是 switch 语句的最后一个分支。default 在没有 case 语句的值和变量值相等的时候执行。default 分支不需要 break 语句。

实例

public class Test {public static void main(String args[]){//char grade = args[0].charAt(0);char grade = 'C';switch(grade){case 'A' :System.out.println("优秀"); break;case 'B' :case 'C' :System.out.println("良好");break;case 'D' :System.out.println("及格");case 'F' :System.out.println("你需要继续努力");break;default :System.out.println("无效等级");}System.out.println("你的等级是 " + grade);}
}

以上代码编译运行结果如下:

良好
你的等级是 C
http://www.lryc.cn/news/376428.html

相关文章:

  • web安全渗透测试十大常规项(一):web渗透测试之XML和XXE外部实体注入
  • 任务3.8.2 利用RDD计算总分与平均分
  • 探索磁力搜索引擎:互联网资源获取的新视角
  • 立创开源学习篇(一)
  • 2024/6/18 英语每日一段
  • 时隔一年,SSD大涨价?
  • 【TB作品】MSP430G2553,单片机,口袋板,流量积算仪设计
  • 九、数据结构(并查集)
  • 大模型开发技术基础
  • 芯片验证分享9 —— 芯片调试
  • java 面试题--基础
  • 必看!!! 2024 最新 PG 硬核干货大盘点(上)
  • Redis 高可用 sentinel
  • 【数据结构】练习集
  • 驱动开发(四):Linux内核中断
  • btrace:binder_transaction+eBPF+Golang实现通用的Android APP动态行为追踪工具
  • C# OCCT Winform 界面搭建
  • System.Dynamic.ExpandoObject的使用说明
  • adb之ps命令用法
  • Ubuntu-24.04-live-server-amd64安装界面中文版
  • Git的3个主要区域
  • 【操作系统】操作系统实验02-生产者消费者程序改进
  • TCP协议是安全的吗?
  • c语言回顾-结构体(2)
  • Prometheus常见exporter安装部署
  • DGit的使用
  • ElasticSearch学习篇13_《检索技术核心20讲》进阶篇之LSM树
  • 简单好用的C++日志库spdlog使用示例
  • python 方法运行计时装饰模式实现
  • 【权威出版/投稿优惠】2024年水利水电与能源环境科学国际会议(WRHEES 2024)