java基礎一:基本類型,運算符號

java中的基本類型

字符型:char 數值型:byte,short,int,long,float,double 布爾型:booleanjava

類型 字節數 取值範圍
byte 1 -128-127
char 2 0-65535
short 2 -2^15 - 2^15-1
int 4 -2^31 - 2^31-1
long 8 -2^63 - 2^63-1
float 4
double 8
boolean true/false

java中沒有byte和short的表示法。
整數數值默認是 int 使用long類型在數值後面加l或者L
浮點類型默認是 double 使用float類型在數值後面加 d或者D
char類型用單引號
byte的取值範圍爲-128~127,佔用1個字節(-2的7次方到2的7次方-1)
short的取值範圍爲-32768~32767,佔用2個字節(-2的15次方到2的15次方-1)
int的取值範圍爲(-2147483648~2147483647),佔用4個字節(-2的31次方到2的31次方-1)
long的取值範圍爲(-9223372036854774808~9223372036854774807),佔用8個字節(-2的63次方到2的63次方-1)
java中負數表示方法:
以負數-5爲例:
1.先將-5的絕對值轉換成二進制,即爲0000 0101;
2.而後求該二進制的反碼,即爲 1111 1010;
3.最後將反碼加1,即爲:1111 1011bash

java中的進製表示

java中默認使用十進制
二進制: 0b* (0,1)
八進制: 0* (0-7) 十六進制: 0X* (0-f)
相比二進制和八進制 十六進制用的較多spa

java中的運算符

經常使用運算符 + - * \ %(取餘)

不一樣的類型計算時,自動向上轉型
如:int i=1;
short s=2;
float f=1.3f;
double d=1.2;
long l=10L;
i+s 自動轉型爲 int
i+f 自動轉型爲float
i+d 自動轉型爲doulbe
i+l 自動轉型爲long
i+s+f+d+l 自動轉型爲double
兩個整數相除時只會保留整數部分code

自增加/自減小 ++ / --

int a=1;
a++ 表示 a=a+1
a-- 表示 a=a-1
注意 short 自增長或自減小時 結果仍是short
同時支持 --a ++a
a++和++a不一樣在於第一種是先計算後自增 第二種是先自增再計算string

int a=1;
int b=1;
System.out.println("(b + a++)="+(b + a++)+" a="+a);//(b + a++)=2 a=2
a=1;
b=1;
System.out.println("(b + ++a) ="+(b + ++a)+" a="+a);//(b + ++a) =3 a=2
複製代碼

位運算符

& 位與
將兩個數值對應的二進制,每一位進行與運算 1 1 爲 1, 1 0 爲 0 ,0 0 爲 0 | 位或
將兩個數值對應的二進制,每一位進行或運算 1 1 爲 1, 1 0 爲 1 ,0 0 爲 0 ^ 異或
將兩個數值對應的二進制,每一位進行異或運算 1 1 爲 0, 1 0 爲 1 ,0 0 爲 0 一個數值異或兩次一樣的數後爲自己table

符號 & | ^
1:1 1 1 0
1:0 0 1 1
0:0 0 0 0

~ 取反
一元運算符 將數值對應的二進制每一位取反
<< 左位移
將數值對應的二進制向左移動 移動後用0補齊 使用方式
int a=3;
int b=a<<2;//12 即0000 0000 0000 0011 -> 0000 0000 0000 1100
>> 右位移
將數值對應的二進制向右移動 若是第一位是1 則用1 補齊 若是是0 則用0補齊
int a=9;
int b=a>>2;//2 即 0000 0000 0000 1001 -> 0000 0000 0000 0010
int a=-6;
int b=a>>2; //-2 即 1111 1111 1111 1010 ->1111 1111 1111 1110
>>> 無符號右位移
將數值對應的二進制向右移動 不過第一位是幾 都用0 補齊 對於正數沒有影響,負數的話就會變爲正數
int a=-6;
int b=a>>>2;// 即 1111 1111 1111 1010 -> 0011 1111 1111 1110 ##邏輯運算符 & 與
兩邊都爲true時爲true
&& 短路與
兩邊都爲true時爲true 與 & 區別 && 在左側條件爲false時不會再判斷右側條件 而 & 左側爲false時還會判斷右側條件
| 或
兩邊至少有一個true 即爲 true 都爲false才爲false
|| 短語與
兩邊至少有一個true 即爲 true 都爲false才爲false 與 | 區別 || 在左側條件爲true時,即已經判斷結果true不會再判斷右側條件 而 |左側即使爲true還會繼續判斷右側條件 #修飾符 類和方法修飾符訪問權限範圍class

符號 父子類關係 同一個包 外部類
public
protected
default
private
相關文章
相關標籤/搜索