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. pod(七):静态pod

    目录 一.系统环境 二.前言 三.静态pod 3.1 何为静态pod 3.2 创建静态pod 3.2.1 使用--pod-manifest-path指定静态pod目录 3.2.2 静态pod默认目录/ ...

  2. shardingsphere-jdbc 水平分表学习记录

    放在自己博客里搬过来一份~ 前司使用的是自己魔改的TDDL,在家时间比较多就尝试学一些业内比较常用的中间件. 这里记录一下学习中遇到的一些问题. 环境 设置的比较简单(太懒了就测试了几个表), 两个分 ...

  3. 论文笔记 - Noisy Channel Language Model Prompting for Few-Shot Text Classification

    Direct && Noise Channel 进一步把语言模型推理的模式分为了: 直推模式(Direct): 噪声通道模式(Noise channel). 直观来看: Direct ...

  4. 回溯算法经典问题总结(.NET版)

    回溯算法 回溯法其实也是一种递归,本质上就是穷举,然后筛选出符合规则的数据.为了使回溯更加高效,我们根据规则要求,在穷举过程中加上条件限制(也就是剪枝). 我们什么场景下应该想到使用回溯法呢? 如何画 ...

  5. 关于mysql数据库user表没有password字段

    解决 这个是因为mysql的版本问题,是mysql 5.7版本出现的,具体是mysql 5.7.x 开始变化的我不知道 新的字段变更为authentication_string 修改密码的方式还是和原 ...

  6. Tkinter根据屏幕分辨率最大化适应屏幕

    还不能够实现所有组件随分辨率自动变化 # 实现的是界面覆盖整个屏幕 from tkinter import * import win32api, win32con # 获取屏幕的分辨率 width = ...

  7. 学习ASP.NET Core Blazor编程系列十五——查询

    学习ASP.NET Core Blazor编程系列一--综述 学习ASP.NET Core Blazor编程系列二--第一个Blazor应用程序(上) 学习ASP.NET Core Blazor编程系 ...

  8. 24V转5V,24V转3.3V稳压芯片的电路图,,PCB和BOM

    1,PW6206与PW6513系列是一款高精度,40V高输入电压,低静态电流,低压降线性稳压器具有高纹波抑制.在VOUT=5V&VIN=7V时,负载电流高达300mA,(输入与输出电压的压差越 ...

  9. 玩 ChatGPT 的正确姿势「GitHub 热点速览 v.22.49」

    火了一周的 ChatGPT,HG 不允许还有小伙伴不知道这个东西是什么?简单来说就是,你可以让它扮演任何事物,据说已经有人用它开始了颜色文学创作.因为它太火了,所以,本周特推在几十个带有"c ...

  10. texlive编译lshort-zh-cn

    项目 lshort-zh-cn是一篇latex的中文文档,本身也是latex编写的. 项目地址:https://github.com/ctex-org/lshort-zh-cn 编译 texlive打 ...