变量、常量和运算符
一、 变量
1、数据类型
2、变量的类型转换
自动类型转换(隐式类型转换)
为防止数据丢失,必须满足两个条件:
- 两种数据类型彼此兼容。
- 目标类型的取值范围打印源类型的取值范围。
byte b=1;
int i=b;//byte类型的变量b转换成int类型,无需特殊声明
强制类型转换(显式类型转换)
格式:
目标类型 变量=(目标类型)值;
例如:
public class Example01{
public static void main(String[] args){
int i=5;
byte b=(byte)i;//强制类型转换
System.out.println(b);
}
}
3、变量的作用域
定义在一对大括号中的变量,其作用域就是该大括号所包含的代码区域,该变量只能在这个区域内使用。
二、常量
三、运算符
1.算数运算符
其中注意自增自减:
a++:先赋值,后自增
++a:先自增,后赋值
自增和自减运算符只能用于操作变量,不能直接用于操作数值或常量! 2++ 、 5-- 等写法都是错误的!
2.赋值运算符
Java中可以通过一条赋值语句对多个变量进行赋值。
int a,b,c;
a=b=c=1;
//不可以直接写成int a=b=c=1;
3、比较运算符
注意:
< 、> 、 >= 、 <= 只支持左右两边操作数是数值类型
== 、 != 两边的操作数既可以是数值类型,也可以是引用类型
4、逻辑运算符
(1)逻辑运算符可以针对结果为布尔值的表达式进行运算,如x>1&&y!=1.
(2)运算符&和 &&都表示与操作,当运算符两边都为true时,其结果才为true,否则结果为false。当运算符&和&&的右边为表达式时,两者在使用上还有一定的区别:
在使用&进行运算时,无论左边为 true 还是 false,右边的表达式都会进行运算;
如果使用&&进行运算,当左边为 false时,则右边的表达式不会进行运算,而是直接返回 false,因此&&被称为短路与。
(3)运算符|和||都表示或操作,当运算符两边的操作数任何一边的值为true时,其结果为true,当两边的值都为false时,其结果才为false。
两者所不同的是,当运算符的左边为true时,右边的表达式不会进行运算,而是直接返回true,因此||被称为短路或。
条件运算符( ? : )
也称为 “三元运算符”。
语法形式:
布尔表达式 ? 表达式1 :表达式2
运算过程:如果布尔表达式的值为 true ,则返回 表达式1 的值,否则返回 表达式2 的值
例如:
int a,b,max;
a=1;b=2;
( a > b ) ? max = a : max = b ;
System.out.println(max);
//因为1<2,布尔表达式为false,执行max=b语句,输出max为2;
5、运算符的优先级
1 括号 ()
2 正、负号 +、-
3 一元运算符 ++、--、~、!
4 乘除 *、/、%
5 加减 +、-
6 移位运算 >>、<<、>>>
7 比较大小 >、<、>=、<=
8 比较是否相等 == 、!=
9 按位与运算 &
10 按位异或运算 ^
11 按位或运算 |
12 逻辑与运算 &&
13 逻辑或运算 ||
14 三元运算符 ?:
15 赋值运算 =*=、/=、%=、+=、-=、<<=、>>=、>>>=、&=、^=、|=