- [[强制转换]] - [[算术运算符]] - [[关系运算符]] - [[自增运算符]] - [[复合赋值运算符]] - [[进制转换]] - - - - - - 总结 collapsed:: true - 隐式转换 - 小于int类型变量在计算式会自动提升为int类型 - Java在计算数字时会自动检测值是否超出范围 - 强制转换 - 小容量类型装超出范围的变量时要用到强制转换 - ```java int a=200; byte b = (byte) a; ``` - 强制转换讯在丢失精度,数据不准确的风险 - double强制转换int可去掉小数点 - 算数运算符 - 共5个 + - * / % - 参与运算表达式表示字符串拼接 - 关系运算符 - ((6243f2ea-e08c-4ec2-850d-3ecf6e67889a)) - 关系运算符结果为布尔值 - 键盘录入 ```java Scanner scanner = new Scanner(System.in); System.out.println("请输入字符串:"); String str = scanner.nextLine(); System.out.println("请输入整数:"); int num = scanner.nextInt(); ``` - 自增运算符 - i++和++i单独使用时效果一样 - 嵌入至其它表达式中时: i++ 要先用i的值计算,然后自己再+1 ++i 要i自己先加1,然后在进行其它计算 - i--和--i为自减运算符 - 运算符优先级 - 复合赋值运算符 - 赋值运算符 = 将 = 右边的值赋给左边的变量 - 复合赋值运算符 += -= *= /= %= <<= >>= >>>= - num += 1 相当于num = num +1 - 进制转换 - 2进制,8进制,10进制,16进制 - 10进制转2进制 - 1byte有8个二进制位,从右到左位数变高,最左为符号位,0为正,1为负 - 原码,反码,补码 - 2进制转10进制