五、运算符
文章目录
笔记
- 加减乘除
//Ctrl + D 复制当前行到下一行
int a = 10;
int b = 20;
int c = 25;
int d = 10;
System.out.println(a+b);
System.out.println(a-b);
System.out.println(a*b);
System.out.println(a/b);//10/20=0.5,但是int类型输出为0
System.out.println(a/(float)b);//把其中一个数强制类型转换为float类型,输出为小数
- 数值类型计算过程中
- 如果有一个数为long类型,得到的结果均为long类型
- 如果有一个数为double类型,得到的结果均为double类型
- 除此之外,所有计算(无论含不含int类型)如,short、byte计算结果均为int类型
long a = 2212211111222222L;
int b = 223;
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转换为double浮点数类型
/*
运算过程中,
- 如果有一个数为long类型,得到的结果均为long类型
- 如果有一个数为double类型,得到的结果均为double类型
除此之外,所有计算(无论含不含int类型)如,short、byte计算结果均为int类型
*/
- 关系运算符计算结果
int a = 10;
int b = 20;
int c = 21;
System.out.println(a>b);
System.out.println(a<b);
System.out.println(a==b);
System.out.println(a!=b);
System.out.println(c%a);//取余,模运算
- 自增++ 自减–
int a = 3;
System.out.println(a);
System.out.println("===================");
int b = a++;//先把a当前值赋给b以后,在执行自增操作
System.out.println(a);
System.out.println(b);
System.out.println("===================");
int c = ++a;//a先执行自增,然后再把a的当前结果赋给c
System.out.println(a);
System.out.println(c);
System.out.println("===================");
//幂运算 2^3 = 2*2*2 使用Math类来处理,其实就是封装的函数
double pow = Math.pow(3,2);
System.out.println(pow);
- 逻辑运算符:与或非
// 与and 或or 非--取反
boolean a = true;
boolean b = false;
System.out.println("a&&b" + " " + (a&&b));
System.out.println("a||b" + " " + (a||b));
System.out.println("!(a&&b)" + " " + (!(a&&b)));
System.out.println("===================");
//短路运算 a&&b,如果a为false,则直接输出false,不会再往后继续执行b
int c = 5;
boolean d = (c>10)&&(c++>4);
/*
c>10为false,如果继续往后执行,输出c的值应该为6
但是输出结果为5,说明没有执行后面一句的判断,直接输出false
*/
System.out.println(d);
System.out.println(c);
-
位运算符(按位运算,与底层计算机运算相关,计算机组成原理)
-
与、或、非、异或
- 例:A = 0011 1100; B = 0000 1101
-
与----同1为1,其余为0
A&B = 0000 1100
-
或----同0为0,其余为1
A|B = 0011 1101
-
非----按位取反
~B = 1111 0010
-
异或----相同为0,相异为1
A^B = 0011 0001
-
<<左移 >>右移(指向哪,就往哪移)效率极高
<<相当于乘2 >>相当于除2 右移后正数高位补0,负数高位补1 >>>无符号右移,右移后无论正数负数高位都补0
//输出2^4 即2*2*2*2 int a = 2; System.out.println(a<<3);//2为2^1,16为2^4,左移三位相当于乘三次2,乘2^3 = 8
补:在试验>>时发现,float类型和double类型都不能使用,提示只能支持int类型的快速转换
-
-
扩展赋值运算符
//扩展赋值运算符+=,-=,*=,/=
//+=
int a = 10;
int b = 20;
a+=b;//a = a+b
System.out.println(a);
System.out.println("===================");
//-=
int c = 10;
int d = 20;
c-=d;
System.out.println(c);
System.out.println("===================");
//*=
a = 10;
a*=b;
System.out.println(a);
System.out.println("===================");
// /=
c = 10;
c/=d;
System.out.println(c);
System.out.println("===================");
//字符连接符号 +
a = 5;
c = 30;
d = 40;
System.out.println(""+a+b);//""为String类型,在+后面的内容也被转换为String类型
System.out.println(a+b+""+c+d);//a+b在""前面,所以可以先计算a+b的值,同时""后面的内容变成了String类型输出
- 三元运算符
/*
三元运算符
x ? y : z
如果x为真,结果为y,否则为z
*/
int score = 75;
String result = score>60 ? "及格":"不及格";
System.out.println(result);
- idea快捷键 Ctrl + D 复制当前行内容到下一行
六、包机制,JavaDoc
- 包就是文件夹,一般用公司域名倒置作为包名,如百度的包名为com.baidu.www
- 导入包使用import语句
- 在任何时候,package那一栏必须要在最上面一行,不然就会报错
- 尽量避免在不同包下设置相同的类名,导入的时候会报错
- 导入一个包下的所有内容,用*
import com.yang.operator.*;//operator下的所有内容都被导入
-
JavaDoc
-
使用cmd命令生成JavaDoc文档
-
在base目录下cmd进入命令窗口
-
敲入命令
javadoc -encoding UTF-8 -charset UTF-8 Doc.java //-encoding UTF-8 -charset UTF-8为编码格式,不用管
-
打开生成后目录下的index.html文件
-
结果
-
-
使用idea创建JavaDoc文档
-
选中要创建的包名
-
选择Tools–>Generate JavaDoc
-
配置选项
- -encoding UTF-8 -charset UTF-8
- -encoding UTF-8 -charset UTF-8
-
打开目录下的index.html文件
-
-