Java语法基础(二)

运算符

  • 算数运算符:+,-,*,/,%,++,--
  • 赋值运算符:=
  • 关系运算符:>,<,>=,<=,==,!=,instanceof
  • 逻辑运算符:&&,||,!
  • 位运算符:&,|,^,~,>>,<<,>>>(了解!!!)
  • 条件运算符 ?:
  • 扩展赋值运算符:+=,-=,*=,/=,

关于运算符的注意点

注意运算的类型

int a = 10;
int b = 20;
System.out.println(a/b);//这里结果为0,因为(a/b)为int型 故0.5保留整数为0
System.out.println(a/(double)b);//这里结果为0.5,通过(double)b将b强制转化为double类型,故a/(double)b为double类型。
//不同数据类型进行运算时,会自动转化为最高的数据类型
long a = 12131541551L;
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  byte或short类型进行运算时会自动转为int类型

char、short、byte-->int-->long-->float-->double

低--------------------------------------------------------------->高

//关系运算符返回的结果: 正确,错误  布尔值

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

//模运算
System.out.println(c%a);//取余数 1

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

关于自增自减符号:

//++,-- 自增,  自减   一元运算符
int a = 3;

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

System.out.println(a);//5
System.out.println(b);//3
System.out.println(c);//5

逻辑运算符:

// 与(and)  或(or)  非(取反)
boolean a = true;
boolean b = false;

System.out.println("a && b: "+(a&&b)); //逻辑与运算: 两个变量都为真,结果才为true
System.out.println("a || b: "+(a||b) );//逻辑或运算: 两个变量都为假,结果才为false
System.out.println("!(a && b): "+!(a&&b));//如果是真,则变为假;如果是假,则变为真

//短路运算
int c = 10;
boolean d = (c<4)&&(c++<4);//因为(c<4)为假,所以(c<4)&&(c++<4)一定为假,于是不需要执行且确实没有执行(c++<4)
System.out.println(d);//结果为false
System.out.println(c);//结果为10,而不是11,因为并没有执行c++<4

位运算符:

/*
A = 0011 1100
B = 0000 1101

A&B = 0000 1100   对应位置都为1 结果才为1
A|B = 0011 1101   对应位置都为0 结果才为0
A^B = 0011 0001   对应位置相同 结果为0 对应位置不同 结果为1
~B = 1111 0010    对应位置为1 结果为0 对应位置为0 结果为1

效率极高!!!
<<左移号  相当于 *2
>>右移号  相当于 /2

0000 0000     0
0000 0001     1
0000 0010     2
0000 0100     4
0000 1000     8
0001 0000     16

*/

System.out.println(2<<3);//结果为16

扩展赋值运算符:

int a = 10;
int b = 20;

a+=b;//a = a+b
a-=b;//a = a-b
System.out.println(a);//结果为10

字符串连接符 +

int a = 10;
int b = 20;
//由于+的运算顺序是从左向右的,故以下结果不同
System.out.println("xxx"+a+b);//结果为xxx1020,先计算"xxx"+a,类型为String型,故为1020
System.out.println(a+b+"xxx");//结果为30xxx,先计算a+b,类型为int型,故为30,再算30+"xxx",结果为String类型

条件运算符 ?:

//x ? y : z
//如果x==true,则结果为y, 否则结果为z

包机制

  • 一般利用公司域名倒置作为包名;
  • 为了能够使用某一个包的成员,我们需要在Java程序中明确导入该包。使用”import“语句可完成此功能

JavaDoc

javadoc命令是用来生成自己API文档的

参数信息

  • @author 作者名
  • @version 版本号
  • @since 指明需要最早使用的jdk版本
  • @param 参数名
  • @retuen 返回值情况
  • @throws 异常抛出情况