JavaSE
二、Operater运算符
- Demo1:二元运算
int a = 11;
int b = 21;
System.out.println(a+b);
System.out.println(a-b);
System.out.println(a*b);
System.out.println(a%b);//取余
System.out.println(a/(double)b);//顺便转个类型玩
- Demo2:多类型运算
long a = 1233232L;
int b =123;
short c = 11;
byte d = 8;
//输出规则:有long就是long,
System.out.println(a+b+c+d);//long
System.out.println(b+c+d);//int
System.out.println(c+d);//int
System.out.println((double)c+d);//int 一个数为double结果就是double
- Demo3:关系运算
int a =11;
int b =21;
int c =31;
System.out.println(a>b);
System.out.println(a<b);
System.out.println(a==b);
System.out.println(a!=b);
- Demo4:自增自减以及幂运算:
//++,-- 自增,自减 一元运算符
int a = 3;
int b =a++;//先赋值再加
System.out.println(b);//b = 3
System.out.println(a);//a = 4
int c = ++a; //先加再赋值
System.out.println(c);//c = 5
System.out.println(a);//a = 5
//幂运算,用到数学类 ,很多运算,我们会使用一些工具类来操作
double pow = Math.pow(3,2);//3的2次方
System.out.println(pow);
- Demo5:逻辑运算
public class Demo5 {
public static void main(String[] args) {
//与,或,非
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));//与取非
//短路运算
int c = 5;
boolean d = (c<4)&&(c++<4);//前面是错的,后面就不执行了,所以c还是5
System.out.println(d);
System.out.println(c);
}
- Demo6:位运算:&,|,^(异或),~,<<(左移),>>(右移)
/*二进制
A = 0011 1100
B = 0000 1101
A&B 0000 1100 每一位上进行与运算
A|B 0011 1101 每一位上进行或运算
A^B 0011 0001 异或 相同0 不相同为1
~B 1111 0010
面试题:2*8怎么最快 2*2*2*2
<<左移 相当于乘以2
>>右移 相当于除以2
0000 0000 0
0000 0001 1
0000 0010 2
0000 0100 4
0000 1000 8
0001 0000 16
所以2<<左移3位 就是16了
*/
- Demo7:拓展数值运算符:+=,-=,字符串连接符
int a = 9;
int b = 19;
a+=b;//a = a + b
a-=b;//a = a - b
System.out.println(a);
//字符串连接符
System.out.println(a+b);
System.out.println(""+a+b);//一起变成String类型了
System.out.println(+a+b+"");//前面依据计算,后面拼字符串
- Demo8:
- 三元运算符
// x ? y :z,记住问号和冒号就好了,跟if语法一样
//如果x==true,则结果为y,否则结果为z
int score = 79;
String type = score <60 ? "不及格" : "及格";//用type接收一下
System.out.println(type);
- 包机制
/*
包机制
1、创建包,管理包,本质是文件夹 例如:com.baidu.www
2、查看包 String ctrl+enter 最上面有包的位置,可以在lang再ctrl+enter一下,最后可以看到包的位置
3、导入包:Date alt+enter导入包,会生成一句话import java.util.Date,且在packet下面
4、使用别的包中的类 import com.fenfen.base.Demo1;但是会导致现在包中同个名字的类无效,因为已经被引用过了,改个名字就好
如果想要别的包下所有的类:import com.fenfen.base.*;这个*就很传神,表示所有
*/