java基礎07:運算子
阿新 • • 發佈:2021-08-07
目錄*擴充套件賦值運算子:+= , -= , = , /=
- 運算子
- Java 雲煙支援如下運算子:
- 算學運算子:+、-、*、/、%、++、--
- 賦值運算子:=
- 關係運算符:> , < , >= , <= , == , ! = instanceof
- 邏輯運算子:與&&,或||,非!
- 位運算子:&,|,^取反,~取反,>>右移,<<左移,>>>(瞭解!!)
- 條件運算子? :
- *擴充套件賦值運算子:+= , -= , = , /=
- 算學運算子:+、-、*、/、%、
- 算學運算子:+、-、*、/、不同型別的運算
- 算學運算子:++、--
- 關係運算符:> , < ,== , ! = instanceof
- 邏輯運算子:與&&,或||,非!
- 位運算子:&,|,^取反,~取反,>>右移,<<左移,>>>(瞭解!!)
運算子
Java 雲煙支援如下運算子:
算學運算子:+、-、*、/、%、++、--
賦值運算子:=
關係運算符:> , < , >= , <= , == , ! = instanceof
邏輯運算子:與&&,或||,非!
位運算子:&,|,^取反,~取反,>>右移,<<左移,>>>(瞭解!!)
條件運算子? :
*擴充套件賦值運算子:+= , -= , = , /=
算學運算子:+、-、*、/、%、
package operator; public class Demo01 { public static void main(String[] args) { //二元運算子 //Ctrl+D:複製當前行到下一行 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);//0.5 因為a與b都為int型,所以先將b轉換為double執行 //取餘,也叫模運算 System.out.println(c%a);//c / a 25 / 10 = 2 ... 5 } }
算學運算子:+、-、*、/、不同型別的運算
package operator;
public class Demo02 {
public static void main(String[] args) {
long a = 1212312L;
int b = 231;
short c= 10;
byte d= 8;
System.out.println(a+b+c+d);//long 只要數值裡有long,最終型式就為long型別
System.out.println(b+c+d);//int 其他數值結果都為int
System.out.println(c+d);//int
System.out.println(a+b+d);//long
}
}
算學運算子:++、--
package operator;
public class Demo04 {
public static void main(String[] args) {
//++ -- 自增,自減 一元運算子
int a = 3;
int b = a++;// 執行完這行程式碼後,先給b賦值,在自增 b=a++等價於b=a;a=a+1;
//a++ a = a + 1;
int c = ++a;//執行完這行程式碼前,先給自增,在c賦值 c=++a等價於 a=a+1;c=a;
//++a a = a + 1;
System.out.println(a);
System.out.println(b);
System.out.println(c);
//冪運算 2^3 2*2*2 = 8 很多運算,我們會使用一些工具類操作!
double pow = Math.pow(2, 3);//Ctrl+Alt+V 反射運算值 8.0
System.out.println(pow);
}
}
關係運算符:> , < ,== , ! = instanceof
package operator;
public class Demo03 {
public static void main(String[] args) {
//關係運算符返回的結果:正確,錯誤 布林值
// if
int a = 10;
int b = 20;
int c = 21;
System.out.println(a>b);//false
System.out.println(a<b);//true
System.out.println(a==b);//false
System.out.println(a!=b);//true
}
}
邏輯運算子:與&&,或||,非!
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++<4);
System.out.println(d);//false
System.out.println(c);//5 (c<4)&&(c++<4);中的(c<4)為假,執行在(c++<4)前就已經終止了,所以C返回的資料為5.
// 如果繼續執行的話c = c + 1; c=c;最終C就是6了。
}
}
位運算子:&,|,^取反,~取反,>>右移,<<左移,>>>(瞭解!!)
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
A^B = 0011 0001 //取反:如果對應位兩個相同為0,兩個不相同就為1
~B = 1111 0010 //取反:與對應位完全相反
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
0000 0000 0
*/
}
}