day06运算符

运算符

一、运算符的定义

  1. 运算符是指对操作数的运算方式。

  2. 算术运算符、关系运算符、逻辑运算符、赋值运算符、 条件运算符、字符串连接运算符。

  3. 运算符是指对操作数的运算方式。组成表达式的 Java 操作符有很多种(什么是操作数和操 作符,例如 1+2,其中 1 和 2 都是操作数,+是操作符,操作符和操作数联合起来构成表达式)。

  4. 运算符按照其要求的操作数数目来分,可以有单目运算符(1 个操作数)、双目运算符(2 个 操作数)和三目运算符(3 个操作数)。

  5. 运算符按其功能来分,有算术运算符、赋值运算符、 关系运算符、逻辑运算符、位运算符、条件运算符、字符串连接运算符和其他运算符。

二、运算符的分类

1、算数运算符

​ 算术运算符包括:+(两个数字求和)、-(两个数字相减)、*(两个数字乘积)、/(两 个数字相除)、%(两个数字取模或者求余)、++(单目运算符,对数字自加 1)、–(单目 运算符,对数字自减 1)。

重点讲解++和–

  1. java 语法中又有这样的规定,++出现在变量后,会先进行赋值后加一。例子:

    int c2=2;
    c2=c2++;
    System.out.println(c2);//结果为2
    
  2. java 语法中又有这样的规定,++出现在变量前,会先进行加一。例子:

    int c2=2;
    c2=++c2;
    System.out.println(c2);//结果为3
    
  3. 两个 int 类型数据进行数学运算之后的结果一定 是 int 类型。

2、关系运算符

关系运算符主要是完成数据和数据之间的比较

  1. <、>、<=、>=、==、!=。

  2. 任何一个关系运算符的运算结果都是布尔类型,最后的结果不是 true 就是 false,没有其他值。

3、逻辑运算符

逻辑运算符主要包括逻辑与(&),逻辑或(|),逻辑异或(^),短路与(&&),短路 或(||)。

  1. 所有逻辑运算符的特点是操作数都是布尔类型,并且最终的运算结果也是布尔类型。

  2. 短路原则:与(&&)在左边的表达式结果为 false 的时候右边的表 达式则不再执行。

  3. 短路与(&&)左边为FALSE时右边不再执行,&左边为FALSE时右边还是会执行。例子:

    int c1=1;
    int c2=2;
    System.out.println(1>2&&c1>++c2);
    System.out.println(c2);//结果c2=2
    =================================
    int c1=1;
    int c2=2;
    System.out.println(1>2&c1>++c2);
    System.out.println(c2);//结果c2=3
    

短路||与|同样如此。

4、赋值运算符

赋值运算符目前也是只需要掌握=、+=、-=、*=、/=、%=。

  1. x += 1; //等同于 x = x + 1, y -= 1; //等同于 y = y - 1, z *= 2; //等同于 z = z * 2, m /= 3; //等同于 m = m / 3, n %= 3; //等同于 n = n % 3,
  2. 对于扩展类的赋值运算符在运算的过程中不会改变运算的结果类型,也就是说 byte b = 100; b += 1000就是:b = (byte)(b + 1000);b 变量最初是 byte 型,最后的运算结果还是一个 byte 类型。
  3. 以后在使用扩展类赋值运算符的时候要谨 慎,不小心就会精度损失的。例子:byte b = 100; b += 1000。就会造成精度的丢失。运行结果为76.

5、条件运算符

(1)、定义:

条件运算符属于三目运算符,它的语法结构是:布尔表达式?表达式 1:表达式 2。例子:int k=false?1:2;

(2)、运行原理

它的运行原理是这样的,先判断布尔表达式的结果是 true 还是 false,如果是 true,则选择表达式 1 的结 果作为整个表达式的结果,反之则选择表达式 2 的结果作为整个表达式的结果。

6、字符串连接运算符

(1)、定义:

实际上“+”运算符在 java 语言中有两个作用,作用一是对数字进行求和运算,作用二就 是字符串连接运算。当“+”运算的时候,两边的操作数都是数字的话,一定会进行求和运算,只 要其中有一个操作数是字符串类型,那么一定会进行字符串拼接运算,字符串拼接之后的结果 还是字符串类型。

(2)、注意

当一个表达式当中有多个“+”,并且在没有小括号的前提 下,遵循自左向右的顺序依次执行。例子:

int a=1;
int b=2;
System.out.println(a + " + " + b + " = " + a + b);//字符串连接运算1 + 2 = 12
System.out.println(a + " + " + b + " = " + (a + b));//加法运算1 + 2 = 3

将变量放到字符串当中进行拼接,可以这样 做:

在拼接的位置添加一个英文双引号,在双引 号中间添加两个加号,把字符串变量放到两个加号中间。

例子:System.out.println(“欢迎”+name+“回来!”);

总结:

1.int k = 10;

System.out.println(k++);

System.out.println(++k);

执行顺序:1、先输出k的值为10. 2、然后k自增为11, 3、k自增为12, 4、输出k的值。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值