文章摘要
1、使用Eclipse創建第一個java程序。
2、&與&&的區別,&&更有效率。
3、位移運算,讓乘法更有效率。
一、使用Eclipse創建Java程序。
1、點擊文件(右鍵)-選擇新建(New)-Java Project。
2、在工程中,輸入工程的名稱,例如:“HelloWorld”,點擊完成,一個工程就創建好了。
3、創建第一個Java程序,并使用System.out.prrintln輸出“HelloWorld”。
輸入Class的名稱,并增加如下代碼:
public class HelloWorld {
public static void main(String args[]){
System.out.println("HelloWorld!");//使用System.out進行輸出
/*上面的代碼段用來輸出一段文字*/
print("HelloWorld!");
}
/**
* 輸出一段函數
* @param msg:傳輸的輸出參數。
*/
public static void print(String msg){
System.out.println(msg);
}
}
4、點擊運行按鈕,或者在類名字上,選擇運行,我們可以在Console上看到輸出結果。
技巧:
- 使用System.out.println時,只需要輸入“sysout”,然后使用[ALT]+[/],就可以完成該命令的輸入。
- [CTRL]+[D]:用戶快速刪除一行。
二、注釋
注釋:輔助、標記程序,幫助他人快速理解程序。不會被編譯到程序中。
1、單行注釋:以“//”開頭,跟上需要描述的話語,行末結束
2、多行注釋:以“/”開始,以“/”結束,中間是注釋內容。
3、文檔注釋:以“/*”開頭,以“/”結束,文檔注釋能夠編譯生成文檔,引用該文檔注釋標注的方法,eclipse也會顯示出來內容。
例如:上面的print函數,將鼠標放置在調用的地方,我們可以看到一些使用提示。
三、變量、常量、數據類型。
1、常量與變量相比較:變量是變化的量,常量是不會變化的量。
2、常量、變量是容器,但不同的容器只能容納不同的物體,不同的物體叫做數據類型。
int number;//定義變量number,數據類型int,容納數字型數據
String name="計算機";//定義變量name,數據類型為String,容納字符型數據
final double PI = 3.1415926;//定義雙精度浮點型,并賦值,賦值為π。
3、數據類型:
3.1、數據類型包括【基本數據類型】、【引用數據類型】。
基本數據類型:
數值型:[byte、short、int、long][float、double]。
非數值型:[char][boolean]
引用類型:[對象]、[接口]、[數組]。
數據類型介紹:
Char:Java字符采用Unicode編碼,每個字符占用2個字節,共計16個字節,因而可用16進制編碼形式表示。轉義字符也屬于字符,轉義字符可以將字符,轉換成其他含義。例如:【\b:退格符】、【\n:換行符】、【\r:回車符】、【\t:制表符】、【':單引號】、【":雙引號】、【\:反斜杠】
byte:占用1個字節,存儲數表示范圍:-27~27-1。
short:短整形,占用2個字節,存儲數表示范圍:-215~215-1。
int :整型,占用4個字節,存儲數表示范圍:-231~231-1.
long:長整型 8個字節,存儲數表示范圍:-263~263-1.
float:單精度浮點型:4個字節。float類型的范圍是:一3.403E383.403E38。float類型的范圍是:一3.403E383.403E38。
double:雙精度浮點型:8個字節,存儲范圍:-1.7E308~1.7e308
ps:關于類型可以表示的最大數,可以通過,如下方式來讓程序輸出、檢驗。例如:Long型:
最大數值:Long.MAX_VALUE
3.2、類型轉換
boolean類型不能轉換成任何其他數據類型。
自動轉換:容量小的數據類型可以自耦當轉換成大的數據類型。
byte byteType = 1;//byte 1個字節
short shortType = byteType;//2個字節
int integerType = shortType;//4個字節
long longType = integerType;//8個字節
float floatType = longType;//4字節
double doubleType = floatType;//8字節
//字符型數據和整形數據可以互換
char a='A';
int position = a;
System.out.println("a is:"+a
+",position is :"+position);//a is:A,position is :65
強制類型轉換:容量大的數據類型可以強制轉換成容量小的數據類型,但會造成數據丟失。
//強制數據類型轉換
float floatIndex = 3.14f;
int index = (int) floatIndex;
System.out.println(index);//輸出為"3", 0.14數據丟失
ps:關于計算機中的數的表示、原碼、反碼、補碼:
http://blog.csdn.net/droyon/article/details/9334989
四、命名:關鍵字、變量命名、常量命名
1、關鍵字:規定、特殊用途,在Java中被賦予特殊含義并被Java系統使用。
1、 class、byte、int等類標識、類型標識
2、 if、else、while、break等邏輯控制命令。
2、變量命名:
- 1、盡量不要使用中文來命名變量。
- 2、變量由字母、下劃線、‘$’、數字組成 ,但不能以數字開頭。
- 3、不能是java中的關鍵字
String 姓名 = "張三";//1、支持中文,盡量不要使用中文命名
/*2、變量由字母、下劃線、‘$’、數字組成 ,但不能以數字開頭*/
// int bai du = 2;//不合法:含有非組成元素空格。
// String 360衛士 = "";不合法:數字開頭
/*3、不能是java中的關鍵字 */
// int break = 4;不合法:break是java關鍵字
3、常量命名
大寫:如果存在多個子串,子串間使用下劃線分割、連接
//常量命名
final int MIN_LENGTH = 4;
五、運算邏輯符
1、加、減、乘、除
//[+]加法運算符
int sum = i+j;//運算結果3
//[-]減法運算符
int sub = i-j;//運算結果-1
//[*]乘法運算符
int mul = i*j;//運算結果為2;
//[/]除法運算符
int div = i/j;//運算結果為0
//[%]取余運算符
int dvt=i%j;//運算結果為1
2、賦值運算符
//賦值運算符,運算順序,從右向左
int value0 = i;//[=]使用i對value賦值[value0=1]
value0 +=i;//[+=]:value0=value0+i;[value0=2]
value0 -=i;//[-=]:value0=value0-i;[value0=1]
value0 *=j;//[*=]:value0=value0*j;[value0=2]
value0 /=j;//[/=]:value0=value0/j;[value0=1]
value0 %=5;//[%=]:value0=value0%5;[value0=1]
3、自增、自減運算符
i++;//i=i+1;
System.out.println("自增運算,i= "+i);//自增前,i=2;
int inc1 = i++;//i先賦值給inc1,然后自我增加。1、inc1 = i;2、i = i+1;
System.out.println("[字母++]運算結果,i= "+i+",inc1 = "+inc1);//自增后,i=3;inc1 = 2;
int inc2 = ++i;//i先自我增加,然后賦值。1、i = i+1;2、inc2 = i;
System.out.println("[++字母]運算結果,i = "+i+",inc2 = "+inc2);//自增后,i = 4;inc2 = 4;
i = 1;j=2;
//自增運算符運算順序比算術運算符高
int inc3 = ++i+j;//1、i = i+1;2、inc3 = i+j;
System.out.println("[++運算符+運算符]運算結果,i = "+i+",inc3 = "+inc3);//i = 2,inc3 = 4
int inc4 = i+j++;//1、inc4 = i+j;2、j = j+1;
System.out.println("[運算符+運算符++]運算結果,j = "+j+",inc3 = "+inc3);//j = 3,inc3 = 4
4、關系運算符
包括:[==]、[!=]、[<]、[>]、[<=]、[>=]
i = 1;j=2;
System.out.println("i>j ?"+(i>j));//i>j ?false
System.out.println("i!=j ?"+(i!=j));//i!=j ?true
5、邏輯運算符
包括:[&]、[|]、[^]、[!]、[||]、[&&]
boolean bool1 = true,bool2 = false;
System.out.println("bool1&bool2 = "+(bool1&bool2));
ps:重點關注“與\或”運算符和“邏輯與\邏輯或”運算符的差異。
1、[||]邏輯或運算符,如果第一個參數返回true,則就不再進行第二個參數的調用。
2、[|]關系或運算符,無論第一個參數是否返回true,會完全運行。
總結:在程序運行中,“||”邏輯或會比較高效。
/* [|]與[||]的區別*/
System.out.println("getState1() | getState2() = "+(getState1() | getState2()));
System.out.println("getState1() || getState2() = "+(getState1() || getState2()));
private static boolean getState1(){
System.out.println("getState1--------------------");
return true;
}
private static boolean getState2(){
System.out.println("getState2---------------------");
return false;
}
6、位運算符
包括:[~]、[&]、[|]、[^]
System.out.println("i|j = "+(i|j));//0001 || 0010 = 0011;[i|j = 3]
ps:更詳細的位運算可以參閱:http://blog.csdn.net/droyon/article/details/9335537
7、位移運算符
包括:[<<]、[>>]、[>>>]
1、左移相當于乘法,每移一位相當于乘2;
System.out.println("1<<1 = "+(1<<1)
+",1<<2 = "+(i<<2)
+",1<<3 = "+(i<<3));//1<<1 = 2,1<<2 = 4,1<<3 = 8
2、右移相當于除法,每移一位相當于除2;
System.out.println("8>>1 = "+(8>>1)
+",8>>2 = "+(8>>2)
+",8>>3 = "+(8>>3));//8>>1 = 4,8>>2 = 2,8>>3 = 1
8、三目運算符
System.out.println("i與j比較,誰比較大?"+(i>j?"i":"j"));//i與j比較,誰比較大?j
六、條件選擇語句
1、if/else符合條件,條件內的邏輯才觸發。
boolean 中五百萬 = false,中三百塊錢 = false;
if(中五百萬){
System.out.println("結婚、買房、娶媳婦~");
}else if(中三百塊錢){
System.out.println("告訴朋友,快來買彩票~");
}else{
System.out.println("繼續買彩票~");
}
2、Switch條件語句
int 成績 = 98;
switch(成績){
case 90:
System.out.println("考得不錯,獎勵兩碟薩其馬~");
break;
case 60:
System.out.println("對得起你自己的大腦袋嘛~");
default:
System.out.println("晚飯不用吃了~");
}
switch(表達式):表達式的返回值必須為:[byte]、[short]、[int]、[char]。
case 數值:數值必須為常量,不能是變量。
break:讓程序跳出循環,否則程序會順序往下執行。
七、循環語句
1、輸出0~100.
記得讓循環語句的循環條件可達到,不然循環就是死循環。
int code = 0;
while(code<=100){
System.out.println(code);
code++;
}
2、買10次彩票。
boolean 不中獎 = true;
int 次數 = 0;
do{
System.out.println("買彩票~");
if(次數>10){
break;
}else{
次數++;
}
}while(不中獎);
3、for循環
for(int count=0;count<3;count++){
System.out.println("計數:"+count);
}
int[] array = {0,1,5,7};
for(int arrayNumber:array){
System.out.println("數組數字:"+arrayNumber);
}