一:数据类型转换
自动类型转换:
int num=100; 也就是100等于num 如果 double num=100.6 那么必须强制转换
double b=num; 也就是num=b b=100 int b=(int)num
规则1:如果一个操作数为doublc型,则整个表达式可提升为doublc型
规则2:满足自动转换类型的条件 a:两种类型要兼容 ex:数值类型(整型和浮点型)互相兼容
目标类型大于源类型 ex: doublc型 大于 int型
目标类型8 大于 源类型3
强制类型转换
double num=10.6; 浮点型用Double或者float,用float的话 值 后面要加 f
int b=(int)num; 10.6 是浮点型 int代表整型
所以 要把浮点型10.6强制转换整型 在前面加(int)
ex:int b=(int)10.6; int b=5+(int)2.3;
二:运算符
赋值运算符 = 将右边的表达式赋给左边的变量
变量名=表达式 从右往左 赋值 int a=80 80赋值给a
算数运算符 + - * / % ++ -- “% 求余” “/ 求商”
+= -= *= /= %= == “++ 自加” “-- 自减”
num1=5; num1++; 则num1++=6
+= 解释:i+=1 就是 i=i+1 后面都是相同的道理
/= 解释:i/=1 就是 i=i/1
++i: i自增1后 再参与其它运算。
--i: i自减1后 再参与其它运算。
i++: i参与运算后,i的值再自增1。
i--: i参与运算后,i的值再自减1。
System.out.println(num1+"\t"+num2+"\t"+num3+"\t"+num4);
数与数之前的输出 空格要按照 (num1+"\t"+num2);
基本的格式 引号后面加“+”("取余:"+numQ);
=为赋值运算符 ==为等于运算符
逻辑运算符 && 与门 两个操作数都是 true 结果才是true
|| 或门 两个操作数有一个是true 结果就是true
! 非门 操作数为true 结果是false 操作数为flase 结果为true
(三元)条件运算符 ?: 例如: 10?"偶数":"奇数"
条件?表达式1:表达式2 当条件满足所给条件的时候,选中表达式1.
当条件不满足———– 选 2
ex:int =num;
num=5>7?5:7 // 输出数字 5不大于7 直接运行 第二个表达式
// 如果5大于7 直接运行 第一个表达式
算数运算符》关系运算符》赋值运算符
单目运算符包括 ! ~ ++ -- 优先级别高
优先级:罗辑反!>逻辑与&&>逻辑或|| 操作数只能是布尔值!!! 操作结果也是 布尔值!
最高的优先级,小括号
最低的优先级:赋值运算符
优先级顺序 算数运算符》关系运算符》赋值运算符
从右往左结合性的只有 赋值运算符 三目(三元)运算符和单目运算符