JAVA基础语法 运算符

多元运算先乘除再加减

System.out.println("------一元运算符---------"); 
//++,-- 自增,自减 只需要自己一个数 所以称为一元运算符 
int f=3; 
int g=f++;//执行完这行代码后再给f重新赋值 
//f=f+1; 4=3+1 
System.out.println(g); 
System.out.println(f); 
//f=f+1; 5=4+1 
int h=++f;//执行这行前先给f赋新值 
System.out.println(h); 
System.out.println("---------二元运算符-----------");
//二元运算符
int a = 10;
int b = 15;
int c = 20;
int d = 25;
System.out.println(a+b);
System.out.println(a-b);
System.out.println(a*b);
System.out.println(a/(double)b);
System.out.println(a%b);
System.out.println(b%a);//b÷a=1....5
System.out.println("--------三元运算符-----------"); 
//X ? Y:Z 
//如果X==true 结果为Y 否则结果为Z 
int score = 80; 
String type = score>60 ? "及格":"不及格"; 
System.out.println(type);

System.out.println("------运算结果的类型转换---------");

byte w1=8;
short w2=10;
int w3=5;
long w4=9999999999L;
System.out.println(w1+w2+w3+w4);//long类型结果  如果含有long结果都为long类型
System.out.println(w1+w2+w3);//int类型结果      如果没有long结果都为int类型,无论你其中有没有int
System.out.println(w1+w2);//int类型结果
System.out.println((double) w1+w2);//强制转换后结果为double

System.out.println("---------------");
System.out.println(w1==w2);
System.out.println(w1>=w3);
System.out.println(w1!=w4);



System.out.println("-------幂运算--------");
//幂运算使用Math工具类来操作
double result = Math.pow(2,3);
System.out.println(result);

System.out.println("-------逻辑运算符--------");
//逻辑运算符  与(&&)  或(||)  非(!取反)
boolean key1 = true;
boolean key2= false;
System.out.println("key1&&key2:"+(key1&&key2)); //两个都为真结果为真  两个都为假结果为假
System.out.println("key1||key2:"+(key1||key2)); //一个为真结果为真
System.out.println("!(key1&&key2):"+!(key1&&key2));
//短路运算:意思是在与的条件下,如果前面的为假结果一定是假,后面的值不会进行判断
int key3= 5;
boolean o= (key3<4)&&(key3++<4);
System.out.println(o);
System.out.println(key3);//key3++并没有被执行变为6,说明后面(key3++<4);部分已短路未执行


System.out.println("--------位运算-------");
/*位运算底层多了解计算机组成原理
 *   A= 0011  1101
 *   B= 0101  0010
 * -----------------
 * A&B= 0001  0000   0=false 1=true
 * A|B= 0111  1111
 * A^B= 0110  0000  亦或 00相同是0 01不同是1 11相同取反是0
 *  ~B= 1010  1101
 *
 *
 * 2*8怎样运算最快?
 * 将2*8 拆分成2*2*2*2
 * 位运算跟底层二进制打交道,效率极高
 *   <<  *2  左移相当于乘2
 *   >>  /2  右移相当于除2
 *
 */
System.out.println(2<<3);

System.out.println("--------拓展赋值运算符-------");
int nu1=10;
int nu2=5;
nu1+=nu2;//nu1=nu1+nu2;
System.out.println(nu1);
nu1-=nu2;//nu1=nu1-nu2;
System.out.println(nu1);

//字符串连接符
System.out.println(a+b);
System.out.println(""+a+b); //  1015   在+前面是String类型就会把其他都转换成String再进行连接
System.out.println(a+b+"");//   25


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值