【一】运算符——java程序从运算符实现对数据的处理
1.算术运算符
- 运算结果可能超出数据类型的范围
- 整数相除结果为整数
- 除数为零的情况
- 余数的符号和被除数一致
- 自增与自减
- 前缀与后缀的区别
- 自增和自减隐含着强制类型转换
- 表达式的数据类型
- 算术表达式就是用算数运算符连接起来的式子
2.比较运算符(关系运算符)
- 关系运算的结果是一个布尔值
- 比较运算符的等于使用两个等号
- 变量进行比较是比较两个变量的值
- 字符串的比较
- +号连接字符串
- 直接复制字符串字面量
- 使用String类的构造方法创建字符串对象,会在堆中分配一块存储空间
- 如果想比较每个字符是否相等可以使用equals()方法
xx.equals(xxx);
- String 是一个类,是一种引用类型
3.逻辑运算符
- &逻辑与
- |逻辑或
- ^逻辑非
- &&短路与
- ||短路或
4.赋值运算符
- 变量 = 表达式(把表达式的值赋值给左侧的变量,前后数据类型要兼容)
- 复合赋值隐含着强制类型转换
5.条件运算符
- 条件 ? 表达式1 : 表达式2
- 如果条件成立则整个表达式的值就是表达式1的值
- 如果条件不成立则整个表达式的值就是表达式2的值
6.字符串连接运算符
-
使用 + 进行字符串的连接
-
先把基本类型数据转换成字符串再进行连接
- 转换可以考虑使用空串
""+
- 转换可以考虑使用空串
7.位运算符
7.1.&
- 按位与
- 两个操作数都是1,结果才是1
7.2.|
- 按位或
- 两个操作数一个是1,结果就是1
7.3.^
- 按位异或
- 两个操作数相同,结果是0,两个操作数不同,结果为1
7.4.~
- 按位反
- 操作数为1,结果为0,操作数为0,结果为1
7.5.<<
- 左移
- 右侧补0
7.6.>>
- 右移
- 左侧补0
7.7>>>
- 无符号右移
- 左侧补0
7.8.【注】
-
-
如果
&|^
两侧为布尔值,就是逻辑操作-
如果两侧为整数就是按位操作
-
<<<
不是运算符 -
位运算符是对整数的二进制位进行运算
-
对于正整数交换可以用以下代码实现
m ^= n ; // 类似于 m = m ^ n ; n ^= m ; // 类似于 n = n ^ m ; m ^= n ; // 类似于 m = m ^ n ;
-
-
-
【二】流程控制
1.if-else
if(布尔表达式){
//如果布尔表达式的值为true
}else{
//如果布尔表达式的值为false
}
3.while
-
对于 while 语句而言,如果不满足条件,则不能进入循环。但有时候我们需要即使不满足条件,也至少执行一次。
do…while 循环和 while 循环相似,不同的是,do…while 循环至少会执行一次。
while( 布尔表达式 ) {
//循环内容
}
4.do-while(与while类似)
5.switch-case
- switch case 语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支。
switch(expression){
case value :
//语句
break; //可选
case value :
//语句
break; //可选
//你可以有任意数量的case语句
default : //可选
//语句
}
6.break
-
break 主要用在循环语句或者 switch 语句中,用来跳出整个语句块。
break 跳出最里层的循环,并且继续执行该循环下面的语句。
7.continue
-
continue 适用于任何循环控制结构中。作用是让程序立刻跳转到下一次循环的迭代。
在 for 循环中,continue 语句使程序立即跳转到更新语句。
在 while 或者 do…while 循环中,程序立即跳转到布尔表达式的判断语句。
8.for
- for循环执行的次数是在执行前就确定的
for(初始化; 布尔表达式; 更新) {
//代码语句
}