运算规则
Java中有两种运算规则:第一种“自动转换”;第二种:强制转换。
自动转换
自动转换的结论就是当容量小的数据类型与容量大的数据类型做运算的时候,结果会自动提升为容量大的数据类型(就跟大鱼吃小鱼一样,大的鱼把小的鱼出来就只会剩下大鱼了)
但是自动转换的前提之包括七种基本类型,不包括boolean类型的。
有三个特别的byte,char,short这三种数据类型进行运算的时候会自动转换为int类型,我感觉可能是他们容量并列,然后被int这个更大的鱼给吃掉了
数据容量大小排行:byte,char,short--->int--->long--->float--->double
强制转换
强制转换需要用到强制转换符号()
强制转换的格式:数据类型 名称 = (数据类型)装换类型名
要注意的是在强制转换的时候会出现精度损失。
例如我要将浮点型转变为整数型,浮点型后面的小数就会丢失
这里说的容量是数据类型的数的范围大小
三元运算符
凡是可以使用到三元运算符的地方,都可以将他转换成if-else,反之,也成立。
格式
(条件表达式)?表达式1:表达式2。
说明
①条件表达式的结果必须为boolean类型,就是他最后结果只能反悔true会做false
②跟你条件表达式的true和false,决定执行表达式1还是表达式2,如果表达式的结果为true,就执行表达式1;如果表达式的结果为false,就执行表达式2
③表达式1和表达式2的类型必须相同,要么就都是基本数据类型(例如int,float,char),要么就都是引用类型(例如String,数组)
④三元运算符是可以进行嵌套使用,就是可以进行套娃(例如:(条件表达式1)? ((条件表达式2)?表达式1:表达式2):((条件表达式3)?表达式3:表达式4));
如果遇到的程序既可以使用三元运算符也可以使用if-else结构,尽量优先使用三元运算符。原因:简洁,执行率高。
++运算
前++和后++的区别:
①单独使用的时候,前++和后++是没有区别的
②混合使用的时候,前++和后++存着巨大区别:
A.如果是前++,那么变量会立马+1,然后拿着结果进行使用。(先加后用)
B.如果是后++,先使用变量当前本来都数据进行使用,然后在进行+1。(先用后加)
前--和后--跟前++和后++的使用都是一样的,只不过--是进行-1操作,++是进行+1操作
逻辑运算符
基本逻辑运算符一共有四种,分支还有两种,一共六种
基本逻辑运算符
逻辑运算符号
①&:当条件运算结果全是true才是true,如果有一个是false那就都是false,就跟中文的与(并且)一样。
②|:当条件运算结果至少有一个true就是true,否则全是false就是false,跟中文的或(或者)一样。
③^:当条件运算结果相同就true,不同就是false,跟中文的异或一样
④!:当条件运算结果为true就是false,当时false就是true,就是中文的取反一样
注意事项
①逻辑运算符通常是用来连接多高布尔值。
②如果两个布尔值进行连接:布尔值A&布尔值B。
③如果多个布尔值进行连接:布尔值A&布尔值B&布尔值C。
④如果是取反运算符,那么只能用于一个布尔值身上:!布尔值
&与|的分支
&的分支为&&
&与&&的相同点:
①&与&&的运算结果相同
②当运算符号左边是true,二则都会执行符合右边的运算
&与&&的不同点:
①当符合左边为false是,&会继续执行右边的运算,&&不会继续执行右边的运算(就相当于电路短路一样)
|的分支‖
|与‖的相同点:
①|与‖的运算结果相同
②当运算符左边为false时,二则都会执行右边的运算
|与‖的不同点:
当符合的左边为true时|会继续执行符合右边的运算,而‖不在执行符合右边的运算
在开发中不推荐使用‖和&&
有什么不对的地方希望大家可以办我指出来,我也才刚学Java,谢谢大家



