【JAVA SE】第三章 运算符、条件语句、switch结构、while循环、do…while循环、for循环、break关键字以及break和continue关键字
第三章 运算符、条件语句、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关键字相关推荐
- java switch 条件_Java ——if条件语句 switch语句
本节重点思维导图 if条件语句 //如果条件表达式成立,执行语句块 if(条件表达式){ //-语句块 } 如果语句块只有一条语句,大括号可以省略,否则不能省略. 建议,不管有几条语句,都不要省略大括 ...
- Oracle PL/SQL 第三章--运算符与表达式
Oracle PL/SQL 第三章--运算符与表达式 目录 Oracle PL/SQL 第三章--运算符与表达式 1.运算符分类 1.1.算术运算符 1.2.关系运算符 1.3.比较运算符 1.4.逻 ...
- MyBatis快速入门——第三章、DML语句操作
MyBatis快速入门--第三章.DML语句操作 目录 在接口类中添加[UsersMapper.java] 修改[com.item.mapper.UsersMapper.] [action.java] ...
- Java学习 第三章 数组(三)排序算法
** Java学习 第三章 数组(三)排序算法 ** 主要内容:排序算法.排序算法横向比较.Arrays工具类的使用.数组常见异常 1.数组中涉及到的常见算法:排序算法 1.1 排序算法分类:内部排序 ...
- 《啊哈算法》的Java现实 | 第三章:枚举!很暴力
<啊哈算法>的Java现实 | 第一章:排序. <啊哈算法>的Java现实 | 第二章:栈.队列.链表. <啊哈算法>的Java现实 | 第三章:枚举!很暴力. & ...
- 深入理解java虚拟机gc_jvm GC收集器与内存分配(深入理解java虚拟机第三章)
jvm GC收集器与内存分配(深入理解java虚拟机第三章) 本篇是<深入理解java虚拟机第三章>的笔记记录. 一 为什么要关注GC和内存分配? 需要排查各种内存溢出.内存泄漏问题时,或 ...
- Java算法--第三章--排序(14)概述
Java算法–第三章–排序(14)概述 排序算法的总结: 一.基础排序-----算法评估等级:O(n²) 1.冒泡 谁大谁上,每一轮都把最大的顶到天花板效率太低O(n2)–掌握swap 2.选择排序, ...
- Java SE第8章 Java集合
Java SE第8章 Java集合 1. 集合的概念和作用 2. 使用Lambad表达式遍历集合 3.Collection集合的常规用法 4. 使用Predicate操作集合 5.使用Iterator ...
- Java篇第三回——运算符、表达式与语句(C不好的也快来)
CONTENT 一.运算符.表达式 1.算七精 2.关六七 3.逻三布 4.赋右左 5.位四四 6.instanceof运算符 7.小结 二.语句 1.类型:方表复空控p 2.为啥会学不会的分支语句和 ...
最新文章
- GPE监控多台MySQL_zabbix监控多个服务器
- 从多篇2021年顶会论文看多模态预训练模型最新研究进展
- ftp模式 503、227错误
- 搭建项目前端页面环境
- java面试题-----------静态代码块和代码块和构造方法执行顺序
- mysql查询按值多的排序_MySQL查询结果按某值排序
- java 两个对象合并_Java 对象按照多个属性来合并。
- DeepLearning | Tensorflow编程基础:Session、Constant、Variable、Tensor、Placeholder、OP
- tracepro杂散光分析例子_2020临中高考咨询群咨询成效问卷结果分析
- nyoj--32--组合数
- RS485通讯介绍(附批量测试思路)
- 飞桨2.0高层api教程——使用BERT实现自动写诗
- Php生成图片的大小单位是cm,php生成图片缩略图代码类
- php 图片折角处理,如何使用CSS3实现折角效果
- moment 秒级时间戳转格式
- 下载苹果官网视频的方式
- C语言 第六章 多重循环
- 如何使用计算机远程关闭手机软件,如何使用手机远程遥控电脑关机?手机遥控电脑关机方法图文介绍...
- P1598垂直柱状图
- 数独-图片定位分割数字
热门文章
- errorattributes 过时_苹果官方确认:iPhone 5c 已被列为过时产品
- 台式计算机的拆解与安装实验报告,计算机组成实验的实验报告
- c 直接访问mysql_C语言访问MySQL数据库的方法
- java 只有日期的类_【你不知道的事系列】Java中处理日期的类
- 【bzoj1911】[Apio2010]特别行动队 斜率优化dp
- C++primer plus第六版课后编程题答案8.6
- 采集练习(七) php 获得电视节目预告(一周节目)
- 常见的排序算法五——堆排序
- uploadify动态改变参数
- FPGA设计经验总结