Java基础---运算符及选择、循环结构
前言
本文将介绍Java的运算符类型及选择、循环结构相关语法
运算符
算数运算符
运算符 | 描述 |
---|---|
+⠀-⠀*⠀/⠀% | 加、减、乘、除、取模(两数相除取余数) |
++⠀⠀-- – | 自增(+1)、自减(-1) |
““⠀+⠀”” | 连接字符串 |
比较运算符
运算符 | 描述 |
---|---|
< | 是否小于 |
> | 是否大于 |
<= | 是否小于或等于 |
>= | 是否大于或等于 |
== | 是否相等 |
!= | 是否不等 |
逻辑运算符
运算符 | 描述 |
---|---|
&& | 逻辑与,支持短路运算 |
|| | 逻辑或,支持短路运算 |
! | 逻辑非 |
短路运算:当
false && xxx
或true || xxx
时,表达式xxx
均不会被执行。
位运算符
运算符 | 描述 |
---|---|
& | 按位与 |
| | 按位或 |
^ | 按位异或 |
~ | 按位取反 |
<< | 按位左移,低位补0 |
>> | 按位右移,高位补符号位 0(正数) 或1(负数) |
>>> | 按位右移,高位补0 |
赋值运算符
运算符 | 描述 |
---|---|
= | 将右边表达式结果赋给左边 |
+=⠀、-=⠀、*=⠀、/=⠀、%= | a⠀x =⠀b 相当于 x⠀=⠀a⠀⠀x ⠀⠀b |
<<=⠀、>>=⠀、&=⠀、|=⠀、^=⠀、~= | a⠀x =⠀b 相当于 x⠀=⠀a⠀⠀x ⠀⠀b |
三元运算符
格式:数据类型 变量名称 = 判断条件 ? 表达式A : 表达式B;
等价于
if(判断条件){
数据类型 变量名称 = 表达式A;
}else{
数据类型 变量名称 = 表达式B;
}
instanceof 运算符
该运算符用于操作对象实例
,检查该对象是否是一个特定类型(类
类型或接口
类型)
使用格式:(对象实例名) instanceof (class或interface类型)
例如:
String name = "James";
boolean result = name instanceof String;
// 由于 name 是 String 类型,所以返回真
运算符优先级
一般而言,单目
运算符优先级较高
,赋值
运算符优先级较低
。
算术
运算符优先级较高
,关系
和逻辑
运算符优先级较低
。
多数运算符具有左结合性
,单目
运算符、三目
运算符、赋值
运算符具有右结合性
优先级 | 运算符 | 结合性 |
---|---|---|
1 | () 、[] 、{} | –> |
2 | ! 、+ 、- 、~ 、++ 、- - | <– |
3 | * 、/ 、% | –> |
4 | + 、- | –> |
5 | << 、>> 、>>> | –> |
6 | < 、<= 、> 、>= 、 instanceof | –> |
7 | == 、!= | –> |
8 | & | –> |
9 | ^ | –> |
10 | | | –> |
11 | && | –> |
12 | || | –> |
13 | ? : | <– |
14 | = 、 += 、-= 、*= 、/= 、%= 、 &= 、|= 、^= 、~= 、 <<= 、>>= 、>>>= | <– |
注:使用优先级为 1 的
小括号
可以改变
其他运算符的优先级
选择语句
if语句
if(布尔表达式){
//如果布尔表达式为true将执行的语句
}
if…else语句
if(布尔表达式){
//如果布尔表达式的值为true将执行的语句
}else{
//如果布尔表达式的值为false将执行的语句
}
if…else if…else语句
if(布尔表达式 1){
//如果布尔表达式 1的值为true执行代码
}else if(布尔表达式 2){
//如果布尔表达式 2的值为true执行代码
}else if(布尔表达式 3){
//如果布尔表达式 3的值为true执行代码
}else {
//如果以上布尔表达式都不为true执行代码
}
注:表达式的判断
存在先后顺序
,若前面的成立,后面的将不会被执行
switch case 语句
- 用于判断的
变量类型
可以是:byte
、short
、int
或者char
, 从 Java SE 7 开始,switch 支持String
类型 case 语句
中的值的数据类型
必须与变量的数据类型相同
,而且只能是常量或者字面常量
case 语句
执行后直至遇到break
语句才会终止 , 若没有break 语句
出现,程序会继续执行下一条case 语句
,直到出现break 语句
switch 语句
可以包含一个default 分支
, 一般放在语句末尾
, 它将在没有case 语句
的值和变量值相等的时候执行 , 且不需要添加break 语句
switch(expression){
case value :
//语句
break; //可选
case value :
//语句
break; //可选
case value :
//语句
break; //可选
//可以有任意数量的case语句
default : //可选
//语句
}
循环语句
while循环
//格式:
while(布尔表达式){
//循环内容
}
//例如:
int x = 1;
while(x < 5){
System.out.println("value of x : " + x);
x++;
}
//结果:
value of x : 1
value of x : 2
value of x : 3
value of x : 4
do…while循环
//格式:
do {
//代码语句,至少执行一次
}while(布尔表达式);
//例如:
int x = 1;
do{
System.out.println("value of x : " + x);
x++;
}while(x < 5);
//结果:
value of x : 1
value of x : 2
value of x : 3
value of x : 4
for循环
//格式:
for(初始化; 布尔表达式; 更新) {
//代码语句
}
//例如:
for(int x = 1; x < 5; x++){
System.out.println("value of x : " + x);
}
//结果:
value of x : 1
value of x : 2
value of x : 3
value of x : 4
增强for循环
//格式:
for(声明语句 : 表达式) {
//代码语句
}
//例如:
int [] numbers = {10, 20, 30, 40, 50};
for(int x : numbers){
System.out.println("numbers : " + x);
}
//结果:
10
20
30
40
50
break关键字
break 主要用在
循环语句
或者switch
语句中,用来跳出整个语句块
break 跳出
最里层
的循环,并且继续执行
该循环下面的
语句。
public class demo {
public static void main(String[] args) {
int [] numbers = {10, 20, 30, 40, 50};
for(int x : numbers) {
// x 等于 30 时跳出循环
if(x == 30) {
break;
}
System.out.println(x);
}
}
}
//结果:
10
20
continue关键字
continue 适用于任何循环控制结构中。作用是让程序立刻跳转到下一次循环的迭代
在 for 循环中,continue 语句使程序立即跳转到更新语句
在 while 或者 do…while 循环中,程序立即跳转到布尔表达式的判断语句
public class demo {
public static void main(String[] args) {
int [] numbers = {10, 20, 30, 40, 50};
for(int x : numbers) {
// x 等于 30 时直接进入下一循环
if(x == 30) {
continue;
}
System.out.println(x);
}
}
}
//结果:
10
20
40
50
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 XiaoJun的个人笔记!
评论