常见的运算符
顾名思义就是对字面量或者变量进行操作的符号
| 类别 | 运算符 | 描述 |
|---|---|---|
| 算术运算符 | + - * / % | 加、减、乘、除、取模(余数)例:-10/3=-3;10/-3=3 |
++(前缀/后缀)--(前缀/后缀) | 自增1、自减1 | |
| 赋值运算符 | = | 基本赋值 |
+=, -=, *=, /= ,%=, &=, |=, ^=, <<=, >>=, >>>=(隐含了强制类型转换) | 复合赋值(如 a += b 等价于 a = a + b) | |
| 关系运算符 | == != > < >= <= | 比较相等性、大小关系,返回布尔值 |
| 逻辑运算符 | &&(短路与) ||(短路或) !(非) | 布尔逻辑运算(短路特性:若左边可确定结果,右边不执行) |
&,|(非短路,两边都会计算) | 也可用于布尔逻辑 | |
| 位运算符 | &, | ,^, ~(按位取反) | 对整数的二进制位操作 |
<<(左移) ,>>(带符号右移), >>>(无符号右移) | 移位操作 | |
| 条件运算符 | ? : | 三元运算符(如 x = (a > b) ? a : b) |
列举数字相加的例子讲解Java中的类型转换
数据类型范围排序(从小到大):
byte(8) < short(16) < int(32) < long(64) < float(32) < double(64)
注意:1字节=8个二进制位(括号中的是Java中每种类型的二进制位)
/*
案例: 数字相加 (类型转换)
类型转换分为
1.隐式转换: 小->大 计算机自动完成的
2.强制转换: 大->小 手动书写格式,不推荐
byte -> short(char)参与运算 会自动提升为int
int -> long -> float -> double
*/
public class demo2 {
public static void main(String[] args) {
//1.隐式转换 小->大
int a = 10;
double b = 1.32;
System.out.println(a + b);//11.32
int ii = (int)(a + b);
System.out.println(ii); //11 如果使用double想转为int,小数点后面就丢失了
double num = 100; //100默认是int类型,赋值给double,从小到大,属于隐式转换
System.out.println(num);
//2.强制转换 大->小
//格式: 数据类型 变量名 = (目标类型)变量值;
int i = (int) 3.14;
System.out.println(i); //3 强转可能会造成数据精度的丢失
}
}
三种结构语句
顺序结构
就是按照代码的先后顺序,从上往下依次执行
选择结构
也叫做分支结构,包含if语句和switch语句
if语句
1.// 简单if if (condition) { // 条件为true时执行 } 2.// if-else if (condition) { // 条件为true时执行 } else { // 条件为false时执行 } 3.// if-else if-else if (condition1) { // 条件1为true时执行 } else if (condition2) { // 条件2为true时执行 } else { // 所有条件都为false时执行 }
注:condition必须是true或false,条件必须是布尔表达式
switch语句
switch (expression) {
case value1:
// 当expression等于value1时执行
break;
case value2:
// 当expression等于value2时执行
break;
// 可以有任意数量的case语句
default:
// 当expression不匹配任何case时执行
}
注意:value的值只能是字面量(常量)
循环控制
1. while循环
结构
初始化条件
while (condition) { // 循环体 // 当condition为true时继续执行 }
2. do-while循环
结构:
do {
// 循环体
// 至少执行一次,然后检查条件
} while (condition);
3. for循环
结构:
for (初始化语句; 循环判断语句; 循环控制语句) {
// 循环体
}
// 示例
for (int i = 0; i < 10; i++) {
System.out.println(i);//打印0~9
}
4.三种循环语句的相同点与不同点
for和while
相同点:两者都是先判断后执行
不同点:for循环初始化语句定义的变量,仅在循环中有效,出了循环就不能使用了;while循环初始化语句定义的变量,由于是在循环体外定义的(main方法中),所以循环结束后还可以继续使用
do while和另外两种
不同点:无论条件判断语句结果如何,至少执行一次循环体,先判断,再执行
5.三种循环的死循环格式:
1.for( ; ; ){ .... }
2.while(true){.......}
3.do{......}while(true);
continue和break
二者的用法:
continue: 基于条件控制,仅用于循环语句中, 作用是跳过本次循环继续下一次循环
break: 基于条件控制,可以用于循环语句和switch语句,作用是停止

被折叠的 条评论
为什么被折叠?



