java运算符

运算符:对字面量或变量进行操作的符号

表达式:用运算符把字面量或者变量连接起来,符合Java语法的式子就可以称为表达式


运算符 

分类:算术运算符,自增自减运算符,赋值运算符,关系运算符,逻辑运算符,三元运算符


算术运算符

符号作用说明
+参考一年级数学教材
-
*
/
%取模,取余

总结

  1. 整数参与计算,得到的结果只会是整数
  2. 小数参与计算,得到的结果是小数,但有可呢不精准

算术运算符的高级用法(以+为例)

"+" 操作的三种情况

数字相加        字符串相加        字符相加

数字相加

问以下代码c是什么类型的值int or double?

  int a = 10;
  double b = 12.3;
    c = a + b;

结果为double

再问以下代码c是什么类型的值int or double?

  int a = 10;
  double b = 20.0;
    c = a + b;

注:数字进行运算时,数据类型不一样不能运算,需要转换成一样的才可以运算。 

用以上两个问题引出类型的转换

类型转换

注:byte<short<int<long<float<double

类型转换分为隐式转换(取值范围小的值转变为范围大的值)和强制转换(取值范围大的数值转变为数值小的数值)

隐式转换:又叫自动类型提升

int a=10;
double b=a;

这时b变为10.0

隐式转换两种提升规则

  • 取值范围小的,和取值范围大的进行运算,小的会提升为大的,再进行运算
  • byte short char三种类型的数据在运算的时候,都会直接先提升为int,再进行运算
int a=10;
double b=12.3;
c=a+b;
//c的结果为double类型
byte a=10;
byte b=12;
c=a+b;
//c的结果为int类型

 强制转换

格式:目标数据类型 变量名 = (目标数据类型)被强转的数据

double a = 12.3;
int b = (int) a;
byte a = 10;
byte b = 20;
byte result = (byte)(a+b);

 注意:把数值的大转变为数值小的,不可以直接转,要加入强制转换

字符串相加

当"+" 在操作中出现字符串时,这个"+" 是字符串连接符,而不是算术运算符了。会将前后字符拼接产生新的字符串。

"123"+123//结果为"123123"

连续的进行"+"操作时,从左到右逐个相加

1+2+"你好"//结果为"3你好"
int a = 10;
System.out.println("我的年龄是"+age+"岁");//我的年龄是10岁
System.out.println("我的年龄是"+"age"+"岁");我的年龄是age岁
字符相加

当字符+字符 或者 字符+数字时,会把字符串通过ASCII码表查询到对应的数字在进行计算

System.out.println(1+"a");//98
System.out.println("abc"+"a");//abca

自增自减运算符

基本用法

符号作用说明
++

变量的值加1

--变量的值减1

自增自减运算符的两种用法

单独使用:++或者--无论放在变量的前还是后,单独写一行结果都一样。

参与计算:++或者--用在后面是先用后算,用在前面是先算后用

int a = 10;
int b = a++;
//符号在后面,先用后加,所以b的值为10,a的值变为11
int a = 10 ;
int b = ++a;
//运算符在前,先加后用,所以a的值为11 b为11

 赋值运算符

符号作用说明
=赋值int a=10,将10赋值给变量a
+=加后赋值a+=b,将a+b的值给a
-=减后赋值

a-=b,将a-b的值给a

*=乘后赋值a*=b,将axb的值给a
/=除后赋值

a/=b,将a/b的值给a

%=取余后赋值a%=b,将a/b的余数给a

其底层都隐藏了一个强制类型转换


关系运算符


逻辑运算符 

短路逻辑运算符

符号作用说明
&&短路与结果与&相同,两个都为真结果才为真
||短路或结果与|相同,两个为假,结果才为假

 短路效果:当左边的可以确定真假,右边就不参与运算


三元运算符

可用于判断

格式:关系表达式?表达式1:表达式2;

判断关系表达式,如果关系表达为真执行表达式1,反之假执行表达式2

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值