运算符的定义
运算符:对常量或者变量进行操作的符号
1.算数运算符
算数运算符及其作用
这里应该注意“+”运算符也可用作字符串的连接
例如:
public static void main(String[] args){
int a=1, b=2;
System.out.println("a"+"b")//输出结果应为ab,而非值3,(sout代表输出语句,为idea中的快捷键)
}
2.赋值运算符
赋值运算符作用及其说明如下
+=符号的扩展
public static void main(String[] args){
short s = 1;
s+=1;
System.out.println(s);
}
分析: s += 1 逻辑上看作是 s = s + 1 计算结果被提升为int类型,再向short类型赋值时发生错误,因为不能将取值范
围大的类型赋值到取值范围小的类型。但是, s=s+1进行两次运算 , += 是一个运算符,只运算一次,并带有强制转换的特
点,也就是说 s += 1 就是 s = (short)(s + 1) ,因此程序没有问题编译通过,运行结果是2.
3.自增自减运算符
独立运算:
变量在独立运算时, 前++ 和 后++ 没有区别 。
变量 前++ :例如 ++i 。
变量 后++ :例如 i++ 。
混合运算:
和其他变量放在一起, 前++ 和 后++ 就产生了不同。
变量 前++ :变量a自己加1,将加1后的结果赋值给b,也就是说a先计算。a和b的结果都是2。
public static void main(String[] args) {
int a = 1;
int b = ++a;
System.out.println(a);//计算结果是2
System.out.println(b);//计算结果是2
}
变量 后++ :变量a先把自己的值1,赋值给变量b,此时变量b的值就是1,变量a自己再加1。a的结果是
2,b的结果是1。
public static void main(String[] args) {
int a = 1;
int b = a++;
System.out.println(a);//计算结果是2
System.out.println(b);//计算结果是1
}
4.关系运算符
对于“==”符号,如果a和b为引用类型变量时,比较的是两个变量的地址值
5.逻辑运算符
关于短路效果:
短路与,如果左边为false时右边则不再执行(逻辑与则是两边都执行)
短路或,如果左边为true时则右边不再执行,左边为false时右边会执行(逻辑或同样是两边都执行)
6.三元运算符
三元运算符语法格式:
关系表达式 ? 表达式1 : 表达式2;
解释:问号前面的位置是判断的条件,判断结果为boolean型,为true时调用表达式1,为false时调用表达式2。
其逻辑为:如果条件表达式成立或者满足则执行表达式1,否则执行第二个。
案例实现如下:
需求:
有三棵树,高度分别为150cm,175cm,210cm,请用程序实现三棵树中 最高的那颗
public class Test{
public static void main(String[] args) {
//定义变量用于存储三棵树高度
int height1=150, height2=175, height3=210;
//获取前两棵树较高的那个并用temp保存
int temp=height1>height2 ? height1:height2;
//获取最高的那个并保存
int maxhei=temp>height3 ? temp:height3;
System.out.println(maxhei);
}
}