运算符

运算符

1.算数运算符

1.1运算符和表达式

  • 运算符:对常量或者变量进行操作的符号
  • 表达式:用运算符爸常量或者变量连接起来符合Java语法的式子就可以称为表达式

​ 不同运算符连接的表达式体现的是不同类型的表达式。

  • 举例说明:int a = 10;

​ int b = 20;

​ int c = a + b;

+:是运算符,并且是算数运算符

a +b:是表达式,由于+是算术运算符,所以这个表达式叫算术表达式。

1.2算数运算符

符号作用说明
+参考小学一年级数学课本
-参考小学一年级数学课本
*参考小学二年级数学课本
/整数/整数只会得到整数,若果想要得到小数,必须要有浮点数的参与
%取余获取的是两个数据做除法的余数

1.3字符的“+”操作

拿字符在计算机底层对应的数值来进行计算的

  • 算数表达式中包含多个基本数据类型的值的时候,整个算术表达式的类型会自动进行提升。

提升规则:

  • byte类型,short类型和char类型被提升到int类型

  • 整个表达式的类型自动提升到表达式中最高级操作同样的类型

    等级顺序:byte,short,char—>int—>long—>float—>double

1.4字符串的“+”操作

  • 当“+”操作出现字符串时,这个“+”是字符串连接符,而不是算数运算

范例:

public static void main(String[] args) {
        System.out.println("大源源"+"孔也吉娜");
        System.out.println("大源源孔也吉娜"+666);
}

运行结果为:孙宗源孔也吉娜

​ 孙宗源孔也吉娜666

  • 在“+”操作中,如果出现了字符串,就是连接运算符,否则就是算数运算。当连续进行“+”操作时,从左到右逐个执行。

范例:

public static void main(String[] args) {
        System.out.println(1 + 99 + "年良人");
    }

运行结果为:100年良人

2.赋值运算符

2.1赋值运算符

符号作用说明
=赋值a = 10,将10赋值给变量a
+=加后赋值a += b,将a+b的值给a
-=减后赋值a -= b,将a-b的值给a
*=乘后赋值a*=b,将a✖️b的值给a
/=除后赋值a /= b,将a➗b的值给a
%=取余后赋值a%=b,将a➗b的余数给a

注意事项:

扩展的赋值运算符隐含了强制类型转换。

3.自增自减运算符

3.1自增自减运算符

符号作用说明
++自增变量的值+1
自减变量的值-1

注意事项:

  • ++和–既可以放在变量的后面,也可以放在变量的前面

  • 单独使用的时候,++和–无论是放在前面还是后面,结果是一样的。

  • 参与操作的时候,如果放在变量的后边,先拿变量参与操作,后拿变量做++或者–。

    参与操作的时候,如果放在变量的前面,先拿变量做++或者–,后拿变量参与与操作。

4.关系运算符

4.1关系运算符

符号说明
==a==b,判断a和b的值是否相等,成立为true,不成立false
!=a!=b,判断a和b的值是否不相等,成立为true,不成立为false
>a>b,判断a是否大于b,成立为true,不成立为false
>=a>=b,判断a是否大于等于b,成立为true,不成立为false
<a<b,判断a是否小于b,成立为true,不成立为false
<=a<=b,判断a是否小于等于b,成立为true,不成立为false

注意事项:

关系运算符的结果都是boolean类型,要么是true,要么是false。

千万不要把“==”误写成“=”

5.逻辑运算符

5.1逻辑运算符概述

在数学中,一个数据x,大于3,小于6,我们可以这样来表示:3<x<6。

在Java中,需要把上面的式子先进行拆解,再进行合作表达。

  • 拆解为:x>3和x<6
  • 合并后:x>3&&x<6

&&其实是一个逻辑运算符。

我们可以这样说,逻辑运算符,是用来连接关系表达式的运算符。

当然,逻辑运算符也可以直接连接布尔类型的常量或者变量。

5.2逻辑运算符

符号作用说明
&逻辑与a&b,a和b都是true,结果为true,否则为false
|逻辑或a|b,a和b都是false,结果为false,否则为true
^逻辑异或a^b,a和b结果不同为true,相同为false
逻辑非!a,结果和a的结果正好相反

5.3短路逻辑运算符

符号作用说明
&&短路与作用和&相同,但是又短路效果
||短路或作用和|形同,但是有短路效果

注意事项:

  • 逻辑与&,无论左边真假,右边都要执行

​ 短路与&&,如果左边为真,右边执行;如果左边为假,右边不执行。

  • 逻辑或|,无论左边真假,右边都要执行

​ 短路或||,如果左边为假,右边执行;如果左边为真,右边不执行。

6.三元预算符

6.1三元运算符

  • 格式:关系表达式?表达式1:表达式2;
  • 范例:a > b ? a : b;

计算规则:

首先计算关系表达式的值

如果值为true,表达式1的值就是运算结果

如果值为false,表达式2的值就是运算结果

public static void main (String[] args){
  //定义两个变量
  int a = 10;
  int b = 20;
  //获取两个数据中的较大值
  int max = a > b ? a:b;
  //输出结果
  System.out.println("max:"+max);
}

输出结果为:max:20

6.2案例一

/*
		两只老虎
需求:
动物园里有两只老虎,已知两只老虎的体重分别为180kg、200kg,请用程序判断两只老虎的体重是否相同。
*/
public static void mian (String[] args){
  //1.定义两个变量用于保存老虎的体重,单位为kg,这里仅仅体现数值即可
  int weight1 = 180;
  int weight2 = 200;
  //2.用三元运算符实现老虎体重的判断,体重相同,返回true,否则,返回false
  boolean b == weight1 == weight2 ? true : false;
  //输出结果
  System.out.println("b:"+b);
}

6.3案例二

/*三个和尚
需求:一座寺庙里住着三个和尚,已知他们的身高分别为150cm、210cm、165cm,请用程序实现获取这三个和尚的最高身高。
*/
public static void main (String[] args){
  //1.定义三个变量用于保存和尚的身高,单位cm,这里仅仅体现数值
  int height1 = 150;
  int height2 = 210;
  int height3 = 165;
  //2.用三元运算符获取前两个和尚的较高身高值,并用临时身高变量保存起来。
  int tempHeight = height1 > height2 ? height1 : height2;
  //用三元运算符获取临时身高值和第三个和尚身高较高值,并用最大身高变量保存
  int maxHeight = tempHeight > height3 ? tempHeight : height3;
  //4.输出结果
  System.out.println("maxHeight:"+maxHeight);
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值