运算符

运算符Math类

第一部分

package operator;

public class Demo01 {
   public static void main(String[] args) {
       //二元运算符
       //ctrl + D :复制当前行到下一行
       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);

  }
}

第二部分

package operator;

public class Demo02 {
   public static void main(String[] args) {
       long a = 123456256525L;
       int b = 123;
       short c = 10;
       byte d = 8;

       double e = 3.14159;

       System.out.println(a+b+c+d);//Long
       System.out.println(b+c+d);//int
       System.out.println(c+d);//int
       System.out.println(e+c);//double

       //有Long输出为Long,有double输出为double
       // 其他都会默认输出为int型

  }
}

第三部分

package operator;

public class Demo03 {
   public static void main(String[] args) {
       //关系运算符返回的结果:正确,错误 布尔值
       int a = 10;
       int b =20;
       int c =21;

       System.out.println(c%a);

       System.out.println(a>b);
       System.out.println(a<b);
       System.out.println(a==b);
       System.out.println(a!=b);
  }
}

第四部分

package operator;

public class Demo04 {
   public static void main(String[] args) {
       //++ -- 自增 自减 一元运算符
       int a = 3;
       int b = a++;  //a++ a=a+1

       System.out.println(a);
       int c = ++a;  //

       System.out.println(a);
       System.out.println(b);
       System.out.println(c);

       //幂运算 2^3 2*2*2 =8 很多运算,我们会使用一些工具类来操作
       double pow = Math.pow(3, 4); //Math类
       System.out.println(pow);


  }
}

第五部分:逻辑运算符(短路运算)

package operator;

public class Demo05 {
   public static void main(String[] args) {
       //与(and) 或(or) 非(取反)
       boolean a =true;
       boolean b =false;

       System.out.println("a && b:"+(a&&b));//逻辑与运算
       System.out.println("a || b:"+(a||b));//逻辑或运算
       System.out.println("!(a && b):"+!(a&&b));//如果是真则变为假,假则变为真

       //短路运算
       int c=5;
       boolean d=(c<4)&&(c++<4);
       System.out.println(d);
       System.out.println(c);//输出值为5,因为(c<4)执行后为false所以后面的c++不会再执行
       

  }
}

第六部分:位运算

package operator;

public class Demo06 {
   public static void main(String[] args) {
       //位运算
       /*
       A = 0011 1100
       B = 0000 1101
       -------------------------------------
       A&B = 0000 1100
       A|B = 0011 1101
       A^B = 0011 0001 //相同为0 不同为1
       ~B = 1111 1101 //对B取反

       2*8 =16 2*2*2*2
       //位运算效率极高
       << 左移 *2
       >> 右移 /2

       */
       System.out.println(2<<3);
  }
}

第七部分:条件运算符

package operator;

public class Demo08 {
   public static void main(String[] args) {
       // x ? y : z 条件运算符
       //如果x==true,则结果为y,否则结果为z

       int score = 80;
       String type = score < 60?"不及格":"及格";
       //if
       System.out.println(type);

  }
}

 

 

上一篇:To_Heart—题解——[HEOI2013]ALO


下一篇:逆序数的实现——基于二路归并排序