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

java 分支结构_Java分支结构

我们在前面已经详细的介绍过了什么是循环结构,那么在java中还有什么些什么结构呢?

现在我们来比较详细的探讨一下下一种java结构---分支结构:

Java的分支结构有两种:

1、 if语句

2、 switch语句。

首先我们介绍一下什么是分支结构:

分支结构就是在顺序结构的执行过程中岔出一个特殊的分支去执行,该岔出的分支是为了对一些内容进行判断和选择。

接着,什么是if语句:

If代表的是如果,一帮情况下和else连用。else代表的是 否则 。其基本表达式如下所示:

If(布尔表达式){

结果为真则执行测出的代码

}else{

结果为假,则执行这里的代码

}

看一个例子:

class BranchToIf{

public static void main(String[] args) {

/**

* 下面的分支语句要做的事情是:

* 首先,运算 12==10 得到一个布尔值,如果 12 == 10 为真 ,这进入代码 1 否则进入代码 2

*/

if(12==10){

//代码 1

System.out.println("12等于10");

}else {

//代码 2

System.out.println("12不等于10");//实际输出。。因为我侄儿子都知道12不等与10

}

}

}```

当然,if语句的用法不止于此:

If(布尔表达式A){

如果表达式A为真则执行这里。否则进入下一个else if的布尔表达式B的运算

}else if (布尔表达式B){

如果布尔表达式B为真则执行这里,否则进入下一个不二表达式C的运算

}else if(布尔表达式C){

··如果布尔表达式B为真则执行这里,否则执行else下面的代码

}else{

如过ABC都不为真则执行这里。

}

代码如下:

class BranchToElseIf{

public static void main(String[] args) {

if(10==11){//显然不等,进入下一个else if

System.out.println("10等于11");

}else if (10==12){//显然不等,进入else if

System.out.println("10等于12");

}else if (10==13){//显然被不等 进入 else

System.out.println("10等于13");

}else {

System.out.println("10等于10");//真是的执行代码,因为什么你知道的。

}

}

}

作为一个合格的开发者,你需要带自己所写的代码负责。所以,尽量不要去if else if 里面再接着写判断,如果你非写不可,最多不要超过两层,你也许可以对非值进行理解,然后尽量在非此次值做逻辑。

比如说:

class BranchToIf2 {

public static void main(String[] args) {

if (10 == 20) {

System.out.println("10等于20");

} else {

System.out.println("10不等于20");

}

//可以改写为:其结果是一样的.

if (10 != 20) {

System.out.println("10不等于20");

return;

}

System.out.println("10等于20");

}

}

下面我们介绍什么是switch:

Switch语句判断的是,一个值和一堆值的映射关系,说简单点,就是从一值中找出你想要的哪一个值。

其语法如下:

Switch:一个你需要比对的值{

case value:

你要做的代码

一般要有一个break:

case value2 :

你需要执行的代码

一般要有一个break:

default:

如果都没有和你期望的值映射成功,则执行这里,这里不需要惊喜break。

}

代码如下:

class BranchToSwitch {

public static void main(String[] args) {

switchMetoh("Aatrox");

switchMetoh2("Aatrox");

}

static void switchMetoh(String i) {

switch (i) {

case "Aatrox":

System.out.println("暗夜剑魔");//执行这里

break;//结束

case "Ahri":

System.out.println("九尾妖狐");

break;

default:

System.out.println("没有匹配值");

}

}

static void switchMetoh2(String i) {

switch (i) {

case "Aatrox":

System.out.println("暗夜剑魔");//执行这里

//没有break则会穿透!所有case代码都会执行,直到default

case "Ahri":

System.out.println("九尾妖狐");

default:

System.out.println("没有匹配值");

}

// 执行结果:

/*

* 暗夜剑魔

* 九尾妖狐

* 没有匹配值

* */

}

}

对于switch语句需要注意的是,每一个case下面的代码必须要跟break,否则就会形成穿透现象,直到遇到下一个break或则defaut.

相关文章:

  • java里的文件显示繁体_关于在JSP页面上同时显示简体和繁体的问题(字符编码)...
  • java main.init_记录:java程序没有main函数只有init函数怎么运行,或者applet小程序怎么运行...
  • java配置一个json文件_Java 使用json 做配置文件
  • java 同时使用多个流_如何在带有lambda表达式的java 8中使用多个流...
  • 用java在JPanel中建一个表格_java常用面板(JPanel、JScrollPane)
  • map在Java集合_Java 集合 -- Map
  • jquery给日期赋值_jQuery 取值、赋值的基本方法整理
  • java 内部类定于_搞懂 JAVA 内部类
  • java二分法选相关择题_Java考试-2018年全国计算机二级考试精选习题及答案
  • java 表格类_Java动态表格类(DyTable)
  • mysql zhs16gbk_ASM磁盘组剔盘、加盘实施过程
  • java 实现动态验证码_java Servlet 实现动态验证码图片示例
  • Java多线程实现的四种方式_多线程实现的四种方式
  • plot python 修改属性_详解Matplotlib绘图之属性设置
  • ajax传值 vue_vue2.0 axios post请求传参问题(ajax请求)
  • AHK 中 = 和 == 等比较运算符的用法
  • chrome扩展demo1-小时钟
  • JavaScript 无符号位移运算符 三个大于号 的使用方法
  • js操作时间(持续更新)
  • JS题目及答案整理
  • Mysql数据库的条件查询语句
  • PAT A1092
  • V4L2视频输入框架概述
  • 大型网站性能监测、分析与优化常见问题QA
  • 得到一个数组中任意X个元素的所有组合 即C(n,m)
  • 盘点那些不知名却常用的 Git 操作
  • 全栈开发——Linux
  • 使用阿里云发布分布式网站,开发时候应该注意什么?
  • 不要一棍子打翻所有黑盒模型,其实可以让它们发挥作用 ...
  • 大数据全解:定义、价值及挑战
  • 数据可视化之下发图实践
  • ​LeetCode解法汇总2670. 找出不同元素数目差数组
  • (01)ORB-SLAM2源码无死角解析-(56) 闭环线程→计算Sim3:理论推导(1)求解s,t
  • (2)MFC+openGL单文档框架glFrame
  • (C语言)strcpy与strcpy详解,与模拟实现
  • (poj1.2.1)1970(筛选法模拟)
  • (rabbitmq的高级特性)消息可靠性
  • (附源码)python旅游推荐系统 毕业设计 250623
  • (附源码)spring boot公选课在线选课系统 毕业设计 142011
  • (附源码)springboot码头作业管理系统 毕业设计 341654
  • (四)汇编语言——简单程序
  • (转)LINQ之路
  • .bat批处理(十):从路径字符串中截取盘符、文件名、后缀名等信息
  • .desktop 桌面快捷_Linux桌面环境那么多,这几款优秀的任你选
  • .NET Core 中的路径问题
  • .net 按比例显示图片的缩略图
  • .net 获取url的方法
  • .NET 实现 NTFS 文件系统的硬链接 mklink /J(Junction)
  • .NET 中各种混淆(Obfuscation)的含义、原理、实际效果和不同级别的差异(使用 SmartAssembly)
  • .NetCore部署微服务(二)
  • .net快速开发框架源码分享
  • .NET面试题解析(11)-SQL语言基础及数据库基本原理
  • .net用HTML开发怎么调试,如何使用ASP.NET MVC在调试中查看控制器生成的html?
  • @GlobalLock注解作用与原理解析
  • @RequestBody详解:用于获取请求体中的Json格式参数