Java学习004

本文详细介绍了Java中的各种运算符,包括赋值、算术、自增/自减、比较、逻辑、位和三元运算符。特别强调了自增和自减运算符的前后置差异,以及逻辑与运算符(&&)和按位与运算符(&)的短路特性。此外,还涵盖了位运算符在整数操作中的应用,以及三元运算符的使用方式。最后,提到了运算符的优先级规则,帮助理解表达式求值的顺序。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • 1.4 运算符
    • 赋值运算符
    • 算数运算符 (加 + 减 - 乘 * 除 / 取余 % )
      • 注意:在进行除法运算时,0 不能作为除数。eg:对于“int a = 5/0” ,系统会报错:Arithmetic Exception 异常 (Arithmetic 算术 Exception 例外/异常)
    • 自增和自减运算符
      • 自增、自减运算符是单目运算符,可以放在操作元之前,也可以放在操作元之后。
      • 操作元必须是一个整型或浮点型变量。自增、自减运算符的作用是使变量的值增 1 或减 1 。
      • 放在操作元前面的自增、自减运算符,会先将变量的值加 1 ( 减 1 ),然后再使该变量参与表达式的运算。
      • 放在操作元后面的自增、自减运算符,会先使变量参与表达式的运算,然后再将该变量加 1 ( 减 1 )。
      • eg图1-4-1:
      • 粗略地分析,++a 与 a++ 的作用相当于 a = a+1。
      • 假设a = 4,则:
        • b = ++ a ; //先将a的值加1,然后赋给b,此时 a 值为 5,b 值为 5;
        • b = a ++ ;//先将a的值赋给b, 再将 a 的值变为 5,此时 a 值为5 , b 值为 4;
    • 比较运算符
      • 比较运算符属于二元运算符,用于程序中的变量之间、变量和自变量之间以及其他类型的信息之间的比较。
      • 比较运算符的运算结果是boolean型。当运算符对应的关系成立时,运算结果为true,否则为false。
      • 所有的比较运算符通常作为判断的依据用在条件语句中。
      • 比较运算符共有6个:
        • > //作用是:比较左方是否大于右方 操作数据:整型、浮点型、字符型
        • < //作用是:比较左方是否小于右方 操作数据:整型、浮点型、字符型
        • == //作用是:比较左方是否等于右方 操作数据:整型、浮点型、字符型
        • >= //作用是:比较左方是否大于等于右方 操作数据:整型、浮点型、字符型
        • <= //作用是:比较左方是否小于等于右方 操作数据:整型、浮点型、字符型
        • ! = //作用是:比较左方是否不大于右方 操作数据:整型、浮点型、字符型
        • eg:创建一个类Compare ,在主方法中创建整型变量,使用比较运算符对变量进行比较运算,并将运算结果输出,如图1-4-2:
        • 运行结果如图1-4-3:
    • 逻辑运算符
      • 返回类型为布尔值的表达式,如比较运算符,可以被组合在一起构成一个更复杂的表达式。这是通过逻辑运算符来实现的。
      • 逻辑运算符包括:
        • &&、& 逻辑与
        • | | 逻辑或
        • ! 逻辑非
      • 逻辑运算符的操作元必须是boolean型数据。
      • 除了“ !” 是一元运算符之外,其他都是二元运算符。
      • 表1-4-4为逻辑运算符的用法和含义:
      • &&与&的区别:
        • 当两个表达式都为 true 时,“逻辑与”的结果才是 true 。
        • 使用逻辑运算符 “&” 会判断两个表达式;而逻辑运算符 “&& ” 则是针对boolean类型的类进行判断,当第一个表达式为false时则不会判断第二个表达式。直接输出结果从而节省计算机判断的次数。
        • 通常将这种在逻辑表达式中从左端的表达式可推断出整个表达式的值称为“短路”,而那些始终执行逻辑运算符两边的表达式称为“非短路”。
        • “&&”属于短路运算符;“&”属于非短路运算符。
    • 位运算符
      • 位运算符除“按位与”和“按位或”运算符外,其他只能用于处理整数的操作数。
      • “按位与”运算
      • “按位或”运算
      • “按位取反”运算
      • “按位异或”运算
      • 移位操作
        • 移位运算符适用的数据类型有:byte、short、char、int、long。
        • 移位可以实现整数除以或乘以2的n次方的效果
        • 例如 y<< 2 与 y * 4 的结果相同;
        • 例如 y>> 1 与 y / 2 的结果相同;
        • 宗旨一个数左移 n 位,就是将这个数乘以 2 的n次方;一个数右移 n 位,就是将这个数除以 2 的n次方。
    • 三元运算符
      • 格式: 条件式?值1:值2
      • 三元运算符的运算规则为:若条件式的值为true,则整个表达式取值 1 ,否则取值 2 。
      • 例如:boolean b = 20 < 45 ? true : false ;
      • 如上例,表达式“20<45”的运算结果返回真,那么 boolean 型变量 b 取值为true; 相反表达式“45<20”返回为假,则boolean型变量 b 取值为false。
      • 三元运算符等价于if......else 语句。
    • 运算符优先级
      • 运算符的优先级决定了表达式中运算执行的先后顺序,通常优先级由高到低的顺序依次是:
        • 增量和减量运算
        • 算术运算
        • 比较运算
        • 逻辑运算
        • 赋值运算
      • 如果两个运算有相同的优先级,那么左边的表达式要比右边的表达式先被处理。
  •  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值