黑马程序员---Java基础学习之算术运算符、赋值运算符、比较运算符、逻辑运算符

今天学习了算术运算符、赋值运算符、比较运算符、逻辑运算符

 Java中的算术运算符和生活中的算数运算基本相似。

1、算术运算符符号:

 

符号
名称
功能说明
+
加法运算
-
减法运算
*
乘法运算
/
除法运算
%
取余
求两个数字相除的余数

 

2、算术运算符举例:

在使用算术运算时需要注意运算两侧类型:当两侧类型不统一时,运算结果和较大类型保持一致。


int a = 3;

int b = 5;

int c = a + b; //加法运算

c = a * b; //乘法

c = a / b; //除法运算 结果为零  注意除法运算当两侧类型统一结果仍为运算数据保持一致

c = a % b; //取模运算 ,即求a/b的余值

3、算术运算符的注意问题

如果对负数取模,可以把模数负号忽略不记,如:5%-2=1。但被模数是负数就另当别论。

对于除号“/”,它的整数除和小数除是有区别的:整数之间做除法时,只保留整数部分而舍弃小数部分。

+”除字符串相加功能外,还能把非字符串转换成字符串 。“+”运算符两侧的操作数中只要有一个String类型,一个是基本数据类型时,编译成class文件后,两个操作数就被连接成了一个新的String值:

 4、自加自减:

自加(++)自减(--)运算

++:自加。对原有的数据进行+1

--:自减。对原有的数据进行-1

当在一个运算表达式中包含自加运算时,当自加符号在变量右侧时,需要先将变量的值临时保存,然后给变量空间加1,接着用临时变量空间中的值去和其他运算符进行运算。当自加符号在变量左侧时,需要先给变量空间加1,然后把加1后的值和其他运算符进行运算。

int a = 4;

int b;

b = a++;

System.out.println("a="+a+",b="+b);



【赋值运算符】

赋值运算符号:

= , +=, -=, *=, /=, %=

赋值号的功能是将赋值号右侧的结果存储到左侧的变量空间中。


int a = 3 ; //将3存储到左侧a空间中

int b , c , d;

b = c = d = a; // 将a空间中的值分别存放到d,c,b 空间中

赋值号和算术运算符组合起来的混合运算符,它们即具有算术运算的特定,同时还具有赋值运算的特定。


int a = 4;

a += 3; //相当于 a = a + 3;的运算,即把a空间中的值和3进行加法运算,把和值从新存放到a空间中

思考:以下代码有什么区别?

short s = 3; 

s=s+2;

s+=2;    

说明:

s=s+2//编译失败,因为s会被提升为int类型,运算后的结果还是int类型。无法赋值给short类型。

s+=2//编译通过,因为+=运算符在给s赋值时,自动完成了强转操作。

【比较运算符】

在生活中经常需要判断数据大小,相等不相等各种操作,在Java中同样也可以判断数据的大小。

比较运算符符号:

 

>大于 >=大于等于 <小于 <=小于等于 ==相等 !=不等

 

比较运算符。运算完的结果要么true,要么false。后期学习中会根据比较的结果做出相应逻辑判断。

 

int a = 4;

int b = 5;

boolean c ;

c = a > b;

System.out.println(b);

 


1:比较运算符的结果都是boolean型,也就是要么是true,要么是false

2:比较运算符“==”不能误写成“=” 。

 

【逻辑运算符】

当需要判断某些数据符合某个区间,比如人的年龄符合某一范围等。发现使用比较运算没法完成。Java给我们提供另外一直机制,逻辑运算。逻辑运算符用于连接布尔型表达式,在Java中不可以写成3<x<6,应该写成x>3 & x<6 

1、逻辑运算符号:

 

逻辑运算符。用来连接boolean型表达式的。

& : 

:或

^ : 异或。

!:非。

&& 短路与 || 短路或

2、运算规律

int x = 7;

 

x>2 & x<5

x<2 | x>5

 

& :两边都为true,结果是true。否则为false。

     两边只要有一个false。结果必然是false。

true  &  true = true;

true  & false = false;

false &  true = false;

false & false = false;

 

| :两边都为false,结果是false。否则为true。

   两边只要有一个true。结果必然是true。

true  |  true = true;

true  | false = true;

false |  true = true;

false | false = false;

 

^ : 异或。

  两边相同为false。两边不同为true。

true  ^  true = false;

true  ^ false = true;

false ^  true = true;

false ^ false = false;

 

!:非

非真为假,非假为真

!true = false;

 

“&”和“&&”的区别:单与时,左边无论真假,右边都进行运算;双与时,如果左边为真,右边参与运算,如果左边为假,那么右边不参与运算。

“|”和“||”的区别同理,双或时,左边为真,右边不参与运算。


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值