生活中,我们经常需要先做判断,然后才决定是否要做某件事情。例如,在上学的时候,如果期末考试成绩在全校能拿到前100名,则奖励一个 iPhone 11 。对于这种“需要先判断条件,条件满足后才执行的情况”,就可以使用 条件语句实现。

条件逻辑理解:

程序的运行是有条件的,满足条件就执行,不满足就不执行

在Java中分为二大类,分别为 if else 判断 和 switch 语句块.

1、if else

1、if 单条件判断语句

语法:

if( 条件判断语句 ){

        当条件判断语句为true,就执行该代码块,为false就不执行

}

2、if 双条件判断语句

语法:

if(条件判断语句){

          功能语句1,当条件满足时执行该代码块
}else{
          功能语句2,当条件不满足时执行该代码块
}

3、if 多条件判断语句

语法:

if(条件判断语句1){

      功能语句1,当条件1满足时执行该代码块

}else if(条件判断2){

      功能语句2,当条件2满足时执行该代码块

}else if(条件判断3){

      功能语句3,当条件3满足时执行该代码块

}else{

      当所有条件都不满足时执行该代码块

}

4、if 多条件嵌套语句

语法:

if(布尔表达式 1){
  ////如果布尔表达式 1的值为true执行代码
  if(布尔表达式 2){
    ////如果布尔表达式 2的值为true执行代码
    .... // 可以无限往下去判断, 但是不推荐,代码太low了
  }
}

注意:

if后面的{}可以省略,如果没有{},它只会执行下面的一行代码(一般不适用),else{}、else if(){}不能单独使用,只要匹配了条件,执行完对应的代码块之后,整个选择结构就结束了,后面再满足条件的代码块将不再执行!!!

实例:

package cn.fage.seven;

/**
* @author lin
* @version 1.0
* @date 2020-06-24 9:30
* @Description TODO
*/
public class TestIf {    private static TestIf testIf;    private String name = "热巴";
   private int age = 22;    public static void main(String[] args) {
       testIf.test1();
       testIf.test2();
       testIf.test3();
       testIf.test4();
  }    private void test1() {
       if ("热巴".equals(name)) {
           System.out.println("姓名为 " + name);
      }
  }    private void test2() {
       if (age == 18) {
           System.out.println("年龄为 " + 18);
      } else {
           System.out.println("年龄不为 " + 18);
      }
  }    private void test3() {
       if (age < 15) {
           System.out.println("年龄小于 15 岁 在上 义务教育 ");
      } else if (age < 18) {
           System.out.println("年龄小于 18 在上 高中 ");
      } else {
           System.out.println("年龄大于18岁 成人 ");
      }
  }    private void test4() {
       if ("热巴".equals(name)) {
           System.out.println("姓名为 " + name);
           if (age == 18) {
               System.out.println("年龄为 " + 18);
          } else {
               System.out.println("姓名为 " + name + "年龄不为 " + 18 + ", 而是 " + age);
          }
      }
  } }

结果:

姓名为 热巴
年龄不为 18
年龄大于18岁 成人
姓名为 热巴
姓名为 热巴年龄不为 18, 而是 22

2、switc语句块

注意:jdk7之后可支持字符串String

语法:

      变量   

      switch(变量){
           case 值1:
                功能语句1;
                break;
           case 值2:
                功能语句2;
                break;
           case 值3:
                功能语句3;
                break;
            default:
                功能语句default;
                break;
        }

注意:当条件匹配上后,执行匹配的功能语句,否则执行default语句,如果没有break则会依次往下执行,只到switch执行完。实例:

package cn.fage.seven;

/**
* @author lin
* @version 1.0
* @date 2020-06-24 9:41
* @Description TODO
*/
public class TestSwitch {
   private static TestSwitch testSwitch = new TestSwitch();    int[] a = {-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9};    public static void main(String[] args) {
       testSwitch.test1();
  }    private void test1() {
       for (int i : a) {
           test2(i);
      }   }    private void test2(int i) {
       int i1 = i % 2;
       switch (i1) {
           case 1:
               System.out.println(i + " 是奇数");
               break;
           case 0:
               System.out.println(i + " 是偶数");
               break;
           default:
               System.out.println(i + " 是负数");
               break;
      }
  }
}

结果:

-1 是负数
0 是偶数
1 是奇数
2 是偶数
3 是奇数
4 是偶数
5 是奇数
6 是偶数
7 是奇数
8 是偶数
9 是奇数

理解:

一般用在比较固定的情况:如 VIP 、段位、星期、月份等
  注意:①从匹配上的代码开始执行,直到找到最近的break,跳出整个switch语句
              ②变量:可以有的类型 byte short char int enum(枚举,java5开始支持的)
  条件语句的选择:switch一般用来变量固定的情况。如 VIP 、段位、星期、月份等
                                其它的情况一般用if 或  if else。。。,

switch能做到的  if语句都能做到

8 Java 条件逻辑语句的更多相关文章

  1. Java finally语句到底是在return之前还是之后执行(JVM字节码分析及内部体系结构)?

    之前看了一篇关于"Java finally语句到底是在return之前还是之后执行?"这样的博客,看到兴致处,突然博客里的一个测试用例让我产生了疑惑. 测试用例如下: public ...

  2. 【Demo 0002】Java基础-语句

    本章学习要点:        1.  掌握Java关健语句使用方法;          2.  理解与语句相关的关键字用法; 一.Java 关键语句        Java语句以及关联关键字与C完全相 ...

  3. 7#Java基本语句语法

    Java基本语句语法https://github.com/DuGuQiuBai/Java/blob/master/day03/day03%E6%80%BB%E7%BB%93.txt 1:位运算符(了解 ...

  4. 【转】Java finally语句到底是在return之前还是之后执行?

    网上有很多人探讨Java中异常捕获机制try...catch...finally块中的finally语句是不是一定会被执行?很多人都说不是,当然他们的回答是正确的,经过试验,至少有两种情况下final ...

  5. 关于Java中语句符号及格式的理解

    关于Java中语句符号及格式的理解 这篇文章是撰写的第一篇文章,在此作一下博主是一名在读的工科研究生,种种原因,研二开始决定转行从事程序员工作.开始的自学之路并不算非常顺畅,也走了一点弯路,但一直都坚 ...

  6. Java-Runoob:Java 条件语句

    ylbtech-Java-Runoob:Java 条件语句 1.返回顶部 1. Java 条件语句 - if...else 一个 if 语句包含一个布尔表达式和一条或多条语句. 语法 if 语句的语法 ...

  7. Java 循环语句及流程控制语句

    java循环语句while与do-while 一 while循环 while循环语句和选择结构if语句有些相似,都是根据条件判断来决定是否执行大括号内的执行语句. 区别在于,while语句会反复地进行 ...

  8. 1903021121—刘明伟—Java第四周作业—java分支语句学习

    项目 内容 课程班级博客链接 19信计班(本) 作业要求链接 第四周作业 要求 每道题要有题目,代码(使用插入代码,不会插入代码的自己查资料解决,不要直接截图代码!!),截图(只截运行结果). 扩展阅 ...

  9. java break语句的三种用法

    1.用于switch语句当中,用于终止语句 2.用于跳出循环,此为不带标签的break语句,相当与goto的作用 e.g while(i<j&&h<k){ if(h< ...

随机推荐

  1. 数据可视化之powerBI基础(十六)PowerQuery的这个小功能,让你轻松发现数据质量问题

    https://zhuanlan.zhihu.com/p/64418072 源数据常常包含各种差错值,为了进行下一步的分析,我们必须先找出并更正这些差错,做这些工作几乎不会有什么快乐感可言,但却往往需 ...

  2. 机器学习实战基础(十一):sklearn中的数据预处理和特征工程(四) 数据预处理 Preprocessing & Impute 之 处理分类特征:编码与哑变量

    处理分类特征:编码与哑变量 在机器学习中,大多数算法,譬如逻辑回归,支持向量机SVM,k近邻算法等都只能够处理数值型数据,不能处理文字,在sklearn当中,除了专用来处理文字的算法,其他算法在fit的 ...

  3. PdfSharp库剪裁Pdf页面边缘空白部分

    背景 网上下载下来的Pdf格式电子书放到Kindle后由于页面太大,缩放后字常常小得看不清,因此可以通过剪裁页面边缘的空白以缩小页面,使Kindle上显示的字放大.在GitHub上星最多的C# Pdf ...

  4. UML学习笔记—基本概念和初始阶段

    chpater1 1.什么是分析和设计 分析:对问题和需求的调查研究 设计:满足需求的概念上的解决方案 做正确的事(分析)和正确地做事(设计) 2.什么是Object-Oriented-Analysi ...

  5. 蒲公英 · JELLY技术周刊 Vol.14: Vue 3 新特性详解

    2020 年真的是灾祸频发,但是在各类前端框架上,依旧是在稳步的推进.近日 Vue 团队更新了关于 Vue 3 的最新状态,尤大新增了三个语法糖特性,它们将用于优化 SFC 的开发体验,你会有兴趣尝鲜 ...

  6. Python 3基础教程8-if else语句

    终于更新到了,教程8, 如果对python软件测试.接口测试.自动化测试.面试经验交流.感兴趣可以加君羊软件测试交流: 1079636098,还会有同行一起技术交流. 本文介绍if else语句,不多 ...

  7. C#中的char和string的使用简介

    char 字符 char代表一个Unicode字符,它是System.Char的别名 char someChar = 'a';//定义了一个字符 char newLine= '\n';//这是一个换行 ...

  8. Go的100天之旅-08字符串

    目录 简介 UTF-8字符 字符串的常用操作 简介 字符串在各种编程语言中都是很基础的一种类型,在Go中字符串简单理解就是一个数组,数组里面的元素是byte类型.因此基本上拥有类似数组的全部特性.例如 ...

  9. 来了,来了,你们要的Nginx教程来了

    一 Nginx简介 1.1 什么是Nginx Nginx是一个高性能的http和反向代理服务器,其特点是占用内存小,并发能力强.Nginx专为性能优化而开发,性能是其最重要的考量,能经受高负载的考验, ...

  10. CentOS7 firewalld docker 端口映射问题,firewall开放端口后,还是不能访问,解决方案

    # 宿主机ip: 192.168.91.19 docker run -itd --name tomcat -p 8080:8080 tomcat /usr/local/apache-tomcat-9. ...