运算符补充部分
- +,-,*,/
package operator;
public class Demo01 {
public static void main(String[] args) {
//二元运算符
//Ctrl + D 复制当前行到下一行
int a = 10;
int b = 20;
int c = 25;
int d = 40;
System.out.println(a+b);
System.out.println(a-b);
System.out.println(a*b);
System.out.println(a/(double)b);
}
}
- 如果运算中容量最高的为int或者容量比int更低的类型,则运算结果输出为int类型;如果为long最高,则输出为long;如果有double,则输出为double
package operator;
public class Demo02 {
public static void main(String[] args) {
long a = 12345124694L;
int b = 15364;
short c = 12;
byte d = 5;
System.out.println(a+b+c+d);//long 有long则输出为long类型
System.out.println(b+c+d); //int 没有long类型时,无论是否有int,皆输出为int
System.out.println(c+d); //int
System.out.println((double)(c+d)); //double 如果有double类型,一定输出double类型
}
}
- %取余
package operator;
public class Demo03 {
public static void main(String[] args) {
//关系运算符返回的结果: 正确 , 错误 布尔值
// if
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);
}
}
- ++ -- 和幂运算
package operator;
public class Demo04 {
public static void main(String[] args) {
// ++ 自增 -- 自减 一元运算符
int a = 3;
System.out.println(a);
int b = a++;//执行完这行代码后,先给b赋值,再自增
// b = a
// a = a + 1
System.out.println(a);
System.out.println(b);
int c = ++a;//执行这行代码前,先自增,再给c赋值
// a = a + 1
// c = a
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);
}
}
- 与(&&),或(||),非(!)
package operator;
//逻辑运算符
public class Demo05 {
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++<10);
System.out.println(c);
System.out.println(d);
}
}
- 位运算,左移右移
package operator;
public class Demo06 {
public static void main(String[] args) {
/*
A = 0011 1100
B = 0000 1101
-----------------------------
A&B = 0000 1100 A和B同位置数据都为1,则输出1,反之输出0
A|B = 0011 1101 A和B同位置数据至少有一个为1,则输出1,反之输出0
A^B = 1100 0001 A和B同位置数据相同,则输出1,反之输出0
~B = 1111 0010 B为1,则输出0;B为0,则输出1
2*8 = 16 怎么运算最快 2*2*2*2
效率极高!!!!
<< 左移 相当于*2
>> 右移 相当于/2
0000 0000 0
0000 0001 1
0000 0010 2
0000 0011 3
0000 0100 4
0000 1000 8
0001 0000 16
*/
System.out.println(2<<3);
}
}
- 字符串连接符 +
package operator;
public class Demo07 {
public static void main(String[] args) {
int a = 10;
int b = 20;
a+=b;//a = a+b
a-=b;
System.out.println(a);
//字符串连接符 + , String字符串后面的变量会被转换成字符串形式,前面的不受影响
System.out.println(a+b);
System.out.println(""+a+b);
System.out.println(a+b+"");
System.out.println(a+b+""+a);
}
}
- 三元运算符
package operator;
//三元运算符
public class Demo08 {
public static void main(String[] args) {
// x ? y : z
//如果 x==true ,则结果为y,否则结果为z
int score = 80;
String type = score <60 ?"不及格":"及格"; //必须掌握
// if
System.out.println(type);
}
}
- 运算符优先级,最高的是括号(),写代码时常用括号
包机制
-
包就是文件夹
-
为了更好的组织类,java提供了包机制,用于区别类名的命名空间
-
包语句的语法格式为
package pkg1[. pkg2[. pkg3…]];
- 一般利用公司域名倒置作为包名;
- 为了能够使用某一个包的成员,我们需要在java的程序中明确导入该包。使用“inport”语句可完成此功能
import package1[.package2…].(classname|*);
- *是通配符,代表导入包内所有东西
javaDoc
- javadoc命令是用来生成自己API文档的
- 参数信息
- @author 作者号
- @version 版本号
- @since 指明需要最早使用的jdk版本
- @param 变量名
- @return 返回值情况
- @throws 异常抛出情况