java 基本运算符和包机制


运算符概述:

  • 算术运算符:+,-,*,/,%(取余),++(自增),- -(自减)
  • 赋值运算符:=
  • 关系运算符:>,<,>=,<=,==(等于),!=(不等于),instanceof(测试它左边的对象是否是它右边的类的实例,返回boolean类型的数据。)
  • 逻辑运算符:&&,||,!
  • 位运算符:&,|,^(异或),~(非),>>(右移,num << 1,相当于num除以2),<<(左移,num >> 1,相当于num乘以2),>>>
  • 条件运算符:? :
  • 扩展赋值运算符:+=,-=,*=,/=

运算符说明:

  • 算术运算符
public class Variable2 {
    public static void main(String[] args) {
        int a=10;
        int b=20;
        int c=31;
        int d=30;
        System.out.println(a+b);//值为30
        System.out.println(a-b);//值为-10
        System.out.println(a*b);//值为200
        System.out.println(a/b);//值为0,a和b都为int型,所求得的值默认也为int型,
        System.out.println(a/(double)b);//进行强制转换,值为0.5
        System.out.println(c%a);//取余,值为1
    }
}
public class Variable2 {
    public static void main(String[] args) {
        long a=10_0000_0000L;
        int b=130;
        short c=30;
        byte d=40;
        System.out.println(a+b+c+d);//值为long类型,因为a为long类型
        System.out.println(b+c+d);//值为int类型,因为b为int类型
        System.out.println(c+d);//值为int类型
    }
}
public class Variable2 {
    public static void main(String[] args) {
        int a=10;
        int b=a++;
        int c=++a;
        System.out.println(a);//值为12,a++后a为11,++a后a为12
        System.out.println(b);//值为10,b=a++,计算是先将a赋给b,然后再自增
        System.out.println(c);//值为12,c=a++,计算是先将a自增,再赋给c
    }
}
  • 关系运算符
public class Variable2 {
    public static void main(String[] args) {
        int a=10;
        int b=20;
        //关系运算符返回值为:true或者false
        System.out.println(a>b);//结果为false
        System.out.println(a<b);//结果为true
        System.out.println(a==b);//结果为false
        System.out.println(a!=b);//结果为true
    }
}
  • 逻辑运算符
public class Variable2 {
    public static void main(String[] args) {
       //&&(与)  ||(或)  !(非)
        boolean a=true;
        boolean b=false;
        System.out.println(a&&b);//逻辑与运算,两个都为真,结果为真
        System.out.println(a||b);//逻辑或运算,有一个为真,结果为真
        System.out.println(!b);//逻辑非运算,原为真,结果为假
        
        
        //短路运算:若前一个条件可以决定最终结果,则后一个判断不执行
        int c=4;
        boolean d=c<3&&c++<5;
        System.out.println(d);//结果为false
        System.out.println(c);//结果为4,c++并没有执行
    }
}
  • 位运算符
public class Variable2 {
    public static void main(String[] args) {
        /*A=1000 0101
          B=0101 0110
          
          A&B=0000 0100  都为1则为1,其余为0
          A|B=1101 0111  有一个为1则为1,其余为0
          A^B=1101 0011  相同为0,不同为1
          ~B=1010 1001   1为0,0为1
        */
        //<< 左移(乘以2) >>右移(除以2)   :计算效率极高
        System.out.println(2<<3); //结果为16,2*2*2*2
        System.out.println(8>>1); //结果为4,8/2
        System.out.println(5>>1); //结果为2,5/2(int类型,取整)
  • 条件运算符
public class Variable2 {
    public static void main(String[] args) {
       //x?y:z   如果x为真,则结果为y,否则为z
        int a=10;
        int b=20;
        String c=b<10?"真":"假";
        System.out.println(c);
    }
}
  • 扩展赋值运算符
public class Variable2 {
    public static void main(String[] args) {
        int a=10;
        int b=20;
        a+=b;//a=a+b,结果为30
        a-=b;//a=a-b,结果为10
        System.out.println(a);//结果为10
        //字符串连接符:+   String类
        System.out.println(""+a+b);  //结果为1020,""在前面,类型变为了String类,结果也为String类,即文本类
        System.out.println(a+b+"");//结果为30,a+b在前面,类型为int类,结果也为int类,即数值类
    }
}

包机制

  • 包机制的出现是为了更好的组织类,Java的包机制用于区别类名的命名空间
  • 语法为:package pak1[.pag2[.pkg3…]]

一般用公司域名倒置作为包名:com.baidu.www

  • 为了使用某一个包的成员,需要在Java程序中导入该包,关键字为:“import”
  • 语法为:import package1[.package…].(classname|*)
  • package*的意思为导入该包下面的所有类