Java运算符

运算符大致分为以下几类:

  1. 算术运算符: + - * / % ++ –
  2. 赋值运算符: = += -= *= /=
  3. 关系运算符: > < >= <= == != instanceof
  4. 逻辑运算符: && || !
  5. 条件运算符: ? :
  6. 位运算符:& | ^ ~ >> >>> <<

1、算术运算符主要是,加,减,乘,除,取余,自增,自减

//自增,自减 说明:
//情况1: 自增自减在一条语句中,不用交互
public class Demo1 {

   public static void main(String[] args) {
       int age = 20;
       //常见的自增,自减多用于for循环
       for(int i = 15; i < age; i++){  // 分号后面的 i++  是一条语句,不用考虑是先赋值还是先进行自增
           if(i < age ){
               System.out.println("此时 i和age分别是:"+i+","+age);
               age--;                  // 分号后面的 age--   是一条语句,不用考虑是先赋值还是先进行自减
               System.out.println("进行age自减后的i和age分别是:"+i+","+age);
           }
       }
   }
   
}
结果:
此时 i和age分别是:15,20
进行age自减后的i和age分别是:15,19
此时 i和age分别是:16,19
进行age自减后的i和age分别是:16,18
此时 i和age分别是:17,18
进行age自减后的i和age分别是:17,17

/*
情况2: 自增自减在语句中
   	i++  自增符号在变量后面,先赋值,然后进行自增运算  (就是将数值先参与sum+(i++)原值,然后进行自增)
	++i  自增符号在变量前面,先自增运算,然后进行赋值
*/

public class Demo1 {

   public static void main(String[] args) {

       int sum = 0;
       //for循环中的 i 自增去掉,写到{ }里面
       for(int i = 0; i < 4;){
           System.out.println("此时 i和sum分别是:"+i+","+sum);
           sum = sum + (i++) ;
           System.out.println("进行i自增后的i和sum分别是:"+i+","+sum);
       }
   }
   
}
结果:
此时 i和sum分别是:0,0
进行i自增后的i和sum分别是:1,0
此时 i和sum分别是:1,0
进行i自增后的i和sum分别是:2,1
此时 i和sum分别是:2,1
进行i自增后的i和sum分别是:3,3
此时 i和sum分别是:3,3
进行i自增后的i和sum分别是:4,6

2、 赋值运算符: = += -= *= /=

public class Demo1 {

    public static void main(String[] args) {

        int sum = 0;
        for(int i = 0; i < 4;i++){
//            sum = sum + i;  +=就是把变量 sun = sum + i  简写为了加等于  +=  
            sum += i;
            System.out.println("sum:"+sum);
        }
    }

}
结果:
sum:0
sum:1
sum:3
sum:6

3、instanceOf 用来判断某个实例是不是某个类的实例。子类实例也是父类的实例 结果只有true,false

4、逻辑运算符: && || ! 逻辑与或非(也叫做短路与或非)
说明:
&& :从左往右的运算规则,如果左边运算为false,就不会执行右边的语句,直接返回false
||:从左往右的运算规则,如果左边运算j结果为true,就不会执行右边的语句,直接返回true

5、条件运算符: ? :
说明:

//如果问号前面的结果为真(true),那么返回问号后面的值
//如果问号前面的运算结果为假(false),返回冒号后面的值;
int a =	 2 > 1 ? 2: 1;  //如果2大于1,返回2,否则返回1  可以用变量,来判断获取最大值
//结果: 2

6、位运算符:& | ^ ~ >> >>> <<

位运算是基于二进制,分别指 与,或,异或,非,右移,无符号右移,左移

Integer.toBinaryString(num);//用javaAPI自带的输出二进制

如: 23 进行运算  (java运行结果中,前面的0不会显示出来,仅仅便于查看)
20000 0010
30000 0011
&0000 0010      //2与3: 相同为1        
|0000 0011	   //2或3: 有一个1,结果就为1
^ : 0000 0001	   //2异或3: 相同为0,不同为1

//非2:因为int类型是4个字节,1字节=8位  所以显示为32位
~21111 1111 1111 1111 1111 1111 1111 1101  

2>>3:0000 0000    //java二进制会显示 0
2<<3:0001 0000	  //java二进制会显示 10000
2>>>3:0000 0000  //java二进制会显示 0
负数:-2(负数展示是:先取反再+1-21111 1111 1111 1111 1111 1111 1111 1110  
-2>>>3:无符号右移三位
0001 1111 1111 1111 1111 1111 1111 1   //java二进制
536870911	//输出java十进制
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值