一、选择结构

  • 选择结构用于判断给定的条件,根据判断的结果来控制程序的流程。
  • Java中选择结构的语法主要分为'if...else'语句'switch...case'语句
  • Java中选择结构语句在语法上可以随意嵌套,但不建议嵌套太深,会降低代码可读性。

二、'if...else'语句

描述:'if'单词意为如果,'else'单词意为否则。Java中使用'if...else'相关语句进行条件判断

分类:

  1. 'if'单选择结构
  2. 'if'双选择结构
  3. 'if'多选择结构

Ⅰ、'if'单选择结构

语法:

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

描述:

  • 一个'if'语句包含一个布尔表达式和一条或多条语句。
  • 如果布尔表达式的值为'true',则执行'if'语句中的代码块,否则执行'if'语句块后面的代码。

示例:

/* 运行结果为控制台输出:这是if语句 */
public static void main(String args[]){
int x = 10;
if(x < 20){
System.out.print("这是if语句");
}
}

Ⅱ、'if'双选择结构

语法:

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

描述:

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

示例:

/* 运行结果为控制台输出:这是else语句 */
public static void main(String args[]){
int x = 30;
if(x < 20){
System.out.print("这是if语句");
}else{
System.out.print("这是else语句");
}
}

Ⅲ、'if'多选择结构

语法:

if(/* 布尔表达式1 */){
/* 如果布尔表达式1的值为true,将执行的语句 */
}else if(/* 布尔表达式2 */){
/* 如果布尔表达式1的值为false,且布尔表达式2的值为true,将执行的语句 */
}else if(/* 布尔表达式3 */){
/* 如果布尔表达式1和布尔表达式2的值都为false,而布尔表达式3的值为true,将执行的语句 */
}else{
/* 如果布尔表达式1、布尔表达式2和布尔表达式3的值都为false,将执行的语句 */
}

描述:

  • 'if'语句后面可以跟'else if…else'语句,而且'else if'语句可以重复使用,这种语句可以检测到多种可能的情况。

注意:

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

示例:

/* 运行结果为控制台输出:这是第二个if else语句 */
public static void main(String args[]){
int x = 30;
if(x < 20){
System.out.print("这是if语句");
}else if(x < 30){
System.out.print("这是if else语句");
}else if(x < 40){
System.out.print("这是第二个if else语句");
}else{
System.out.print("这是else语句");
}
}

三、'switch'多选择结构

语法:

switch(variable){
case value1:
/* 若变量的值与value1相同,将执行的语句 */
break;/* break语句为可选项 */
case value2:
/* 若变量的值与value2相同,将执行的语句 */
break;
case value3:
/* 若变量的值与value3相同,将执行的语句 */
break;
default:/* default语句为可选项 */
/* 若变量的值与value1、value2、value3都不同,将执行的语句 */
}

描述:

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

注意:

  • 'switch...case'语句中的变量类型可以是byte、short、int、char。从JavaSE7开始,'switch...case'语句支持String类型了,同时case标签必须为字符串常量或字面量。
  • 'switch'语句可以拥有多个'case'语句。每个'case'后面跟一个要比较的值和冒号。'case'语句中的值的数据类型必须与变量的数据类型相同,而且只能是常量或者字面常量
  • 当变量的值与'case'语句的值相等时,那么'case'语句之后的语句开始执行,直到'break'语句出现才会跳出'switch'语句,执行'switch'代码块下面的代码。
  • 'case'语句不是必须要包含'break'语句。如果没有'break'语句出现,程序会继续执行下一条'case'语句,直到出现'break'语句。
  • 'case'语句可以多次重复使用。
  • 'switch'语句可以包含一个'default'语句分支,该分支一般是'switch'语句的最后一个分支(可以在任何位置,但建议在最后一个)。'default'在没有'case'语句的值和变量值相等的时候执行。'default'分支不需要'break'语句
  • 'switch...case'语句执行时,一定会先进行匹配,匹配成功则执行该分支里的语句,再根据是否有'break',判断是否继续执行下面其他分支里的语句,或是跳出整个'switch...case'语句。

示例:

/* 运行结果为控制台依次输出:1 2 3 */
public static void main(String args[]){
int i = 1;
switch(i){
case 0:
System.out.println("0");
case 1:
System.out.println("1");
case 2:
System.out.println("2");
case 3:
System.out.println("3");
break;
default:
System.out.println("default");
}
}

Java流程控制:选择结构的更多相关文章

  1. 黑马程序员——C语言基础 流程控制 选择结构和循环结构

    ---恢复内容开始--- Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结) (一)流程控制 1> 顺序结构:默认的流程 ...

  2. Java流程控制与Scanner类的使用

    Java流程控制与Scanner类的使用 Scanner类 Scanner类可以使程序接受键盘输入,实现人机交互 一个完整的Scanner的使用例子: //创建一个扫描器对象,用于接收键盘数据 Sca ...

  3. 038 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 05 案例演示switch结构-星期的表示案例以及总结

    038 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 05 案例演示switch结构-星期的表示案例以及总结 本文知识点:案例演示switch结构并对sw ...

  4. 037 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 04 switch结构

    037 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 04 switch结构 本文知识点:Java中的switch结构 选择结构分类 选择结构只有如下2种 ...

  5. 036 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 03 嵌套if结构

    036 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 03 嵌套if结构 本文知识点:Java中的嵌套if结构 什么是嵌套if结构? 概念: 嵌套if结构 ...

  6. 035 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 02 多重if结构

    035 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 02 多重if结构 本文知识点:Java中的多重if结构 选择结构回顾 if选择结构 注意: 1.条 ...

  7. 034 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 01 流程控制概述

    034 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 01 流程控制概述 本文知识点:Java中的流程控制相关概念的认识 三大流程控制语句结构的简介 顺序 ...

  8. 053 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 15 流程控制知识总结

    053 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 15 流程控制知识总结 本文知识点: 流程控制知识总结 流程控制知识总结 选择结构语句 循环结构语句 ...

  9. Java流程控制:顺序结构

    一.流程控制 Java中的流程控制语句可以这样分类:顺序结构.选择结构.循环结构.这三种结构就足够解决所有的问题了! 二.顺序结构 描述: Java流程控制的基本结构就是顺序结构,除非特别指明,否则J ...

  10. JAVA 流程控制之选择语句

    在程序设计时,有三种基本技术可以改变程序的流程控制: 调用方法: 选择: 循环. 在这里,我们主要来讲讲选择语句. JAVA中的选择语句与C语言中的基本相同,包括: if 语句: if/else 语句 ...

随机推荐

  1. DedeCMS程序使用拼音首字母做栏目名称的方法

    Dedecms织梦程序默认使用拼音为保存目录的时候使用的是中文全拼,当遇到栏目名称比较长的时候目录名称看起来有点冗长,这时候大多数站长喜欢使用拼音首字母作为栏目的保存目录,那么就需要修改 dede/c ...

  2. docker(9)Dockerfile制作镜像

    前言 如果我们已经安装了一个python3的环境,如果另一台机器也需要安装同样的环境又要敲一遍,很麻烦,这里可以配置Dockerfile文件,让其自动安装,类似shell脚本 Dockerfile编写 ...

  3. linux开发各种I/O操作简析,以及select、poll、epoll机制的对比

    作者:良知犹存 转载授权以及围观:欢迎添加微信公众号:羽林君 IO 概念区分 四个相关概念: 同步(Synchronous) 异步( Asynchronous) 阻塞( Blocking ) 非阻塞( ...

  4. unix环境高级编程第三章笔记

    文件描述符 1.文件描述符的概念 对于内核而言,所有打开的文件都会用一个文件描述符来引用,打开或和创建一个新文件的时候,内核会给进程返回一个文件描述符,而当使用read write时,可以使用这个文件 ...

  5. Manacher(马拉车)算法详解

    给定一个字符串,求出其最长回文子串 eg:  abcba 第一步: 在字符串首尾,及各字符间各插入一个字符(前提这个字符未出现在串里). 如  原来ma  /*  a    b a    b   c ...

  6. hdu4352 XHXJ's LIS (数位dp)

    Problem Description #define xhxj (Xin Hang senior sister(学姐))  If you do not know xhxj, then careful ...

  7. codeforces629C Famil Door and Brackets (dp)

    As Famil Door's birthday is coming, some of his friends (like Gabi) decided to buy a present for him ...

  8. tju3243 Blocked Road

    There are N seaside villages on X island, numbered from 1 to N. N roads are built to connect all of ...

  9. Atcoder Educational DP Contest I - Coins (概率DP)

    题意:有\(n\)枚硬币,每枚硬币抛完后向上的概率为\(p[i]\),现在求抛完后向上的硬币个数大于向下的概率. 题解:我们用二维的\(dp[i][j]\)来表示状态,\(i\)表示当前抛的是第\(i ...

  10. 1076D Edge Deletion 【最短路】

    题目:戳这里 题意:求出1到所有点的最短路径后,把边减到小于等于k条,问保留哪些边可以使仍存在的最短路径最多. 解题思路:这题就是考求最短路的原理.比如dijkstra,用优先队列优化后存在队列中的前 ...