Java基础语法——运算符|包机制

Java基础语法——运算符|包机制

创建打包

其实就是创建一个文件夹

运算符(operator)

java语言支持如下运算符

  1. 算数运算符:+ - * / % ++ --
  2. 赋值运算符:=
  3. 关系运算符:< > <= >= == !=
  4. 逻辑运算符:&& || !
  5. 位运算符:& | ^ ~ >> << >>>(了解!!!)
  6. 条件运算符:?:
  7. 扩展赋值运算符:+= -= *= /=

二元运算符

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);
    }
}
public class Demo02 {
    public static void main(String[] args) {
        long a = 1231123123123123L;
        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(c+d);     //int

    }
}

注:

  1. 当有两个数据都是int的时候,结果为小数,则需要先将一个int转换一个double;
  2. 当有多个操作数时,有long就为long,其它返回的是int,有一个double就为double;

++ -- 自增 自减

++:自增

--:自减

在代码中a++:先输出后加1;a--:先输出后减1;++a:先加一后输出;--a:先减一后输出;

public class Demo04 {
    public static void main(String[] args) {
        //++   --   自增   自减
        int a= 3;
        int b = a++;//执行完这行代码后,先给b赋值,再自增  //a++  a= a + 1

        System.out.println(a);
        int c = ++a;//执行完这行代码后,先给自增,再b赋值
        System.out.println(a);
        System.out.println(b);
        System.out.println(c);

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

    }
}

比较运算符

public class Demo03 {
    public static void main(String[] args) {
        //关系运算符返回的结果:  正确   错误  --->boolean值

        int a = 10;
        int b = 20;
        int c = 21;

        //取余,模运算
        System.out.println(c%a);//c/a   21/10 = 2.....1

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

    }

逻辑运算符

短路运算:

​ 在使用逻辑运算符的时候,要是有能一下就知道结果的,就将放在前面,这样逻辑运算就不会执行后半部分代码,而是去执行下一步,从而达成短路效果。

    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(c);
        System.out.println(d);
    }
}

位运算

左移:*2

右移:/2

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 0010

        2*8 = 16   2*2*2*2
        <<:左移  *2
        >>:右移  /2

        在二进制中:
             0000 0000        0
             0000 0001        1
             0000 0010        2
             0000 0100        4
             0000 1000        8
             0001 0000        16
             左移一位相当于乘以2,右移一位相当于除以2;
        */
    }
}

扩展赋值运算符(偷懒用的)

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  当加号前面出现string字符串,此时加号为连接符

        System.out.println(" "+a+b);
        //string字符串要放到前面才会进行连接,否则就是加法运算
        System.out.println(a+b+" ");
    }
}

三元运算

比较常用;这样写比较简单,代码读起来也简单明了。

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

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

优先级

我们学过代码的都知道,程序在运行中都会有优先级的问题;一般为了清楚,我们使用最高优先级的(),来确保我们对代码优先级清楚明了。

包机制

包:本质就是文件夹

包语句的语法格式:

package  pkg1[. pkg2 [. pkg3...]];

注:

  1. 一般利用公司域名倒置作为包名

  2. 为了能使用某一个包的成员,我们需要在Java程序中明确导入该报。使用improt语句可完成此功能

    import package1[. package2...].(classname/*)   //后面跟文件名,或者跟*表示该包下的所有文件
    
posted @ 2020-11-17 22:56  全科图书馆  阅读(101)  评论(0编辑  收藏  举报