我是最棒的!基础不牢,地动山摇!
隐式转换
整型默认都是int 浮点型默认都是double 小转大,都会隐式自动转换 特殊的是 如果整数范围在byte、short、char内,int类型也会隐式地转换。 例如 byte a = 1; //1为int型,隐式转换为byte型
强制转换
大转小 需要进行强制类型转换,溢出的数据会进行循环进位直到装下为止 特殊的就是int型与byte,short,char型的隐式转换(前提条件是为确定的值,变量不行) 比如int a = 3; byte b = (byte)a ;//此时需要强制转换 精度大小 byte < short ,char < int < long < float < double 参与计算时,都比int小的都隐式提升为int 有比int大的数据类型,则转换为大的那个数据类型 例如int a = 3; float f = 2.0f; 输出a+f的值为float类型
算术运算
/* + - * / %(模,取余) ++ -- i++与++i的区别 i++: 1.先取出i的值,赋给i++这个整体 2.i自增1 ++i: 1.i先自增1 2.将自增后的i值赋给++i这个整体 */赋值运算
/* = += -= *= /= %= */比较运算
/* > < >= <= != 不等于 == 恒等于 */逻辑运算
/* 优先顺序 非与或 ! > &&(&) > ||(|) 单或单与和双或双与的区别 双的只能参与逻辑运算,有短路行为 单的能参与逻辑运算也能参与位运算,无短路行为 */三目运算
/* 三目运算的原理与选择语句相似 例如 a > b ? c : d a > b为真 执行 c 否则 执行 d */