本篇主要介绍JAVA的运算符、循环结构以及条件结构。
1、JAVA运算符
计算机的最基本用途之一就是执行数学运算,作为一门计算机语言的Java也提供了一套丰富的运算符来操纵变量。
JAVA运算符可以大致概括为几类:算术运算符、关系运算符、位运算符、逻辑运算符、赋值运算符、其他运算符。
下面通过表格的形式展示:
1.1算数运算符
操作符 | 描述 |
---|---|
+ | 加法 - 相加运算符两侧的值 |
- | 减法 - 左操作数减去右操作数 |
* | 乘法 - 相乘操作符两侧的值 |
/ | 除法 - 左操作数除以右操作数 |
% | 取模 - 左操作数除以右操作数的余数 |
++ | 自增 - 操作数的值增加1 |
- - | 自减 - 操作数的值减少1 |
1.2关系运算符
操作符 | 描述 |
---|---|
== | 查看两个操作数的值是否相等,如果相等则条件为真。 |
!= | 查看如果两个操作数的值是否相等,如果值不相等则条件为真。 |
>= | 检查左操作数的值是否大于或等于右操作数的值,如果是那么条件为真。 |
<= | 检查左操作数的值是否小于或等于右操作数的值,如果是那么条件为真。 |
> | 检查左操作数的值是否大于右操作数的值,如果是那么条件为真。 |
< | 检查左操作数的值是否小于右操作数的值,如果是那么条件为真。 |
1.3位运算符
操作符 | 描述 |
---|---|
& | 按位与操作符,当且仅当两个操作数的某一位都非0时候结果的该位才为1。 |
| | 按位或操作符,只要两个操作数的某一位有一个非0时候结果的该位就为1。 |
^ | 按位异或操作符,两个操作数的某一位不相同时候结果的该位就为1。 |
~ | 按位补运算符翻转操作数的每一位。 |
<< | 按位左移运算符。左操作数按位左移右操作数指定的位数。 |
>> | 按位左移运算符。左操作数按位左移右操作数指定的位数。 |
>>> | 按位右移补零操作符。左操作数的值按右操作数指定的位数右移,移动得到的空位以零填充。 |
1.4逻辑运算符
操作符 | 描述 |
---|---|
&& | 称为逻辑与运算符。当且仅当两个操作数都为真,条件才为真。 |
|| | 称为逻辑或操作符。如果任何两个操作数任何一个为真,条件为真。 |
! | 称为逻辑非运算符。用来反转操作数的逻辑状态。如果条件为true,则逻辑非运算符将得到false。 |
1.5赋值运算符
操作符 | 描述 | 例子 |
---|---|---|
= | 简单的赋值运算符,将右操作数的值赋给左侧操作数 | C = A + B将把A + B得到的值赋给C |
+ = | 加和赋值操作符,它把左操作数和右操作数相加赋值给左操作数 | C + = A等价于C = C + A |
- = | 减和赋值操作符,它把左操作数和右操作数相减赋值给左操作数 | C - = A等价于C = C -A |
* = | 乘和赋值操作符,它把左操作数和右操作数相乘赋值给左操作数 | C * = A等价于C = C * A |
/ = | 除和赋值操作符,它把左操作数和右操作数相除赋值给左操作数 | C / = A等价于C = C / A |
(%)= | 取模和赋值操作符,它把左操作数和右操作数取模后赋值给左操作数 | C%= A等价于C = C%A |
<< = | 左移位赋值运算符 | C << = 2等价于C = C << 2 |
>> = | 右移位赋值运算符 | C >> = 2等价于C = C >> 2 |
&= | 按位与赋值运算符 | C&= 2等价于C = C&2 |
^ = | 按位异或赋值操作符 | C ^ = 2等价于C = C ^ 2 |
|= | 按位或赋值操作符 | C = 2等价于C = C |2 |
1.6条件运算符
条件运算符(?:)也被称为三元运算符。该运算符有3个操作数,并且需要判断布尔表达式的值。该运算符的主要是决定哪个值应该赋值给变量。
本部分内容主要来源于https://www.w3cschool.cn/java/java-operators.html
2、循环结构
Java几种常用的循环如下:
2.1、for循环(已知循环多少次)
使用方法:先判断,在执行;如果循环次数确定,那么一般用for循环
2.2、while循环
使用方法:先判断,在执行;当条件表达式成立时,则执行循环体,然后在进行判断,如果条件不成立时,有可能不执行。一般用于循环次数不确定的循环
2.3、do…while循环
使用方法:先执行,后判断;一般用于循环次数不确定的循环,与while循环不同的是先执行后判断,至少会执行一次。
2.4、switch循环
使用方法:一般用来做分支的,或者进行选择
JAVA跳出循环的关键字如下:
2.5、break关键字
break主要用在循环语句或者switch语句中,用来跳出整个语句块。
break跳出最里层的循环,并且继续执行该循环下面的语句。
2.6、continue关键字
continue适用于任何循环控制结构中。作用是让程序立刻跳转到下一次循环的迭代。
在for循环中,continue语句使程序立即跳转到更新语句。
在while或者do…while循环中,程序立即跳转到布尔表达式的判断语句。
3、分支结构
分支结构也就是条件结构,我们这里介绍if-else语句和🎮switch语句:
3.1、if-else语句
3.1.1、if语句:一个 if 语句包含一个布尔表达式和一条或多条语句。
if(布尔表达式){//布尔表达式结果为true执行的代码块
}
3.1.2、if-else语句:if 语句后面可以跟 else 语句,当 if 语句的布尔表达式值为 false 时,else 语句块会被执行。
if(布尔表达式 1){如果布尔表达式 1的值为true执行代码if(布尔表达式 2){如果布尔表达式 2的值为true执行代码}
}
3.1.3、嵌套的if-else语句:
if后可以跟无限个else if,但最多只能有一个else语句,并且其要放在所有的else if语句之后。
一旦if或else if语句的其中一个的布尔表达式的结果为true,其余的else if以及else语句全部跳过执行。
if(布尔表达式 1){如果布尔表达式 1的值为true执行代码if(布尔表达式 2){如果布尔表达式 2的值为true执行代码}
}
3.2、switch语句
switch case 语句有如下规则:
- switch 语句可以拥有多个 case 语句。每个 case 后面跟一个要比较的值和冒号。
- case 语句中的值的数据类型必须与变量的数据类型相同,而且只能是常量或者字 面常量。
- 当变量的值与 case 语句的值相等时,那么 case 语句之后的语句开始执行,直到 break 语句出现才会跳出 switch 语句。
- switch 语句中的变量类型可以是: byte、short、int 或者 char。从 Java SE 7 开 始,switch
支持字符串 String 类型了,同时 case 标签必须为字符串常量或字面 量。 - 当遇到 break 语句时,switch 语句终止。程序跳转到 switch 语句后面的语句执行。case 语句不必须要包含 break
语句。如果没有 break 语句出现,程序会继续执行下一条 case 语句,直到出现 break 语句。 - switch 语句可以包含一个 default 分支,该分支一般是 switch 语句的最后一个分
支(可以在任何位置,但一般在最后一个)。default 在没有 case 语句的值和变 量值相等的时候执行。default 分支不需要
break 语句。(如果case语句中没有break 语句,程序会一直执行到default 分支)
switch(expression){case value ://语句break; //可选case value ://语句break; //可选//你可以有任意数量的case语句default : //可选//语句
}