JAVA 中的运算符

java中的运算符

1、    +  -  *  /   %

  [+当+遇到String类型的时候 表示追加链接 不在表示算数加法]

  [*当心数值超出int类型最大的边界 -》 注意使用long类型]

     System.out.println(365L* 24 * 60 * 60 * 1000);

  [/整数除以整数 结果一定是整数]

     拓展:

     5 / 0.0 = Infinity = 无穷大。

0.0    / 0.0 = Nan = not a number = 不是一个数。

 

  *  [% 取模运算符求余数最终结果的符号位取决于参与运算的第一个数的符号]

 

public class ExecOperation4{

  public static void main(String[] args){

     //浪潮的笔试题

     int num = 998;

     //   /   %

     //592的个位数是2

     //592的十位数是9

     //592的百位数是5

 

     int bai = num / 100;//592 / 100 = 5

     System.out.println(bai);

     int shi = num / 10 % 10;

     System.out.println(shi);

     int ge = num % 10;

     System.out.println(ge);

  }

}

 

 

 

  +=-= *= /= %=...

  *[他们能够保证运算符左侧的数据类型不发生改变 -隐式的强转]

如果左侧的数据类型根右侧的数据类型不一样,则自动强制转换为左侧的数据类型。

 

  ++--[自增自减运算符]     

  [a:取值   b:运算     x++ -> ab    ++x -> ba]

注意:x++x++ 的前面的时候,先取值,后运算。取值只是针对本语句有效。出了这语句,取值就没有用了。X--一样。++x--x则是相反。先运算后取值

 

  >< >= <= ! = != ==

  !:非     !boolean

     !true= false    !false = true

  !=:判断左右两边的值是否不相等

     System.out.println(34!= 34);//false

  面试题:=和==之间的区别?

     =:赋值运算符 将右侧的值交给左侧的变量进行保管

        intx = 55;

     ==:判断左右两边的值是否相等

        System.out.println('a'== 'b');   //false

 

2、&& || & |[逻辑运算符]

     面试题:&&和&之间的区别?

     相同点:&&和&都是逻辑的与 相当于汉文中并且的意思

     需要前后两个条件都成立才行,

&&的运算效率要比较高一些。

     不同点:

1: &&叫做逻辑的短路与 有短路特性

     如果通过前面的条件可以得出最终结果的话 后面的条件直接舍弃,不在判断。

2:&可以作为逻辑运算符还可以作为按位运算符 && 只能作为逻辑运算符

     例子:今天晚上如果我有空的话 而且你们愿意 我请大家唱歌

        if(我有空 && 你们愿意){

          我请大家唱歌

        }

 

     boolean  && boolean

     true          判断

     false         短路

 

     ||和|之间的区别?

     相同点:||和|都是逻辑的或 相当于汉文中或者的意思

     需要前后只要有一个条件成立就可以

    

     不同点:||叫做逻辑的短路或 有短路特性

     如果通过前面的条件可以得出最终结果的话 后面的条件直接

     舍弃 不在判断

 

     例子:QQ注册的时候 如果用户名长度>6 或者是密码长度<12位

     显示注册失败

        if(用户名长度>6 || 密码长度<12){

          显示注册失败

        }

 

     boolean || boolean

     true       短路

     false      判断

 

3、& | ^ ~[按位(二进制)运算符]

    

     &| 可以作为逻辑运算符 可以作为按位运算符 怎么区分?

     看运算符两边是什么类型:

        如果运算符两边是数字 -》 按位运算符

        如果运算符两边是boolean -> 逻辑运算符

 

    

     基本用法(了解)

    

&:按位的 上下都为1的时候才写1。

     System.out.println(9& 5);//1

    

     9:8+1=00001001

     5:4+1=00000101

 

     00001001

  &  00000101

     00000001

 

|:按位的 上下只要有1就写1

     System.out.println(9| 5);//13

    

     00001001

  |  00000101

     00001101-> 8+4+1=13

 

^:按位的异或 上下不一样的时候就写1(上下一样,才写0)

     System.out.println(9^ 5);//12

 

     00001001

  ^  00000101

     00001100-> 8 + 4 = 12

 

~:按位的取反  0-》1    1-》0 ;

     bytex = 5;

     ~x;

     5= 4 + 1 = 00000101 -> 11111010

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值