java基礎--操作符
阿新 • • 發佈:2018-07-19
void bool string pub 身高 oid 位操作 rgs -h
1.操作符
在Java中操作符有以下幾類:
- 算術運算符
- 關系操作符
- 邏輯運算符
- 位操作符
- 賦值操作符
- 三元操作符
1.1算術運算符
常見的操作符有:+,-,*,/,%,++,--
1.1.1基本的加 減 乘 除
public class HelloWorld { public static void main(String[] args) { int i = 10; int j = 5; int a = i+j; int b = i - j; int c = i*j; int d = i /j; } }
1.1.2從鍵盤讀取數據
需要用到從控制臺輸入數據,所以需要用到Scanner類,這個類在java.util包中 。
可以使用scanner中的方法:
- next():讀取一行數據
- nextLine():讀取一行數據
- nextInt():讀取一個整型數據
- 同理還可以是其他類型如nextFloat()等等
例子:從鍵盤輸入兩個數,並輸出他們的和
import java.util.*; public class addNum { public static void main(String[] args) { System.out.print("first num:");int num1=new Scanner(System.in).nextInt(); System.out.print("second num:"); int num2=new Scanner(System.in).nextInt(); System.out.println("the sum is:"+(num1+num2)); } }
1.1.3取模%與取整/
int i=13%2;//i=1
int j=13/2;//j=6
1.1.4自增與自減(++,--)
在原來的基礎上增加1或者減少1
public class HelloWorld {public static void main(String[] args) { int i = 5; i++; System.out.println(i);//輸出為6 } }
但自增與自減有前置和後置的區別:
前置++:先+1,後取值
後置++:先取值,後+1
public class HelloWorld { public static void main(String[] args) { int i = 5; System.out.println(i++); //輸出5 System.out.println(i); //輸出6 int j = 5; System.out.println(++j); //輸出6 System.out.println(j); //輸出6 } }
1.1.6小程序BMI
BMI的計算公式是 體重(kg) / (身高*身高)
import java.util.Scanner; public class BMI { public static void main(String[] args) { System.out.print("請輸入你的體重:"); float weight=new Scanner(System.in).nextFloat(); System.out.print("請輸入你的身高:"); float height=new Scanner(System.in).nextFloat(); System.out.println("你的BMI為:"+weight/(height*height)); } }
1.2關系操作符
常見的關系操作符有:>, >= ,< , <= ,,== ,!=
public class HelloWorld { public static void main(String[] args) { int a = 5; int b = 6; int c = 5; System.out.println(a>b); //返回 false System.out.println(a>=c); //返回 true System.out.println(a==b); //返回false System.out.println(a!=b);//返回true } }
1.3邏輯運算符
常見的邏輯運算符有:&,|,!,&&,||,^
1.3.1與,或,非
與:只有都為真時才為真
或:只要有一個為真則為真
非:取反
public class HelloWorld { public static void main(String[] args) { //長路與 無論第一個表達式的值是true或者false,第二個的值,都會被運算 int i = 2; System.out.println( i== 1 & i++ ==2 ); //無論如何i++都會被執行,所以i的值變成了3 System.out.println(i); //短路與 只要第一個表達式的值是false的,第二個表達式的值,就不需要進行運算了 int j = 2; System.out.println( j== 1 && j++ ==2 ); //因為j==1返回false,所以右邊的j++就沒有執行了,所以j的值,還是2 System.out.println(j); } }
1.3.2&&,||
&&:只要第一個表達式為假,則後面的不用計算,直接為假
||:只要第一個表達式為真,則為真,後面的不用計算
public class HelloWorld { public static void main(String[] args) { //長路或 無論第一個表達式的值是true或者false,第二個的值,都會被運算 int i = 2; System.out.println( i== 1 | i++ ==2 ); //無論如何i++都會被執行,所以i的值變成了3 System.out.println(i); //短路或 只要第一個表達式的值是true的,第二個表達式的值,就不需要進行運算了 int j = 2; System.out.println( j== 2 || j++ ==2 ); //因為j==2返回true,所以右邊的j++就沒有執行了,所以j的值,還是2 System.out.println(j); } }
1.3.3異或^
不同為真,相同為假。
public class HelloWorld { public static void main(String[] args) { boolean a = true; boolean b = false; System.out.println(a^b); //不同返回真 System.out.println(a^!b); //相同返回假 } }
1.4位操作符
常見的位操作符有:&,|,!,^,<<,>>
1.4.1位或|
0|0=0,其他都為1
public class wiehuo { public static void main(String[] args) { int i=2,j=3; System.out.println(Integer.toBinaryString(i));//10 System.out.println(Integer.toBinaryString(j));//11 System.out.println(i|j);//3 System.out.println(Integer.toBinaryString(i|j));//11 } }
Integer.toBinaryString():可以將一個數轉化為2進制
1.4.2位與&
1&1=1,其他為0
public class weiyu { public static void main(String[] args) { int i=5,j=6; System.out.println(Integer.toBinaryString(i));//101 System.out.println(Integer.toBinaryString(j));//110 System.out.println(Integer.toBinaryString(i&j));//100 System.out.println(i&j);//4 } }
1.4.3異或^
相同為0,相異為1.
public class yihuo { public static void main(String[] args) { int i=5,j=6; System.out.println(Integer.toBinaryString(i));//101 System.out.println(Integer.toBinaryString(j));//110 System.out.println(Integer.toBinaryString(i^j));//011 System.out.println(i^j);//3 } }
1.4.4左移,右移
左移:根據一個整數的二進制表達,將其每一位都向左移動,最右邊一位補0
右移:根據一個整數的二進制表達,將其每一位都向右移動
public class weiyi { public static void main(String[] args) { int i=5; System.out.println(Integer.toBinaryString(i));//101 System.out.println(Integer.toBinaryString(i<<1));//左移一位1010 System.out.println(Integer.toBinaryString(i>>1));//右移一位10 } }
1.5賦值操作符
1.6三元操作符
java基礎--操作符