標籤:rgs 4.4 next tin bool tab 輸出 讀取 二進位
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基礎--操作符