一、类型转换
类型转换方式:
1、自动类型转换:容量小的类型自动转换为容量大的数据类型。
有多种类型的数据混合运算时,系统首先自动将所有数据转换成容量最大的那种数据类型,然后再进行计算。
- byte、short、char之间不会相互转换,他们三者在计算时首先转换为int类型。
- 当把任何基本类型的值和字符串(String)进行连接运算时(+),基本类型的值将自动转化为字符串类型。
2、强制类型转换(自动类型转换的逆过程):将容量大的数据类型转换为容量小的数据类型。
强制转换符:( )
- 字符串不能直接转换成基本类型。
- boolean类型不可以转换为其它的数据类型。
语法:数据类型 变量1 = (数据类型) 变量2;
例如:
int a = 32;
char b = (char) a;
二、变量(Java在使用变量之前,变量一定要有值)
声明变量与赋值:int a = 5;
变量的声明与赋值可以分开:int a;//声明变量 a = 5;//赋值
声明多个变量:int i,j,k;
在变量的使用过程中会涉及到变量的作用域和初始化,根据作用域范围可以将变量分为两种:
- 局部变量
- 成员变量
局部变量被定义在某个程序块("{“和”}"包含起来的代码块)内或方法体内,局部变量的作用范围有限,只在相应的程序块内或方法体内有限,超出程序块或方法体则这些变量将无效。三
三、常量
常量是指一但赋值之后其值不能再改变的变量。Java语言中,使用final关键字来定义常量。
语法:final 数据类型 变量名 = 初始值;
例如:
final double PI = 3.1416;
final boolean IS_MAN = true;
- 常量只能有一次初始化。
- 常量名如果采用多个单词,单词之间以“ _”分隔。
四、运算符与表达式
1、运算符
运算符按数目可分为:
单目(一元)运算符:有一个操作数; i++
双目(二元)运算符:有两个操作数; a+b
三目(三元)运算符:有三个操作数; x>y?a:b
(1)算术运算符:+、-、*、/、%、+ +、- -
(2)关系运算符:>、>=、<、<=、==、!=
(3)布尔运算符:!、&&、||
(4)位运算符:>>、<<、>>>、&、|、^、~
(5)赋值运算符:=、Op=
(6)条件运算符:?:
(7)其它运算符:下标[]、实例instanceof、内存分配new、强制类型转换(数据类型)、方法调用()
2、运算符优先级
由高到低:分隔符(. [] () {} , ;)、一元运算(+ + - - ! ~)、强制类型转换((type))、乘 除 取余( * / %)、加 减(+ -)、移位运算符(>> >>> <<)、关系大小运算符(> < >= <=)、等价运算符( == !=)、按位与(&)、按位异或(^)、按位或(|)、逻辑与(&&)、逻辑或(||)、三元运算符(?:)、赋值运算符(= += -= *= /= %= ^= &= |= <<= >>= >>>=)