栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

运算符基础

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

运算符基础

运算符 算术运算符
  • *+ , - , , / , % , ++ , - - **

    //算数运算符
       int a = 10;
       int b = 20;
       int c = 25;
       int d = 25;
    
       System.out.println(a + b);
       System.out.println(a - b);
       System.out.println(a * b);
       System.out.println(a / (double) b);  //(a/b)运算出来是int型  则为0,所以这里我们需要考虑到小数进行一个强制转换。
    
    //取余,模运算
      System.out.println(c % a);  // c / a  25 / 10 = 2......5
       
    //定义不同类型相加
       long a = 1237234642356L;
       int b = 123;
       short c = 23;
       byte d = 8;
      System.out.println(a + b + c + d);//long  不同整数类型相加,其中有一个为long型,结果类型也为long
      System.out.println(b + c + d);//int  若没有long型,结果都为int类型。
     // System.out.println((String) (c + d));//不能将int类型转换为String
     System.out.println((double) c + d);//31.0  double类型
    
     // ++  --  自增,自减  一元运算符
        int a = 3;
        int b = a++;  //执行完这行代码后,先给b赋值,将a++的值3赋值给b,再自增  
        //a = a + 1
        System.out.println(a);
        //a = a + 1
        int c = ++a;//执行完这行代码后,先自增,再给c赋值  将++a的值5赋值给c
        System.out.println(a);//5
        System.out.println(b);//3
        System.out.println(c);//5
    
赋值运算符
  • =

    1)简单赋值运算符:=
    2)扩展赋值运算符:+=,-=,*=,/=,%=
      ---扩展赋值自带强转功能
    
    int a = 5;
    a += 10; //相当于a=(int)(a+10)
    System.out.println(a); //15
    a *= 2; //相当于a=(int)(a*2)
    System.out.println(a); //30
    a /= 6; //相当于a=(int)(a/6)
    System.out.println(a); //5
    
    //常见面试题:
    short s = 5;
    //s = s+10; //编译错误,需强转,改为: s=(short)(s+10);
    s += 10; //相当于: s=(short)(s+10);
    
关系运算符

> , < , >= , <= , == (java等于符号),!=

 //关系运算符返回的结果: 布尔值 true  false
        int a = 10;
        int b = 20;
        int c = 22;

System.out.println(a > b);//false
System.out.println(a < b);//true
System.out.println(a == b);//false 
System.out.println(a != b);//true
System.out.println(a++>10); //false-----a自增1变为11
System.out.println(a++>10); //true------a自增1变为 12
逻辑运算符

&& , || , !

1)&&:逻辑与(并且),两边都为真则为真,见false则false
     ---当第1个条件为false时,则发生短路(后面的不执行了)
  ||:逻辑或(或者),有真则真,见true则true
     ---当第1个条件为true时,则发生短路(后面的不执行了)
   !:逻辑非(取反),非真则假,非假则真
 2)逻辑运算是建立在关系运算的基础之上的
     逻辑运算的结果也是boolean型 
//与(and  两个都要)  或(or  我或者你)   非(for   取反 )
        boolean a = true;
        boolean b = false;

        System.out.println("a && b:" + (a && b));//逻辑与运算  两个变量都为真  结果才为true
        System.out.println("a || b:" + (a || b));//逻辑或运算  两个变量只要有一个为真  则结果为true
        System.out.println("!(a && b):" + !(a && b));//逻辑非运算 如果是真 结果为假 ,如果是假则结果为真

        //短路运算
        int c = 5;
        boolean d = (c < 4) && (c++ < 4);//  (c < 4)以及为假了 所以后面(c++ < 4) 中的c++不运行  所以c的结果还是5
        System.out.println(d);//false
        System.out.println(c);//5
位运算符

& , | , ^ , ~ , >> , << , >>>

        

        System.out.println(2 << 3);//2*2*2*2 16
条件运算符

**? : **

         1)语法:
                boolean?数1:数2
         2)执行过程:
     整个表达式是有值的,它的值要么是?号后的数1,要么是:号后的数2
          计算boolean的值:
            若为true,则整个表达式的结果为?号后的数1
            若为false,则整个表达式的结果为:号后的数2

        int score = 80;
      String test = score < 60 ? "不及格" : "及格";
        System.out.println(test);//及格
        int score = 50;
        String test1 = score < 60 ? "不及格" : "及格";
        System.out.println(test1);//不及格
字符串连接

+

+:
  1.1)若两边都是数字,则做加法运算
  1.2)若旁边出现了字符串,则做字符串连接   
      注意:任何类型的数据与字符串相连,结果都是字符串类型----同化作用
        int a = 10;
        int b = 20;

        a += b; //a=a+b
        a -= b;//a=a-b

        //字符串连接符  +  ,String
        
        System.out.println("" + a + b);//1020   字符串在前面实现字符串拼接
        System.out.println(a + b + "");//30  字符串在后面 前面依旧进行运算
  
  
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/937158.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号