Demo04 二进制 左右移 三元运算符

发布时间 2023-04-03 10:22:43作者: zhang6611

变量

image-20230403083512335

变量的命名规范

image-20230403085732631

 package base;
 
 public class Demo07 {
     public static void main(String[] args){
         //int a,b,c
         //int a=1,b=2,c=3; 程序的可读性
         String name = "qinjiang";
         char x = 'x';
         double pi = 3.14;
    }
 }
 

变量

 package base;
 
 public class Demo08 {
     //类变量 static
     static double salary = 2500;
 
     //属性:变量
 
     //实例变量:从属于对象:如果不自行初始化,这个类型的默认值
     //布尔值:默认是false
     //除了基本类型,其余的默认值都是null
     String name;
     int age;
 
     public static void main(String[] args){
         //局部变量:必须声明和初始化值
         int i=10;
 
         System.out.println(i);
 
         //变量类型 变量名字 = new base.Demo08()
         Demo08 demo08 =new Demo08();
         System.out.println(demo08.age);
         System.out.println(demo08.name);
 
         //类变量 static
         System.out.println(salary);
    }
 
     //其他方法
     public void add(){
 
    }
 }
 
 package base;
 
 public class Demo09 {
 
     //修饰符:不存在先后顺序
     final static double PI = 3.14;
     public static void main(String[] args){
         System.out.println(PI);
    }
 }
 

二元运算符

 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 =123123123123L;
         int b = 123;
         short c = 10;
         byte d = 8;
 
         System.out.println(a+b+c+d); //long
         System.out.println(b+c+d);  //Int
         System.out.println((double) c+d);  //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++; //执行完这行代码后,先给b赋值,再自增
         int c=++a; //执行完这行代码前,先给a自增,再给c赋值
 
         System.out.println(a);
 
         System.out.println(b);
 
         System.out.println(c);
 
         //幂运算 2^3 2*2*2 =8
         double pow = Math.pow(3,2);
         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));  //逻辑与运算:两个变量为真,结果才为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);
         System.out.println(d);
         System.out.println(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
          ~B = 1111 0010
 
          2*8 = 16 2*2*2*2
          效率极高
          << *2
          >> /2
 
          0000 0000   0
          0000 0001   1
          0000 0010   2
          0000 0011   3
          0000 0100   4
          0000 1000   8
          0001 0000 16
 
          */
 
         System.out.println(2<<3);
    }
 }
 
 package operator;
 
 public class Demo07 {
     public static void main(String[] args){
         int a =10;
         int b =20;
 
         a+=b; //a = a+b
         a-=b; //a = a-b
 
         System.out.println(a);
 
         //字符串连接符 +   ,String
         System.out.println(a+b);
         System.out.println(""+a+b);
         System.out.println(a+b+"");
    }
 }
 

三元运算符

 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);
    }
 }