1.数据类型转换
进行混合运算的时候,byte,short,char 不会相互转换,都会自动提升为int类型,其它类型进行混合运算的是小的数据类型提升为大的
byte,short,char int--long--float--double
2.字符和字符串运算
ascii码表
任何数据类型用+与字符串项链接都会产生新的字符串
3.char类型
char类型可以存储一个中文汉字,因为java语言采用的是Unicode编码。Unicode编码中的每个字符占用两个字节。中文也是占两个字节
4.运算符:
就是对常量和变量进行操作的符号
分类:算术运算符,赋值运算符,比较(关系或条件)运算符,逻辑运算符,位运算符,三目(元)运算符
算术运算符: +,-,*,/,%,++,--
+号在java中有三种作用,代表正好,做加法运算,字符的连接符
整数相除只能得到整数,如果想得到小数,必须把数据变化为浮点数据型
% 运算符(获取的是除法操作的余数)
当左边的绝对值小于右边绝对值时,结果是左边的数;
当左边的绝对值是右边绝对值的倍数时,结果是0;
当左边的绝对值大于右边绝对值时,结果是余数;
%运算符结果只和左边有关系,和右边没关系;
任何一个正整数%2结果不是0就是1可以用作切换条件
算数运算符++和- -的用法:
a++跟++a的区别
a++:当++在变量名后面时,会先将变量中的值取出做赋值操作,然后再加1。
++a:当++在变量前面时,会自身先加1,然后再赋值。
--和++原理一样
5. 赋值运算符
基本赋值运算符:=
扩展赋值运算符:+=,-=,/=,%=
*+=把左边和右边做加法,然后赋值给左边
6.关系运算符
==,==!=,>,>=,<,<=
7.逻辑运算符
&,|,^,!
&逻辑与: 有false则false;
|逻辑或: 有true则true;
^逻辑异或: 相同为false,不同为true;
!逻辑非:非false则true,非true则false
&&与&的区别
最终结果一样
&&具有短路效果。左边是false,右边不执行
||与|原理一样
||具有短路效果。左边是true,右边就不执行
8.位运算符
&,|,^, ~,>>,>>>,<<
&:有0则0;
|:有1则1;
^:相同则0,不同则1;
~:按位相反
^位异或运算符的特点:一个数据对另一个数据位异或两次,改数本身不变
9.三元运算符
格式:(关系表达式)?表达式1:表达式2;