-
Java连载15-boolean类型&类型转换&++运算符
一、boolean类型
1.说明:
(1)在java语言中,boolean类型只有两个值:true、false,没有其他的值。在C语言中,是有0代表false和1代表true的
(2)在底层存储的时候boolean类型占用1个字节,因为实际存储的时候false底层是0,true是1
(3)布尔类型在实际开发过程中是非常重要的,经常使用在逻辑运算和条件控制语句中。
public class d15_{ public static void main(String[] args){ boolean i1 = true; if(i1){ System.out.println("我被正确数出了"); }else{ System.out.println("我被错误输出了"); } } }
二、数据类型之间的类型转换
1.转换规则
(1)八种基本数据类型之中除了boolean类型之外其他七种可以互相转换
(2)小容量向大容量转换。称为自动转换类型。容量从大到小排序:
byte<short=char<int<long<float<double
注意:任何浮点类型不管占用多少字符,都比整数类型容量大。char和short可以表示的种类数量相同,但是char可以取到更大的正整数。
(3)大容量向小容量转换,称为强制类型转换,需要加上强制类型转换符,程序才能编译通过,但是运行阶段可能会损失精度,所以谨慎使用
(4)当整数字面值没有超出byte,short,chat的取值范围时,可以直接赋值给byte,short,char
(5)byte,short,char混合运算的时候,各自先转换为int类型再做运算
(6)多种数据类型运算的时候,先转换为容量最大的那种类型再进行运算。
三、练习
注意:我们不能把最后得到的结果在程序之前考虑进去,我们程序是需要先编译在运行,我们算出的结果是运行后的,我们要先考虑编译阶段的语法语义的正确性。
byte a = 10;//编译通过,因为没有超出byte的范围 int b = 3; //byte c = a/b;//编译不通过,因为得到的值为int类型,必须强制转换才行,修改方式如下 byte c = (byte)(a/b);
四、运算符
1.算术运算符(+、-、*、/、%(求余数或称为取模)、++(自加1)、--(自减1))
2.注意:一个表达式中有多个运算符,运算符有优先级,不确定的加上小括号,优先级得到提升,没有必要去记忆运算符的优先级
3.关于++运算符(以下以++为例,那么--也是这样就不错重复讲解了)
小结:++运算符可以出现在变量前面,也可以出现在变量的后面,无论是变量的前面还是变量的后面,只要++运算符一结束,该变量的值就会自动加1
int k =10; k ++; System.out.println(k); ++ k; System.out.println(k);
下面我们对他们之间的区别进行讨论
(1)对于++出现变量的后面
int a1 = 10; int a2 = a1 ++; System.out.println(a1); System.out.println(a2);
从上面的例子可以看出:规则:先做赋值运算,再对变量中保存的值进行加1
(2)对于++出现再变量的前面
int a1 = 10; int a2 = ++a1; System.out.println(a1); System.out.println(a2);
规则:先进行自加1运算,然后进行赋值操作。
五、源码:
d15_type_transform_and_arithmetic_operator.java
地址:https://github.com/ruigege66/Java/blob/master/d15_type_transform_and_arithmetic_operator.java
出 处:https://www.cnblogs.com/ruigege0000/p/11337428.html