---------------------- android培训、java培训、期待与您交流! ----------------------
一,数据参与运算
A:整型,字符型,浮点型的数据在混合运算中相互转换,转换时遵循以下原则
**容量小的类型与容量大的类型进行计算,默认转换为容量大的数据类型;数据类型按容量大小排序为:
***byte,short,char->int->long->float->double
***byte 和 short不能和char之间互相转换,byte可以直接赋值给short,但是
他们三者在计算时首先会转换为int类型
**容量大的数据类型转换为容量小的数据类型时,要加上强制转换符,
但可能造成精度降低或溢出;使用时要格外注意。
**有多种类型的数据混合运算时,系统首先自动的将所有数据转换成容量最大的那一种数据类型,
然后再进行计算。
B:强制转换符
**格式:(数据类型)(要被转换的数据) byte b = (byte)(130);
C:字符型参与运算
**首先会去找对应字符的unicode码值。然后运算。
**char 类型取值范围0~2(16)-1,我就有了一个问题?能不能把整数直接赋值给char类型的变量
D:布尔型参与运算char ch = 10;byte b = 10;char ch = '';
**不能参与运算
E:字符串参与运算
**它是和参与运算的数据相连接组成了一个新的字符串。
**因为有了这个特性,所以我们求出了我们名字的字符值就可以在内存中这样输出
**System.out.println(""+'\u51AF'+'\u4F73');输出的结果就是我的名字
二,算术运算符 + , - , * , / , % , ++ , --
A:%
**当左边的绝对值小于右边:结果是左边
**当左边的绝对值等于右边或者是右边倍数的时候:结果是0
**当左边的绝对值大于右边:结果是余数,符号取决与左边的的符号
**取余的正负号取决于左边,右边忽略不记
**用途:任意正整数%2 结果是要么0,要么1。用于切换条件
B:++,--
int a = 3;
int b = a++;
System.out.println(a);
**递增,递减运算符。就是加1或者减1
**单独存在,放在操作数的前面或者后面,结果一样
**参与运算时:
***放在操作数的前面,先自身加或者减1,然后再参与运算
***放在操作数的后面,先参与运算,然后再自身加或者减1
C:+
**作为数据的符号(正号)
**做加法运算
**字符串连接符"5 + 5 =" + (5 + 5);
三,赋值运算符
A:=:赋值运算符 把右边的值赋给左边
**举例:int x = 3; 把3赋给int类型变量x
int a,b,c;
a = b = c = 5;
B:+=:加赋值运算符 把左边和右边的和赋给左边
**举例:int x = 3; x+=2;等同于 x = x + 2;
**问个问题 byte b = 5;
b = b + 2;
b += 2;//(byte)(5+127);
System.out.println(b);会不会报错?
**+=运算符在给b赋值时,自动完成了强转操作。
四,比较运算符
A:==,!=,>,<,>=,<=
B:比较运算符的结果都是boolean型,也就是要么是true,要么是false。
五,逻辑与运算符
& 左右两边同时为true,结果为true。
| 左右两边只要有一个结果是true,结果为true。
^左右两边相同,结果为false。
! 非
短路与:
&:左边无论什么结果,右边都执行。
&&:左边为false,右边不执行,结果为false。
短路或:
|:左边无论什么结果,右边都执行。
||:左边为true,右边不执行,结果为true。
---------------------- android培训、java培训、期待与您交流! ----------------------