运算符细节讲解
1.算數(shù)運(yùn)算符+,-,*,/,%,++,--
2.賦值運(yùn)算符=
3.關(guān)系運(yùn)算符>,<,>=,<=,==,!=instanceof
4.邏輯運(yùn)算符&&,||,!
package operator; ? public class Demo01 {public static void main(String[] args) {//二元運(yùn)算符//ctrl+d,復(fù)制當(dāng)前一行到下一行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/b);//0,需轉(zhuǎn)換System.out.println(a/(double)b);//0.5} ? } ? 30 -10 200 0 0.5 ? ? ? package operator; ? public class Demo02 {public static void main(String[] args) {long a=1234565424242L;int b=129;short c=10;byte d=8;System.out.println(a+b+c+d);//long 1234565424383 只要有l(wèi)ong就為long,其余intSystem.out.println(b+c+d);//int 147System.out.println(c+d);//int 18} } ? 1234565424389 147 18 ? ? package operator; ? public class Demo03 {public static void main(String[] args) {//關(guān)系運(yùn)算符 返回ture or falseint a=10;int b=20;int c=21;System.out.println(c%a);//取余 ? 1System.out.println(a>b);System.out.println(a<b);System.out.println(a==b);System.out.println(a!=b);} } ? 1 false true false true ? ? package operator; ? public class Demo04 {public static void main(String[] args) {//++ -- 自增自減一元運(yùn)算符int a=3;int b=a++;//執(zhí)行完這行代碼前,先給b賦值,在自增//a=a+1System.out.println(a);//4//a=a+1int c=++a;System.out.println(a);//5System.out.println(b);//3System.out.println(c);//5//冪運(yùn)算 2^3 2*2*2=8 很多運(yùn)算,我們會(huì)使用一些工具類操作double pow = Math.pow(2, 3);//ctrl+alt+v快速生成左邊System.out.println(pow);//8.0 ?} } ? 4 5 3 5 8.0 ? package operator; ? public class Demo05 {public static void main(String[] args) {//與(and)或(or)非(取反)boolean a=true;boolean b=false;System.out.println("a && b:"+(b&&a));//邏輯與運(yùn)算:兩真才trueSystem.out.println("a||b"+(a||b));//邏輯或:一真就trueSystem.out.println("!(a&&b)"+!(a&&b));//邏輯非:真就變?yōu)閒alse,假就變?yōu)閠rue ?//短路運(yùn)算 &&int c=5;boolean d=(c<4)&&(c++<4);//前面false,&&就短路,后面(c++<4)不用看System.out.println(d);//falseSystem.out.println(c);//5} } ? a && b:false a||btrue !(a&&b)true false 5 ? package operator; ? public class Demo06 {public static void main(String[] args) {/** A=0011 1100* B=0000 1101* ------------------------* A&B=0000 1100//都是1才為1,否則為0* A|B=0011 1101//都是0才為0,否則為1* ~B=11110010//取反* 2*8=16如何算的最快 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 ? //結(jié)論; << *2 ? 推理:>>2 /2* */System.out.println(2<<3);//16} } ? 16 ? package operator; ? public class Demo07 {public static void main(String[] args) {int a=10;int b=20;a+=b;//a=a+ba-=b;//a=a-bSystem.out.println(a);//10//字符串連接符 +,stringSystem.out.println(""+a+b);//1020 字符串在前面才連接在一起System.out.println(a+b+"");//30System.out.println(a+""+b);//1020 ?} } ? 10 1020 30 1020 ? package operator; ? public class Demo08 {public static void main(String[] args) {//三元運(yùn)算符//x?y:z//如果x==true就為y否則為zint score=50;String type=score< 60 ?"不及格":"及格";System.out.println(type);} } ? 不及格總結(jié)
- 上一篇: Python range 函数 - Py
- 下一篇: 上传自己的项目到github