第三章 运算符、条件语句、switch结构、for循环、break关键字以及break和continue关键字

文章目录

  • 第三章 运算符、条件语句、switch结构、for循环、break关键字以及break和continue关键字
  • 一、运算符
    • 1.概述
    • 2.运算符速查表
    • 3.instanceof 运算符
    • 4.Java运算符优先级
  • 二、 条件语句
    • 1.if语句
    • 2.if...else语句
    • 3.if...else if...else 语句
    • 4.嵌套的if...else语句
  • 三、switch结构
  • 四、while循环
  • 五、do…while循环
  • 六、for循环
  • 七、break和continue关键字

一、运算符

1.概述

计算机的最基本用途之一就是执行数学运算,作为一门计算机语言,Java也提供了一套丰富的运算符来操纵变量。我们可以把运算符分成以下几组:

  • 算术运算符
  • 关系运算符
  • 位运算符
  • 逻辑运算符
  • 赋值运算符
  • 其他运算符

2.运算符速查表

3.instanceof 运算符

该运算符用于操作对象实例,检查该对象是否是一个特定类型(类类型或接口类型)。
instanceof运算符使用格式如下:

( Object reference variable ) instanceof (class/interface type)

如果运算符左侧变量所指的对象,是操作符右侧类或接口(class/interface)的一个对象,那么结果为真

String name = "James";
boolean result = name instanceof String; // 由于 name 是 String 类型,所以返回真

如果被比较的对象兼容于右侧类型,该运算符仍然返回true

class Vehicle {}public class Car extends Vehicle {public static void main(String[] args){Vehicle a = new Car();boolean result =  a instanceof Car;System.out.println( result);}
}

4.Java运算符优先级

当多个运算符出现在一个表达式中,谁先谁后呢?这就涉及到运算符的优先级别的问题。在一个多运算符的表达式中,运算符优先级不同会导致最后得出的结果差别甚大

下表中具有最高优先级的运算符在的表的最上面,最低优先级的在表的底部

二、 条件语句

1.if语句

一个 if 语句包含一个布尔表达式和一条或多条语句
if 语句的语法如下:

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

如果布尔表达式的值为 true,则执行 if 语句中的代码块,否则执行 if 语句块后面的代码

2.if…else语句

if 语句后面可以跟 else 语句,当 if 语句的布尔表达式值为 false 时,else 语句块会被执行
if…else 的用法如下:

if(布尔表达式){//如果布尔表达式的值为true
}else{//如果布尔表达式的值为false
}

3.if…else if…else 语句

if 语句后面可以跟 else if…else 语句,这种语句可以检测到多种可能的情况
使用 if,else if,else 语句的时候,需要注意下面几点:

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

if…else 语法格式如下:

if(布尔表达式 1){//如果布尔表达式 1的值为true执行代码
}else if(布尔表达式 2){//如果布尔表达式 2的值为true执行代码
}else if(布尔表达式 3){//如果布尔表达式 3的值为true执行代码
}else {//如果以上布尔表达式都不为true执行代码
}

4.嵌套的if…else语句

使用嵌套的 if…else 语句是合法的。也就是说你可以在另一个 if 或者 else if 语句中使用 if 或者 else if 语句
嵌套的 if…else 语法格式如下:

if(布尔表达式 1){如果布尔表达式 1的值为true执行代码if(布尔表达式 2){如果布尔表达式 2的值为true执行代码}
}

可以像 if 语句一样嵌套 else if…else。

三、switch结构

switch case 语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支
switch case 语句语法格式如下:

switch(expression){case value ://语句break; //可选case value ://语句break; //可选//你可以有任意数量的case语句default : //可选//语句
}

switch case 语句有如下规则:

  • switch 语句中的变量类型可以是: byte、short、int 或者 char。从 Java SE 7 开始,switch 支持字符串 String 类型了,同时 case 标签必须为字符串常量或字面量
  • switch 语句可以拥有多个 case 语句。每个 case 后面跟一个要比较的值和冒号
  • case 语句中的值的数据类型必须与变量的数据类型相同,而且只能是常量或者字面常量
  • 当变量的值与 case 语句的值相等时,那么 case 语句之后的语句开始执行,直到 break 语句出现才会跳出 switch 语句
  • 当遇到 break 语句时,switch 语句终止。程序跳转到 switch 语句后面的语句执行。case 语句不必须要包含 break 语句。如果没有 break 语句出现,程序会继续执行下一条 case 语句,直到出现 break 语句
  • switch 语句可以包含一个 default 分支,该分支一般是 switch 语句的最后一个分支(可以在任何位置,但建议在最后一个)。default 在没有 case 语句的值和变量值相等的时候执行。default 分支不需要 break 语句

switch case 执行时,一定会先进行匹配,匹配成功返回当前 case 的值,再根据是否有 break,判断是否继续输出,或是跳出判断

四、while循环

while是最基本的循环,它的结构为:

while( 布尔表达式 ) {//循环内容
}

只要布尔表达式为 true,循环就会一直执行下去

五、do…while循环

对于 while 语句而言,如果不满足条件,则不能进入循环。但有时候我们需要即使不满足条件,也至少执行一次
do…while 循环和 while 循环相似,不同的是,do…while 循环至少会执行一次

do {//代码语句
}while(布尔表达式);

注意:布尔表达式在循环体的后面,所以语句块在检测布尔表达式之前已经执行了。 如果布尔表达式的值为 true,则语句块一直执行,直到布尔表达式的值为 false。

六、for循环

for循环执行的次数是在执行前就确定的。语法格式如下:

for(初始化; 布尔表达式; 更新) {//代码语句
}

关于 for 循环有以下几点说明:

  • 最先执行初始化步骤。可以声明一种类型,但可初始化一个或多个循环控制变量,也可以是空语句
  • 然后,检测布尔表达式的值。如果为 true,循环体被执行。如果为false,循环终止,开始执行循环体后面的语句
  • 执行一次循环后,更新循环控制变量
  • 再次检测布尔表达式。循环执行上面的过程

Java 增强 for 循环
Java5 引入了一种主要用于数组的增强型 for 循环
Java 增强 for 循环语法格式如下:

for(声明语句 : 表达式)
{//代码句子
}

声明语句:声明新的局部变量,该变量的类型必须和数组元素的类型匹配。其作用域限定在循环语句块,其值与此时数组元素的值相等。
表达式:表达式是要访问的数组名,或者是返回值为数组的方法

七、break和continue关键字

break 主要用在循环语句或者 switch 语句中,用来跳出整个语句块
break 跳出最里层的循环,并且继续执行该循环下面的语句

continue 适用于任何循环控制结构中。作用是让程序立刻跳转到下一次循环的迭代
在 for 循环中,continue 语句使程序立即跳转到更新语句
在 while 或者 do…while 循环中,程序立即跳转到布尔表达式的判断语句

【JAVA SE】第三章 运算符、条件语句、switch结构、while循环、do…while循环、for循环、break关键字以及break和continue关键字相关推荐

  1. java switch 条件_Java ——if条件语句 switch语句

    本节重点思维导图 if条件语句 //如果条件表达式成立,执行语句块 if(条件表达式){ //-语句块 } 如果语句块只有一条语句,大括号可以省略,否则不能省略. 建议,不管有几条语句,都不要省略大括 ...

  2. Oracle PL/SQL 第三章--运算符与表达式

    Oracle PL/SQL 第三章--运算符与表达式 目录 Oracle PL/SQL 第三章--运算符与表达式 1.运算符分类 1.1.算术运算符 1.2.关系运算符 1.3.比较运算符 1.4.逻 ...

  3. MyBatis快速入门——第三章、DML语句操作

    MyBatis快速入门--第三章.DML语句操作 目录 在接口类中添加[UsersMapper.java] 修改[com.item.mapper.UsersMapper.] [action.java] ...

  4. Java学习 第三章 数组(三)排序算法

    ** Java学习 第三章 数组(三)排序算法 ** 主要内容:排序算法.排序算法横向比较.Arrays工具类的使用.数组常见异常 1.数组中涉及到的常见算法:排序算法 1.1 排序算法分类:内部排序 ...

  5. 《啊哈算法》的Java现实 | 第三章:枚举!很暴力

    <啊哈算法>的Java现实 | 第一章:排序. <啊哈算法>的Java现实 | 第二章:栈.队列.链表. <啊哈算法>的Java现实 | 第三章:枚举!很暴力. & ...

  6. 深入理解java虚拟机gc_jvm GC收集器与内存分配(深入理解java虚拟机第三章)

    jvm GC收集器与内存分配(深入理解java虚拟机第三章) 本篇是<深入理解java虚拟机第三章>的笔记记录. 一 为什么要关注GC和内存分配? 需要排查各种内存溢出.内存泄漏问题时,或 ...

  7. Java算法--第三章--排序(14)概述

    Java算法–第三章–排序(14)概述 排序算法的总结: 一.基础排序-----算法评估等级:O(n²) 1.冒泡 谁大谁上,每一轮都把最大的顶到天花板效率太低O(n2)–掌握swap 2.选择排序, ...

  8. Java SE第8章 Java集合

    Java SE第8章 Java集合 1. 集合的概念和作用 2. 使用Lambad表达式遍历集合 3.Collection集合的常规用法 4. 使用Predicate操作集合 5.使用Iterator ...

  9. Java篇第三回——运算符、表达式与语句(C不好的也快来)

    CONTENT 一.运算符.表达式 1.算七精 2.关六七 3.逻三布 4.赋右左 5.位四四 6.instanceof运算符 7.小结 二.语句 1.类型:方表复空控p 2.为啥会学不会的分支语句和 ...

最新文章

  1. GPE监控多台MySQL_zabbix监控多个服务器
  2. 从多篇2021年顶会论文看多模态预训练模型最新研究进展
  3. ftp模式 503、227错误
  4. 搭建项目前端页面环境
  5. java面试题-----------静态代码块和代码块和构造方法执行顺序
  6. mysql查询按值多的排序_MySQL查询结果按某值排序
  7. java 两个对象合并_Java 对象按照多个属性来合并。
  8. DeepLearning | Tensorflow编程基础:Session、Constant、Variable、Tensor、Placeholder、OP
  9. tracepro杂散光分析例子_2020临中高考咨询群咨询成效问卷结果分析
  10. nyoj--32--组合数
  11. RS485通讯介绍(附批量测试思路)
  12. 飞桨2.0高层api教程——使用BERT实现自动写诗
  13. Php生成图片的大小单位是cm,php生成图片缩略图代码类
  14. php 图片折角处理,如何使用CSS3实现折角效果
  15. moment 秒级时间戳转格式
  16. 下载苹果官网视频的方式
  17. C语言 第六章 多重循环
  18. 如何使用计算机远程关闭手机软件,如何使用手机远程遥控电脑关机?手机遥控电脑关机方法图文介绍...
  19. P1598垂直柱状图
  20. 数独-图片定位分割数字

热门文章

  1. errorattributes 过时_苹果官方确认:iPhone 5c 已被列为过时产品
  2. 台式计算机的拆解与安装实验报告,计算机组成实验的实验报告
  3. c 直接访问mysql_C语言访问MySQL数据库的方法
  4. java 只有日期的类_【你不知道的事系列】Java中处理日期的类
  5. 【bzoj1911】[Apio2010]特别行动队 斜率优化dp
  6. C++primer plus第六版课后编程题答案8.6
  7. 采集练习(七) php 获得电视节目预告(一周节目)
  8. 常见的排序算法五——堆排序
  9. uploadify动态改变参数
  10. FPGA设计经验总结