總結的java一些細節問題
阿新 • • 發佈:2019-01-02
1.public class Demo
{
public static void main(String[] args)
{
System.out.println(1.3%0.2);//小數可取模
}
}
2.數值可加下劃線,方便標識。例如 int b =1_2345_7433;
數值表達方式:1.0b開頭 二進位制
2.0X開頭 十六進位制
3.0開頭 八進位制
3.預設整數為Int,預設小數為double。
例:float f = 0.1會報錯
float f=0.1f;可用
float f=(float)0.1 強制型別轉換,會損失精度;
4.兩個整數型別(byte,int ,long,short)運算,結果型別:兩個整數型別中有long結果
為long,否則為int;
同理,兩個浮點型別結果有double 為double,否則為float;
5.a+=j和a=a+j看似相似,但其實型別轉換時不一樣。
例如 byte a=1;byte j=2;時,a=a+j會報錯,因為a+j是int型別,不能等於a。
6.a|=j;或等於。
用途:
例如java中陣列為引用資料型別,
一個布林型別32個位元組,使用一個int數代替布林型別陣列,節省記憶體。
例:
a = 0;
a |= 1<<1; //把第二位設定成1
a &= (~(1<<1)) //將第二位設定成0
if((a&(1<<1))!=0) //判斷第二位值是否為1,如果是1,結果為ture。
- - - - - - - -
0 0 0 0 0 0 1 0 1<<1
1 1 1 1 1 1 0 1 ~(1<<1)
7.雙目運算子不加空格,單目運算子和數值間加空格,方便閱讀。
8.>>,>>>有符號右移(補符號位的值)和無符號右移(補0);
<<左移只有一個。
9.^ 異或,相同為0不同為一。
10.&&,||短路與和短路或,與&和|區別是如果已知運算結果,則不看第二位。
java中一般只使用短路與或,不適用&和|。
11.if中的值為布林型別
switch(){}選擇程式入口;
()中只能放三種值,Int,enum,String(1.7之後);
break跳出程式碼塊,與switch無直接關係.
_L:
switch(a)
...
switch(b)
...
break _L; //跳出_L程式碼塊
12.//單行註釋
/* 多行註釋 */
/*
* 多行註釋
*/
/**
* 文件註釋
*/
文件註釋一般用於方法或類上.
13.公開的類,類名必須和檔名相同;
一個java檔案中可以有多個類;
同一個java檔案中類名不能相同;
14. 列印語句,自動換行
System.out.println("Hello World!");
列印語句,不自動換行
System.out.print("Hello World!");
列印語句,和c中的printf作用完全一樣(除了指標,JAVA中無指標)
System.out.printf("Hello World!");
15.八個基本資料型別
字位:一位二進位制數字
位元組:8個字位
byte b; //1位元組,其中第一位為符號位,7位數值位,負數為補碼
short s; //2位元組,其中第一位為符號位,15位數值位,負數為補碼
int i; //4位元組,其中第一位為符號位,31位數值位,負數為補碼
long l; //8位元組,其中第一位為符號位,63位數值位,負數為補碼
float f; //4位元組,以科學記數法記數
double d; //8位元組,
char c; //2位元組,無符號,Unicode字符集
boolean bool;//只有兩個值true,false,不可以轉換成其它任何型別
Java基本型別包括 :八種基本資料型別和void
16. 運算子
1.以運算數分為單目運算子(++,--,!,~);
雙目運算子(+,-,*,/,=);
三目運算子(?:)
2.數學運算子,+-*/%
位運算子:<<,>>,>>>,~,^,&,|
邏輯運算子:&,|,!,&&,||
關係運算符:==,!=,>,<,>=,<=
特殊運算子:=,+,?:,
17.識別符號:由字母,數字,_,$組成,不能以數字開頭,不能是關鍵字48(保留字50 goto cast)
$是用於區別內部類和外部類,一般不使用
類名:首字母大寫,駝峰命名
方法名:首字母小寫,駝峰式命名
引數名:首字母小寫,駝峰式命名
變數名:首字母小寫,駝峰式命名
程式碼塊名:以_開頭,所有字母大寫,單詞之間以_分割
包名:所有字母小寫
常量名:以_開頭,所有字母大寫,單詞之間以_分割
屬性名:首字母小寫,駝峰式命名;以m開頭,駝峰式命名
{
public static void main(String[] args)
{
System.out.println(1.3%0.2);//小數可取模
}
}
2.數值可加下劃線,方便標識。例如 int b =1_2345_7433;
數值表達方式:1.0b開頭 二進位制
2.0X開頭 十六進位制
3.0開頭 八進位制
3.預設整數為Int,預設小數為double。
例:float f = 0.1會報錯
float f=0.1f;可用
float f=(float)0.1 強制型別轉換,會損失精度;
4.兩個整數型別(byte,int ,long,short)運算,結果型別:兩個整數型別中有long結果
為long,否則為int;
同理,兩個浮點型別結果有double 為double,否則為float;
5.a+=j和a=a+j看似相似,但其實型別轉換時不一樣。
例如 byte a=1;byte j=2;時,a=a+j會報錯,因為a+j是int型別,不能等於a。
6.a|=j;或等於。
用途:
例如java中陣列為引用資料型別,
一個布林型別32個位元組,使用一個int數代替布林型別陣列,節省記憶體。
例:
a = 0;
a |= 1<<1; //把第二位設定成1
a &= (~(1<<1)) //將第二位設定成0
if((a&(1<<1))!=0) //判斷第二位值是否為1,如果是1,結果為ture。
- - - - - - - -
0 0 0 0 0 0 1 0 1<<1
1 1 1 1 1 1 0 1 ~(1<<1)
7.雙目運算子不加空格,單目運算子和數值間加空格,方便閱讀。
8.>>,>>>有符號右移(補符號位的值)和無符號右移(補0);
<<左移只有一個。
9.^ 異或,相同為0不同為一。
10.&&,||短路與和短路或,與&和|區別是如果已知運算結果,則不看第二位。
java中一般只使用短路與或,不適用&和|。
11.if中的值為布林型別
switch(){}選擇程式入口;
()中只能放三種值,Int,enum,String(1.7之後);
break跳出程式碼塊,與switch無直接關係.
_L:
switch(a)
...
switch(b)
...
break _L; //跳出_L程式碼塊
12.//單行註釋
/* 多行註釋 */
/*
* 多行註釋
*/
/**
* 文件註釋
*/
文件註釋一般用於方法或類上.
13.公開的類,類名必須和檔名相同;
一個java檔案中可以有多個類;
同一個java檔案中類名不能相同;
14. 列印語句,自動換行
System.out.println("Hello World!");
列印語句,不自動換行
System.out.print("Hello World!");
列印語句,和c中的printf作用完全一樣(除了指標,JAVA中無指標)
System.out.printf("Hello World!");
15.八個基本資料型別
字位:一位二進位制數字
位元組:8個字位
byte b; //1位元組,其中第一位為符號位,7位數值位,負數為補碼
short s; //2位元組,其中第一位為符號位,15位數值位,負數為補碼
int i; //4位元組,其中第一位為符號位,31位數值位,負數為補碼
long l; //8位元組,其中第一位為符號位,63位數值位,負數為補碼
float f; //4位元組,以科學記數法記數
double d; //8位元組,
char c; //2位元組,無符號,Unicode字符集
boolean bool;//只有兩個值true,false,不可以轉換成其它任何型別
Java基本型別包括 :八種基本資料型別和void
16. 運算子
1.以運算數分為單目運算子(++,--,!,~);
雙目運算子(+,-,*,/,=);
三目運算子(?:)
2.數學運算子,+-*/%
位運算子:<<,>>,>>>,~,^,&,|
邏輯運算子:&,|,!,&&,||
關係運算符:==,!=,>,<,>=,<=
特殊運算子:=,+,?:,
17.識別符號:由字母,數字,_,$組成,不能以數字開頭,不能是關鍵字48(保留字50 goto cast)
$是用於區別內部類和外部類,一般不使用
類名:首字母大寫,駝峰命名
方法名:首字母小寫,駝峰式命名
引數名:首字母小寫,駝峰式命名
變數名:首字母小寫,駝峰式命名
程式碼塊名:以_開頭,所有字母大寫,單詞之間以_分割
包名:所有字母小寫
常量名:以_開頭,所有字母大寫,單詞之間以_分割
屬性名:首字母小寫,駝峰式命名;以m開頭,駝峰式命名