JAVA基础-运算符

Posted yuchen656

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA基础-运算符相关的知识,希望对你有一定的参考价值。

运算符

    再用运算符进行运算操作时有两个原则:
          1、不同类型的数据做运算时,一定会先转换成较大范围类型后再进行运算。
          2、byte,short,char这些类型运算时,一定会先转成int类型后再进行运算,结果int类型
          一定要注意封闭式运算。

下表中具有最高优先级的运算符在的表的最上面,最低优先级的在表的底部。

技术分享图片

算术运算符

          +-*/%++--

     编程中的+,-,*和我们平时用到的几乎没什么区别,这里就不介绍了

     / :除号
        情况1:
              参与的类型都是整型时,做取整运算,即商n余m, 结果为n,2/3----商0余2。结果为0(也就是运算结果只保留整数位)
        情况2:
              只要有一个浮点数参与,就会做类似精确运算(在除2时会是精确运算)。
     %:取余运算符号(也叫取模运算符号)
              做除法运算时,商n余m,结果为m.

         情况1:参与运算都是整数时,余数是精确值
         情况2: 有浮点数参与时,余数不一定是精确值。

     注意:
     取余运算一般被用来判断 某一个数能否被另外一个数整除。

     被除数为正,取余结果一定为正
     被除数为负,取余结果一定为负。
    ++ / --:自增自减运算符
        符号要与变量一起使用。表示变量自动+1,或自动-1;
        列:++a/a++/--a/a--;
               ++a/a++:是a=a+1的简写
               --a/a--:是a=a-1的简写

     情况1: 即与变量在一起,不与其他任何符号连用时
            (单独使用)
        ++a
        a++
        --a
        a--
        此时,变量一定会+1或-1;

     情况2:自增/自减运算与其他符号连用时
           需要考虑表达式的值。
       ++a/a++/--a/a--整体看成表达式

           口诀:
           符号在前,先运算再赋值
           符号在后,先赋值在运算

        解析:符号在前时,变量先自增/自减,新值赋值给表达式
              符号在后时,先把变量的值赋值给表达式,然后变量再自增/自减

关系运算符

     >>=<<===!=    它们所表达的意思与数学中的用法一致,用来判断条件是否成立。一般都用在分支结构或循环结构中使用

逻辑运算符

     当有两个条件以上进行判断是否成立时,需要使用逻辑运算符。即与,或,非 (&&,||,!)

     数学中,判断a是否大于1并且小于3时,写法如下:1<a<3   java语言中,没有上述写法,需要使用&&写法如下:a>1&&a<3或a<3&&a>1

     &&(与):用于判断两个条件是否同时成立。(全真为真,一假则假)
     ||(或):用于判断是否有条件成立。(一真即真,全假则假)
     !(非):用于条件的否定。(非真即假,非假即真)

    逻辑运算符又称之为短路运算符,当使用&&或者||时,第一个条件能确定结果时,就不会执行第二个条件,这种行为可视为短路现象。(单个符号的 &(与)  |(或) 没有短路现象。)

赋值运算符

     =赋值运算,给前面的变量赋值。

     扩展:

              +=,-=,*=,/=,%=
             a+=1相当于 a = a + 1
             a-=b相当于 a = a - b;
             a*=b相当于 a = a * b;
             a/=b相当于 a = a / b;
             a%=b相当于 a = a % b;

字符串拼接符号

     +: 当+前后,只要有一个是字符串类型,就做拼接操作,拼接后的结果是字符串类型。

练习代码:

public static void main(String[] args) {
        
          int a = 1;
          int b = 2;
          String str = "3";
          String result = a+b+str;
          System.out.println(result);//"33"
          result = str+a+b;
          System.out.println(result);//"312"
          result = a+str+b;
          System.out.println(result);//"132"
          System.out.println(1+2+a+str+b+3);//"4323"
          System.out.println(1+2+a+"3"+a*b+str);//"4323"
    }

三目运算符

       变量类型 变量= 条件表达式?值1:值2;
       变量类型:需要与值1或值2的类型相同。如果值1与值2的类型不相同,则要可以自动转换。

练习代码:

public static void main(String[] args){
        /*
            找出num1 = 3,num2 = 5最大值
        */
        int num1 = 3,num2 = 5;
        int numMax = num1>num2? num1:num2;
        
        /*
           int a = 5,b = 10,c = 3;
           找出max,mid,min
        */
        int a = 5,b = 10,c = 3;
        
        int min = a<b? (a<c? a:c):(b<c? b:c);
        int max = a>b? (a>c? a:c):(b>c? b:c);
        int mid = a>b? (b>c? b:(a>c? c:a)):(a>c? a:(b>c? c:b));
        
        System.out.println("最小值:"+min);
        System.out.println("最大值:"+max);
        System.out.println("中间值:"+mid);
        
    }

 





































以上是关于JAVA基础-运算符的主要内容,如果未能解决你的问题,请参考以下文章

Java语言基础之方法的设计

JSP基础

Java开发技术栈:Java基础语法流程控制语句运算符

片段是否执行基础数据的复制?

10个JavaScript代码片段,使你更加容易前端开发。

10个JavaScript代码片段,使你更加容易前端开发。