算数运算符 与 逻辑运算符

一、算数运算符

1.加法运算符 + 

    1)number类型的加法就是数学加法计算

var a = 10 +20 +30 ;

console.log (a ) //60

   2)String 类型的加法就是拼接符号

var s1 = “1” + “aa” 

console.log (s1) // 1aa

var s2 = 10+ 12 + " 1" 

console.log(s2) // 221  按算数运算顺序运算

var s3= 10+"1" + 12  

console.log(s3) // 10112 

3)+ 可以把任意数值转为number类型 

2.减法运算符 -

    1)number类型的减法就是数学减法计算

var a = 30-20 ;

console.log (a ) //10

2)String 类型不能有减法运算,所以见过是NaN

var a = 30-"a" ;

console.log (a )   //NaN

3) - 可以把任意值转为number类型,变成负数,前面变成负号

3.乘法运算符 *

var r3 = 5 * 5

4.除法运算符  /

var r4 = 10 / 3

5.指数运算符  **

var r4 = 3 ** 2;

console.log(r4) // 9

6.余数运算符 % (取余)

//取余数  有余数显示余数,没有余数显示的0

var r5 = 10 % 3 ;

console.log(r5) //1

7.自增运算符 ++X 或 X++

++X 与  X++的区别

var b = 1;

var c = ++b  ; // --> 先运行 ++b = 2 ,再把2赋值给c c=2   (先自增再使用

var c = b++ ;// --> 先把b赋值给c ,在进行b变量递增          (先使用后自增

8.自减运算符 --X 或 X--

--X 与  X--的区别

var b = 4;

var c = --b  ; // --> 先运行 --b = 3 ,再把3赋值给c c=3  (先自减再使用

var c = b--;// --> 先把b赋值给c c=4 ,在进行b变量递增  (先使用后自减

9.赋值运算符 

var a3 = 10
a3 += 10 // 等价于 : a3 = a3 + 10
a4 -= 5 // 等价于 a4 = a4 - 5
a3 *= 5 // a3 = a3 * 5
a3 /= 5 // a3 = a3 / 5
a3 %= 5 // a3 = a3 % 5
a3 **=5 // a3 = a3 ** 5

二、逻辑运算符

1. 等于 x==y  (只判断值是否相同,不会判断数据类型)

var a = "3" ;

console.log( a == 3) //true  

2. 全等于 x===y  (比较值和数据类型) 建议使用

console.log( a === 3) //false

3.不等于 X!=Y   (只判断值是否相同,不会判断数据类型)

console.log( a != 3) //false

4.全不等于 !==  (比较值和数据类型)

console.log( a !== 3) //true

5.!非运算符   取Boolean的反值

console.log( !true ) // true 的反值是 false
console.log( !!false ) // !false true !true 的值是 false

6.与运算 &&  (两边同时为true 则为true,只要有一个false则返回false)

7.或运算 || (左右两边只要有一个true,则返回true,只有同时为false才会返回false)

|| 或逻辑运算符,如果左边是true,不会执行右边的代码
 console.log( true || false && false || true && false  );  // 输出true 
        思路分析  : 把左边 true 和右边 false && false || true && false 看成一个整体
                            左边是true 所以后面的代码不会执行
|| 逻辑会判断左边是否为true(如果左边不是boolean类型,会转为boolean类型)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Java中,算数运算符、赋值运算符逻辑运算符常常用于处理数值和布尔类型的操作。以下是它们可能出现的一些问题: 1. 算数运算符问题: - 整数溢出:当进行算术运算时,如果结果超出了整数类型的表示范围,就会发生整数溢出。解决方法是使用更大的数据类型或者进行合适的边界检查。 - 浮点数精度丢失:在处理浮点数时,由于浮点数的精度限制,可能会出现精度丢失的情况。解决方法是使用BigDecimal类进行精确计算。 2. 赋值运算符问题: - 类型不匹配:如果将一个值赋给不兼容的类型,会导致编译错误。解决方法是确保赋值的类型与目标变量的类型匹配。 - 值覆盖:在连续赋值时,如果不小心覆盖了之前的值,可能会导致逻辑错误。解决方法是检查赋值语句的顺序和逻辑。 3. 逻辑运算符问题: - 短路求值:在使用逻辑运算符时,由于短路求值的特性,可能会导致某些表达式不被执行。解决方法是根据业务需求合理安排逻辑运算符的顺序。 - 位运算错误:当使用位运算符时,如果对数据类型不熟悉,可能会导致逻辑错误。解决方法是仔细了解位运算符的行为和使用场景。 总体而言,遇到这些问题时,需要仔细检查代码并进行适当的调试和测试。此外,深入了解Java运算符的行为和使用规则也是避免这些问题的关键。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值