语言基础2 运算符

运算符:

   1.算术:+、-、*、/、%、++、--

        1)注意*的溢出     /的int取整

        2)++/--:自增1/自减1,可在变量前也可在变量后

       - 单独使用时,在前在后都一样(只有单独输出i++;)
       - 被使用时,在前在后不一样 (println输出也是被使用)
         - a++的值为a------------(a--的值为a)
         - ++a的值为a+1--------(--a的值为a-1)

     演示++单独使用

       int a=5,b=5;
       a++; //相当于a=a+1
       ++b; //相当于b=b+1
       System.out.println(a); //6
       System.out.println(b); //6


       演示--被使用:

       int a=5,b=5;
       int c = a--; //1)将a--的值5赋值给c  2)a自减1变为4
       int d = --b; //1)将--b的值4赋值给d  2)b自减1变为4
       System.out.println(a); //4
       System.out.println(b); //4
       System.out.println(c); //5
       System.out.println(d); //4

 

 一定要记住 自增后本身就会加一!

   2. 关系:>、<、>=、<=、==、!=

        关系运算的结果为boolean型关系成立则为true,关系不成立则为false

     int a=5,b=10,c=5;
     boolean b1 = a>b;
     System.out.println(b1);   //false
     System.out.println(c<b);  //true
     System.out.println(a>=c); //true
     System.out.println(a<=b); //true
     System.out.println(a==c); //true
     System.out.println(a!=c); //false
     
     System.out.println(a+c>b);  //false
     System.out.println(a%2==0); //false
     System.out.println(c++>5); //false---------此时c自增1变为6
     System.out.println(c++>5); //true----------此时c自增1变为7

   3. 逻辑:&&、||、!

     - 逻辑运算是建立在关系运算的基础之上的,结果也是boolean型

     1) &&:短路与(并且),见false则false

       - 当第1个条件为false时,则发生短路(后面的不执行了)

     int a=5,b=10,c=5;
     boolean b1 = b>=a && b<c;
     System.out.println(b1);          //true&&false=false
     System.out.println(b<=c && b>a); //false&&true=false
     System.out.println(a==b && c>b); //false&&false=false
     System.out.println(b!=c && a<b); //true&&true=true
       
     //演示短路:
     boolean b3 = a>b && c++>2;
     System.out.println(b3); //false
     System.out.println(c);  //5,发生短路了

     2) ||:短路或(或者),见true则true

       - 当第1个条件为true时,则发生短路(后面的不执行了)

     int a=5,b=10,c=5;
     System.out.println(b>=a || b<c); //true||false=true
     System.out.println(b<=c || b>a); //false||true=true
     System.out.println(b!=c || a<b); //true||true=true
     System.out.println(a==b || c>b); //false||false=false
       
     //演示短路:
     boolean b4 = a<b || c++>2;
     System.out.println(b4); //true
     System.out.println(c);  //5,发生短路了

     3) !:逻辑非(取反),非真则假,非假则真

   boolean b2 = !(a<b);
   System.out.println(b2);     //!true=false
   System.out.println(!(a>b)); //!false=true

   4. 赋值运算符:=、+=、-=、*=、/=、%=

       a%=2 代表是a除2之后,所得到余数重新赋值给a

       扩展赋值运算自带强转:

 //面试题
 short s =5;
 // s=s+10;//编译错误显示红色底线 short运算需要强转 s=(short)(s+10);
 s +=10;//相当于s=(short)(s+10)

 int o =5;
 o +=10;//o=(int) (o+10)
 System.out.println(o);//15
 o*= 2;//o= (int) (o*2)
 System.out.println(o);//30
 o/=6;//o=(int)(o/6)
 System.out.println(o);//5

 

 

 5. 连接运算符:

1.1)若两边为数字,

1.2)若两边为字符,

1.3)任何类型与字符串连接,结果都会变为字符串型

       char:字符型,单引号中,1个

        String:字符串型,双引号中,0个到多个 注意“S”要大写

 System.out.println(10+""+20+30);//102030
 System.out.println(10+20+""+30);//3030
 System.out.println(10+20+30+"");//60

 int age=38;
 String name ="WKJ";
 String add="北京";
 System.out.println("大家好,我叫"+name+",今年"+age+"岁了,家在"+add);

   6. 条件(三目)运算符:

  一目:++ -- ! 
  其余均为二目:+ - * 、 %

  1)语法:boolean?数1:数2 此处boolean代指布尔运算 

  2)是有值的 若为true,则整个表达式的结果为?号后面的数1 
             若为false,则整个表达式的结果为:号后面的数2
 int num=5;
 int flag= num>0?1:-1;//true
 System.out.println(flag);

 int p=8,q=5;
 int max =p>q?p:q;//true
 System.out.println("max="+max);

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值