3、 条件控制语句

3.1 流程控制语句-顺序结构

流程控制语句:通过一些语句,来控制程序的【执行流程】

流程控制语句分类:

顺序结构

分支结构(if,switch)

循环结构(for,while,do...while)

顺序结构语句是Java程序,默认的执行流程,按照代码的先后顺序依次执行。

从上到下,从左到右。

3.2 if语句格式1

if语句格式

格式:

if(关系表达式){

语句体;

}

执行流程:

1、首先计算关系表达式的值

2、如果关系表达式的值为true就执行语句体

3、如果关系表达式的值为false就不执行语句体

4、继续执行后面的语句内容

if语句注意事项

注意事项:

1、if语句所控制的语句体,如果是一条语句,大括号可以省略不写(但是不建议)

2、if语句的小括号后面,没有分号

3.3 if语句格式2

if语句格式2

格式:

if(关系表达式){

语句体1;

}else{

语句体2;

}

执行流程:

1、首先计算关系表达式的值

2、如果关系表达式的值为true就执行语句体1

3、如果关系表达式的值为false就执行语句题2

4、继续执行后面的语句内容

3.4 if语句格式3

格式:

if(判断条件1){

语句体;

}else if(判断条件2){

语句体2;

}

...

else{

语句体n+1;

}

执行流程:

1、首先计算判断条件1的值

2、如果值为true就执行语句体1;如果值为false就计算判断条件2的值

3、如果值为true就执行语句体2;入股值为false就计算判断条件3的值

4、...

5、如果没有任何判断条件为true,就执行语句体n+1。

public static void main(String[] args){
int score = -1; if(score >= 90 && score <= 100){
System.out.println("优秀");
}else if (score >= 80 && score <= 89){
System.out.println("良好");
}else if (score >= 70 && score <= 79){
System.out.println("中等");
}else if (score >= 60 && score <= 69){
System.out.println("及格");
}else if (score >= 0 && score <= 59){
System.out.println("请努力加油!");
}else{
System.out.println("成绩有误!");
}
}

3.5 switch语句的case穿透现象

switch语句的case穿透现象

需求:键盘录入星期数,输出工作日、休息日。

(1-5)工作日,(6-7)休息日。

case穿透是如何产生的?

如果switch语句中,case省略了break语句,就会开始case穿透。

现象:当开始case穿透,后续的case就不会具有匹配效果,内部的语句都会执行

直到看见break,或者将整体switch语句执行完毕,才会结束。

public static void main(String[] args){
Scanner sc = new Scanner(System.in);
System.out.println("请输入星期数:");
int week = sc.nextInt(); switch(week){
case 1:
case 2:
case 3:
case 4:
case 5:
System.out.println("工作日");
break;
case 6:
case 7:
System.out.println("休息日");
break;
default:
System.out.println("您的输入有误");
break;
}
}

当开始case穿透,后续的case就不会具有匹配效果,内部的语句都会执行直到看到break,或者将整体switch语句执行完毕,才会结束。

当发现switch语句中,多个case给出的语句体出现了重复的,就可以考虑使用case穿透来优化代码。

3.6 分支语句switch语句

switch语句格式和说明

注意事项:

1、case给出的值不允许重复

2、case后面的值只能是常量,不能是变量

Java基础1-1-3—java基础语法(条件控制语句)的更多相关文章

  1. java面向对象编程——第二章 java基础语法

    第二章 java基础语法 1. java关键字 abstract boolean break byte case catch char class const continue default do ...

  2. Java10-java语法基础(九)——java的封装性

    Java10-java语法基础(九)——java的封装性 一.Java的三大特性:封装.多态.继承 封装:通过类封装对象的数据成员和成员方法,保证只有可信的类或者对象能够访问这些方法和数据成员,对不可 ...

  3. Java09-java语法基础(八)java中的方法

    Java09-java语法基础(八)java中的方法 一.方法(函数/过程):是一个程序块,可以完成某种功能 1.java中方法的定义格式 [访问控制修饰符]  返回值类型  方法名(参数列表){ 方 ...

  4. 《Java程序设计》第三章-基础语法

    20145221<Java程序设计>第三章-基础语法 总结 教材学习内容总结 类型.变量与运算符 类型 Java可区分为基本类型(Primitive Type)和类类型(Class Typ ...

  5. JavaSE基础(三)--Java基础语法

    Java 基础语法 一个 Java 程序可以认为是一系列对象的集合,而这些对象通过调用彼此的方法来协同工作.下面简要介绍下类.对象.方法和实例变量的概念. 对象:对象是类的一个实例,有状态和行为.例如 ...

  6. 008 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 02 Java 中的关键字

    008 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 02 Java 中的关键字 关键字 关键字就是一些有特殊意义的词 之前学习的程序中涉及到的关键字 Java中 ...

  7. 007 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 01 Java标识符

    007 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 01 Java标识符 Java变量与常量主要内容 Java变量与常量主要内容如下,主要是对以下内容的学习,没 ...

  8. JavaSE 基础知识(常识概念 + 基础语法)问答总结/面试题 —— 讲给应届生的 Java 开源知识项目

    写在最前面 这个项目是从20年末就立好的 flag,经过几年的学习,回过头再去看很多知识点又有新的理解.所以趁着找实习的准备,结合以前的学习储备,创建一个主要针对应届生和初学者的 Java 开源知识项 ...

  9. Java基础学习笔记三 Java基础语法

    Scanner类 Scanner类属于引用数据类型,先了解下引用数据类型. 引用数据类型的使用 与定义基本数据类型变量不同,引用数据类型的变量定义及赋值有一个相对固定的步骤或格式. 数据类型 变量名 ...

  10. java 复习整理(一 java简介和基础语法)

    现在公司用的是封装太多东西的平台开发,觉着之前学的东西很多都忘了,所以想好好总结回顾一下.之前总是想学很多编程语言像python.s6.node.react,但现在越来越体会到编程语言只是一个开发的工 ...

随机推荐

  1. JS中数值类型的本质

    一.JS中的数值类型 众所JS爱好友周知,JS中只有一个总的数值类型--number,它包含了整型.浮点型等数值类型.其中,浮点数的实现思想有点复杂,它把一个数拆成两部分来存储.第一部分是有效位数,也 ...

  2. Windows7下驱动开发与调试体系构建——1.驱动开发的环境准备

    目录/参考资料:https://www.cnblogs.com/railgunRG/p/14412321.html 系统基础环境 开发环境 win7下开发驱动需要安装vs,这里使用2017. 安装vs ...

  3. RAID5部署

    软RAID与备份盘 1.此处我们还用刚才的4块盘做演示,三块盘做raid,一块盘做备份盘,防止磁盘故障 我们以raid 5 来配置三块磁盘 加上一块备份盘 [root@local-pyyu tmp]# ...

  4. MindStudio模型训练场景精度比对全流程和结果分析

    摘要:MindStudio是一套基于华为昇腾AI处理器开发的AI全栈开发平台 本文分享自华为云社区<MindStudio模型训练场景精度比对全流程和结果分析>,作者:yd_24730208 ...

  5. Java继承Frame画一个窗口显示图片

    将图片显示到窗口上. 在工程目录下准备好图片5.png 运行代码: import javax.imageio.ImageIO; import java.awt.*; import java.awt.e ...

  6. 【翻译】Spring Security - 如何解决WebSecurityConfigurerAdapter类已被弃用的问题?

    原文链接:Spring Security - How to Fix WebSecurityConfigurerAdapter Deprecated 原文作者:Nam Ha Minh 原文发表日期:20 ...

  7. (GCC) gcc 编译选项 -fno-omit-frame-pointer,-fno-tree-vectorize,fno-optimize-sibling-calls;及内存泄漏、非法访问检测 ASAN

    omit-frame-pointer 开启该选项,主要是用于去掉所有函数SFP(Stack Frame Pointer)的,即在函数调用时不保存栈帧指针SFP,代价是不能通过backtrace进行调试 ...

  8. 7. PyQt5 中的多线程的使用(下)

    专栏地址 ʅ(‾◡◝)ʃ 紧接着上一节, 这一节具体介绍 图形化界面 如何给 任务线程传递数据 7.1 from form import Ui_Form from PyQt5.QtWidgets im ...

  9. c++详细学习——引用

    1 引用(reference) 引用是一个变量的别名,故引用在申明的时候必须给初始值,从此他们就建立了"不能离婚的婚姻关系",改变引用就会改变被引用的原变量 1 int main( ...

  10. MICCAI 论文投稿须知翻译

    MICCAI 论文投稿须知翻译 以MICCAI 2021 PAPER SUBMISSION AND REBUTTAL GUIDELINES为例,每年投稿须知类似 作者信息和rebuttal 本文件包含 ...