- 计算结果的数据类型,与最大类型保持一致
- Byte 、short、char 三种比int小的类型,运算时会先自动提升成int再参与运算
- 现象,整数溢出问题,一旦溢出,数据就错了
- 浮点数运算不精确的问题--提供精确运算解决方案
- 浮点数的特殊值infinity NAN
1.运算符
- 算术运算符 (+ - * / ++ -- %)
- ++; 表示给当前变量的值+1 --;表示给当前变量减-1
- 普通的四则运算(* / - +):不能改变本身的值。
- 前缀式: ++a ,--a, 先改变变量的值,再使用。
- 后缀式: a++,a--,先用值,后改变变量的值
- 取余 % --取余数,结果整数,余数为零();
- 比较运算符( > < >= <= == !=)
- == ---->比较两个操作数是否相等,如果相等结果为true,如果不相等为false;
- != -----> 比较两个操作数是否不相等,如果不等结果为true,如果不相等结果为true;
- 逻辑运算符(& && | || + !)
- & 为逻辑与--->如果结果相同为true,结果就是true;
- && 短路与--->与逻辑与相同,只是增加的短路功能,但只要一边结果为false,就停止执 行,结果为false;
- | 逻辑或 ---> 两边只要一个结果为true,结果就为true;
- || 短路或 ---->与逻辑或原理相同,只是增加的短路功能,只要有一边为true,就停止运行,结果就为true;
注意:双与和双或提高性能,但不是每一个都能短路。
- + ---->字符窜链接
- !--->非,非真是假,非假是真,(反着来)
- 三目运算(? :)
- 1的位置代表了一个表达式,如果表达式结果为true,则此三目运算符的结果为2位置的值。
- 三目运算符运算:1是真取2,1是假取3。
- 位运算(^)
- 赋值运算符(= += -= *= /=)
- 复合的赋值运算:a+=3<==>a=a+3;
- 简单的赋值运算: int a=1 ,就是把1赋给a存储;