Java基础语法(三)运算符

Java基础语法(三)

运算符

  1. 算术运算符:+ , - , * , / , %(取余) , ++ , --

  2. 赋值运算符:=

  3. 关系运算符:> , < , >= , <= , == , != , instanceof

  4. 逻辑运算符:&& (与), ||(或) , !(非)

  5. 位运算符:& , | , ^(异或) , ~ , >>(右移) , <<(左移) , >>>

    • &:两都为1才是1,否则为0(1与1为1;0与1,1与0,0与0都为0)

    • |:0 0为0,1 0为1,0 1为1,1 1为1

      A=0011 1100
      B=0000 1101
      A|B=0011 1101
      
    • ^:0 0为0,1 1为0,1 0为1,0 1为1

    • ~:取反,0为1,1为0

      B=0000 1101
      ~B=1111 0010
      
    • <<和>>:

      "<<":把数字*2

      ​ 2<<3:将2中的1向左移动3次(乘3次2,结果为16)

      ">>":把数字/2

      0000 0000 =0
      0000 0001 =1
      0000 0010 =2//将1左移(乘2)
      0000 0100 =4//将2中的1左移(乘2)
      0000 1000 =8//将4中的1左移(乘2)
      System.out.println(2<<3);//结果为16(2乘3次2,2*2*2*2)
      System.out.println(4<<3);//结果为32(4乘3次2,4*2*2*2)
      
  6. 条件运算符(三元运算符):? :

    x?y:z//如果x==true,则结果为y,否则结果为z
    //例:
    int x=10;
    System.out.println(x==20?"正确":"错误");//输出:错误
    System.out.println(x==10?"正确":"错误");//输出:正确
    System.out.println(x==30?"A":"B");//输出:B          
    
  7. 扩展赋值运算符:+= , -=, *= , /=

  8. 字符串连接符:+

    int a=10;
    int b=20;
    System.out.println("数字"+a);//输出:数字10
    System.out.println(a+b);//输出:10
    System.out.println(""+a+b);//输出:1020
                               /*因为先识别到字符串了,所以默认后面的加号是字符串连接符而不是算术运算符*/
    System.out.println(a+b+"");//输出:30
                              /*因为先识别到数字了,所以默认后面的加号是算术运算符,可以执行加法运算,之后遇到字符""则b和""之间的+认为是字符串连 
                                接符*/
    System.out.println(""+(a+b));//输出:30
                                 /*因为加了括号,括号里面两个数字相加则+认为是算术运算符*/
    System.out.println(a+b+"史小鹏");//输出:30史小鹏
    
  9. 操作数之间的操作:

    • 如果操作数之间(例如a+b+c+d)

      有一个操作数为long,则结果也为long类型

      有一个操作数为double,则结果也为double类型

      有一个操作数为float,则结果也为float类型

      如果操作数中没有long、double、float类型,则默认为int类型,即便a,b,c,d没有int和long类型和double类型和float类型,则结果也默认是int。

    • System.out.println(++a);//先执行a=a+1,再输出
      
      System.out.println(a++);//先输出a,再执行a=a+1
      
  10. 优先级:算符是有优先级的,但一般用()来区别优先级最好(先算括号里的内容)

    ((a+b)*c)//会先算括号里的内容(先算a+b)
    
posted @   史小鹏  阅读(30)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 使用C#创建一个MCP客户端
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示