运算符
优先级:使用()来改变运算符的优先级
public static void main(String[] args) {
//二元运算符(算数)
int a=10;
int b=20;
int c=25;
int d=25;
System.out.println(a+b);
System.out.println(a-b);
System.out.println(a*b);
System.out.println(a/(double)b);//double转换类型
System.out.println(c%a);//取余 模运算
long x=123123123123123L;
int y=123;
short z=10;
byte j=8;
System.out.println(x+y+z+j);//Long
System.out.println(x+y+z);//int
System.out.println(z+j);//int
//注意:在运行的过程中 有Long类型,最后的结果也是Long类型
//有double类型,最后的结果也是double类型
//关系运算符的结果 正确 错误
int q=10;
int o=20;
System.out.println(q<0);
System.out.println(q>0);
System.out.println(q==0);
System.out.println(q!=0);
}
//++ -- 自增 自减 一元运算符
int a = 3;
int b = a++;//执行完这行代码后,先给b赋值 再自增
//a=a+1 隐藏了这一行代码
System.out.println(a);//4
int c = ++a;//执行完这一行后 先自增 再给b赋值
System.out.println(a);//5
System.out.println(b);//3
System.out.println(c);//5
//幂运算 2^3 2*2*2=8
//很多运算 会用到一些工具类在操作Math类中有很多
System.out.println(Math.pow(2,3));
//逻辑运算符 与(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++<4);
System.out.println(d);
System.out.println(c);
//位运算符
/*
A= 0011 1100
B= 0000 1101
//上下进行比较 0假1真 11为真 其他都是假
A&B:0000 1100
//上下进行比较 有一个1则为真
A|B:0011 1101
//相同为0 不同为1
A^B:0011 0001
//相同为1 不同为0
~B:1100 1110
怎样计算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);//16
int a = 10;
int b = 20;
a += b;//a=a+b
a -= b;//a=a-b
System.out.println(a);
//字符串链接符 + ,String
System.out.println(a+b);
System.out.println(""+a+b);//字符串在前面 会进行拼接
System.out.println(a+b+"");//字符串在后面 会先进行运算
//三元运算符
//x ? y : z
//如果x==true, 则结果为y,否则结果为z
int score=60;
String type=score<70? "不及格":"及格";//必须掌握
//if运算
System.out.println(type);
包机制
- 一般利用公司域名倒置作为报名:例如com.feistudy.www
- import 包名 导入包