JAVA运算符

运算符

1.算术运算符

1.1 运算符和表达式

运算符:对常量或者变量进行操作的符号

表达式:用运算符把常量或者变量连接起来符合java语法的式子就可以称为表达式。

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

举例说明:

int a = 10;

int b = 20;

int c = a + b;

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

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

1.2 算术运算符

符号作用说明
+参看小学一年级
-参看小学一年级
*参看小学二年级,与“×”相同
/参看小学二年级,与“÷”相同
%取余获取的是两个数据做除法的余数

注意事项:

/%的区别:两个数据做除法,/取结果的%取结果的余数

整数操作只能得到整数,要想得到小数,必须有浮点数参与运算。

1.3 字符的“+”操作

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

‘A’ 65 A-Z****是连续的

‘a’ 97 a-z****是连续的

‘0’ 48 0-9****是连续的

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

提升规则:

  • byte类型,short类型和char类型将被提升到int类型
  • 整个表达式的类型自动提升到表达式中最高等级操作数同样的类型

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

1.4 字符串的“+”操作

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

  • “itheima”+ 666

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

  • 1 + 99 + "字符“

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.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>3x<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的值就是运算结果

案例:两只老虎

需求:动物园里有两只老虎,已知两只老虎的体重分别为180kg、200kg,

请用程序实现判断两只老虎的体重是否相同。

分析:

①定义两个变量用于保存老虎的体重,单位为kg,这里仅仅体现数值即可。

  • int weight1 = 180;

  • int weight2 = 200;

②用三元运算符实现老虎体重的判断,体重相同,返回true,否则,返回false。

  • (weight1 == weight2) ? true : false;

③输出结果

public class HelloWorld {
  public static void main(String[] args) {
      //1:定义两个变量用于保存老虎的体重,单位为kg,这里仅仅体现数值即可。
	  int weight1 = 180;
	  int weight2 = 200;
	  //2:用三元运算符实现老虎体重的判断,体重相同,返回true,否则,返回false。
	  boolean b = weight1 == weight2 ? true : false;
	  //3:输出结果。
	  System.out.println("b="+b);
	  }
	  }

案例:三个和尚

需求:一座寺庙里住着三个和尚,已知他们的身高分别为150cm、210cm、165cm,请用程序实现获取这三个和尚的最高身高。

分析:

①定义三个变量用于保存和尚的身高,单位为cm,这里仅仅体现数值即可。

  • int height1 = 150;

  • int height2 = 210;

  • int height3 = 165;

②用三元运算符获取前两个和尚的较高身高值,并用临时身高变量保存起来。

  • (height1 > height2) ? height1 : height2;

③用三元运算符获取临时身高值和第三个和尚身高较高值,并用最大身高变量保存。

  • (tempHeight > height3) ? tempHeight : height3;

④输出结果

public class HelloWorld {
  public static void main(String[] args) {
	  //1:定义三个变量用于保存三个和尚的身高数据,单位:cm,这里仅仅体现数值即可。
	  int height1 = 150;
	  int height2 = 210;
	  int height3 = 165; 
	  
	  //2:用三元运算符获取前两个和尚的较高身高值,并用临时身高变量保存。
	  int tempHeight = height1 > height2 ? height1 : height2;//temp:临时
	  
	  //3:用三元运算符获取临时身高值和第三个和尚身高较高值,并用最大身高变量保存。
	   int maxHeight = tempHeight > height3 ? tempHeight : height3;
	   
	  //4.输出结果。
	  System.out.println("maxHeight="+maxHeight);	  
	  }
	  }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值