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*的意思为导入该包下面的所有类