今天是xiaoxiaocoder第一篇技術複習部落格..標題我根據自己寫一年多代碼總結分的的,我想通過這種標題來表達每篇文章的主題,這樣不管是對自己的總結還是對新開發朋友的學習都很有協助.
一、開發環境搭建
學習java首先是環境搭建,java開發的首先任務就是環境變數的配置和環境的搭建,雖然現在jdk1.6以後已經不需要開發人員配置系統變了了,但是有很多別的工具用到jdk的時候還是需要手動設定.所以還是熟悉一下吧.其實沒有幾個,就三個,在“我的電腦”上點右鍵->“屬性”->“進階”->
“環境變數(N)”
1.建立系統變數JAVA_HOME:jdk的根目錄
2.建立系統變數CLASSPATH:.;%JAVA_HOME%\lib;(注意:點號表示目前的目錄,不能省略)
3.在系統變數Path的值的前面加入以下內容:%JAVA_HOME%\bin;(注意:這裡的分號不能省略)
配置完成之後在運行中輸入cmd 斷行符號 java -version 配置正確則輸出當前jdk的版本
Java的命名習慣
1、包名中的字母一律小寫。如:xxxyyyzzz。
2、類名、介面名應使用名詞,每個單詞的首字母大寫。如:XxxYyyZzz。
3、方法名,第一個單詞小寫,後面每個單詞的首字母大寫。如:xxxYyyZzz。
4、變數名,第一個單詞小寫,後面每個單詞的首字母大寫。
5、常量名中的每個字母一律大寫。如:XXXYYYZZZ。
二、基礎文法
java基本文法(一)——資料類型
Java語言是一種嚴格的“類型化”語言。這意味著每個變數都必須有一個聲明好的類型。Java語言提供了八種基本類型。六種數字類型(四個整數型,兩個浮點型),一種字元類型,還有一種布爾型。Java另外還提供大數字對象,但它不是Java的資料類型。
1、整數:
定義:沒有小數部分的數字,負數是允許的。
種類:Java提供四種整數類型:
int 4個位元組 -2,147,483,648到2,147,483,647
short 2個位元組 -32,768到32,767
long 8個位元組 -9,223,372,036,854,775,808L到9,223,372,036,854,775,807L
byte 2個位元組 -128到127
2、浮點數:
定義:含有小數部分的數字。
分類:Java提供兩種浮點數:
float 4個位元組 約+—3.40282347E+38F(6~7個有效十進位數位)
double 8個位元組 約+-1.79769313486231570E+308(15個有效數位)
說明:
1)float類型的數值有個尾碼:F,如果沒有尾碼F,那麼預設為double。double類型的數值也可以使用尾碼D。
2)當這些數字遇到取值範圍錯誤時,會發生(上溢Overflow);而在遇到象被零除時,會發生下溢(Underflow)。
3、字元類型:
定義:單引號用來表示char常量。
說明:
1)雙引號則表示一個字串,他是Java的一個對象,並不是資料類型。
2)char類型表示Unicode編碼方案中的字元。
Unicode可同時包含65536個字元,ASCII/ANSI只包含255個字元,實際上是Unicode的一個子集。Unicode字元通常用十六進位編碼方案表示,範圍在'\u0000'到'\uFFFF'之間。\u0000到\u00FF表示ASCII/ANSI字元。\u表示這是一個Unicode值。
3)在Java中除了用這個\u的形式來表示字元外,還可以使用換碼序列來表示特殊字元。
\b 退格 \u0008
\t Tab製表 \u0009
\n 換行 \u000a
\r 硬斷行符號 \u000d
\" 雙引號 \u0022
\' 單引號 \u0027
\ 反斜線 \u005c
4)理論上在Java的應用程式和小應用程式中使用Unicode字元,但至於他們是否能真正顯示出來,卻要取決於使用的瀏覽器和作業系統,其中作業系統是最根本的。
4、布爾類型:
boolean類型只有兩個值:false和true,用過其他程式設計語言的朋友肯定對它們並不陌生
java基本文法(二)——變數和常量
1、變數:
定義:相信對於它的定義應該不用在說了:)大家應該已經熟悉又熟悉了。
例如:a,a1,name等都是合法的變數。
說明:
1)Java要求在使用一個變數之前要對變數的類型加以聲明。
2)Java中一個變數的聲明就是一條完整的Java語句,所以應該在結尾使用分號。
3)變數的命名規則:
變數必須以一個字母開頭。
變數名是由一系列字母或數位的任意組合。
在Java中字母表示Unicode中相當於一個字母的任何字元。
數位也包含0-9以外的其他地位與一個數位相當的任何Unicode字元。
+、著作權資訊符號圈C和空格不能在變數名中使用。
變數名區分大小寫。
變數名的長度基本上沒有限制。
如想知道Java到目前位置認為哪些Unicode字元是字母的話,可以使用Character類中的isJavaIdentifierStart以及isJavaIdentifierPart方法進行檢查。
變數名中不能使用Java的保留字。
4)可在一條語句中進行多個變數的聲明,不同變數之間用逗號分隔。
2、變數的賦值和初始化:
變數的值可以通過兩種方法獲得,一種是賦值,給一個變數賦值需要使用指派陳述式。另外一種方法就是初始化,說是初始化,其實還是一個指派陳述式,只不過這個指派陳述式是在聲明變數的時候就一起完成的。
例如:
int a =10; //這就是一個變數初始化的過程
下面兩條語句的功能和上面一條的功能相同,只是這裡將變數的聲明和賦值分開來進行的。
int a;
a =10; //在指派陳述式的結尾應該是用分號來結束。
說明:
1)在Java中絕對不能出現未初始化的變數,在使用一個變數前必須給變數賦值。
2)聲明可以在代碼內的任何一個位置出現,但在方法的任何代碼塊內只可對一個變數聲明一次。
3、常量:
定義:值不變的量稱為常量。
例如:
1,“hello”
說明:
1)在Java中使用final關鍵字來定義一個常數。
int final a=10; //聲明了一個整型常量a,它的值是10。
2)習慣上將常量的名字統統大寫。
java基本文法(三)——運算子和類型轉換
1、運算子:
1)Java語言中,常用的運算子包括:+,-,*,/,這些就不用說了,大家肯定很熟悉了。
2)冪:Java沒有乘冪運算子,必須使用Math.pow(x,a)方法,表示x的a次冪。pow方法的兩個參數都屬於double類型,返回的值也是double類型。
例如:
double a = Math.pow(10,3); //定義了一個變數a,它的值是10的3次冪。
3)遞增、遞減運算子:
a++,a-- 先使用變數的值,然後再遞增或遞減。
++a,--a 先遞增或遞減然後再使用變數的值。
4)關係和布林運算子:
關係運算子:==,!=,<,>,<=,>=
布林運算子:&&(與), ||(或), !(否)
5)按位元運算符:
&(加),|(或),^(異或),~(否),>>向右移位,<<(向左移位),> >>(用零來填充位於頂部的位)
注意Java沒有<<<運算子。
6)括弧和運算子分級:
在Java中各種運算子預設的計算順序是:
[],()(方法調用) 從左至右
! ~ ++ -- +(一元) -(一元) () (造型) new 從右至左
+ / % 從左至右
+ - 從左至右
<< >> > >> 從左至右
< <= >= > instanceof 從左至右
== != 從左至右
& 從左至右
^ 從左至右
| 從左至右
&& 從左至右
|| 從左至右
?: 從左至右
= += -= *= /= &= |= ^= <<= >>= . >>= 從右至左
在Java中可以使用括弧來指定自己希望的計算順序,從而改變運算子預設的運算順序。
2、數實值型別的互相轉換:
當不同資料類型的資料參加運算的時候,會涉及到不同的資料類型的轉換問題:
Java語言資料類型的轉換基本上按照下面的規則進行:
如果其中一個運算對象是double類型的,另一個也會被轉換成double類型。
否則,如果其中一個運算對象是float類型的,另一個也會被轉換成float類型的。
否則,如果其中一個運算對象是long類型的,另一個也會被轉換成long類型的。
否則,如果其中一個運算對象是int類型的,另一個也會被轉換成int類型的。
否則,如果其中一個運算對象是short類型的,另一個也會被轉換成short類型的。
類型轉換還可以通過“造型”來實現,文法很簡單,將目標類型放在括弧裡,然後在後面跟上一個變數名就可以了。
例如:
double x = 9.99;
int nx=(int)x; //這時nx就是一個int類型的資料了,並且它的值是9,後面的部分在造型過程中被丟掉了。如果想把一個浮點數舌入成“最接近”的整數,可以使用Math.round方法。在使用Math.round方法舌入後,可能還要使用造型來進行類型轉換。
Java還允許將一種類型的變數值賦給另一個變數,同時不進行顯示造型,同樣可以進行某些特定的賦值轉換,允許的轉換包括:
buty->short->int_>long->float->double char->int
當進行賦值的時候,會按照上面的順序從左向右轉換。
java基本文法(四)——字串和數組
1、字串:
Java沒有提供內建的字串類型,但標準Java庫中包含了一個預定義類,很自然地稱作“String”,每個用雙引號封閉的字串都是String的一個執行個體。
例如:“abc","hello"
Java允許使用 "+" 號把兩個字串串連起來。串連一個字串和一個非字串值時,後者被轉換成字串。這個特性常用於輸出語句中。
子串:使用String類提供的substring方法,可從一個較大的字串中提取出一個子串。
Java中字串中頭一個字元的位置是0,
可以使用length方法得到字串的長度。
可以使用charAt(n)來提取位置n處的字元。
可以使用equals方法來判斷兩個字串是否相等。如想檢測兩個字串是否相等,同時忽略大小寫字母的區別可以使用equalsIgnoreCase方法。
注意:不能使用==來判斷兩個字串變數是否相等。
2、數組: Java語言中,數組是第一類對象。當建立一個數組後,就不能輕易地改變它的大小。當你試圖對數組聲明邊界外的任何一個元素進行訪問時,程式運行就會中止,但編譯的時候可以通過。
Java有一個建立一個數組對象並同時提供初始化值的簡寫形式:
int[] smallPrimes ={2,3,4,5,6};
另外可以初始化一個“匿名數組”:
new int[] {2,3,4,5,6};
當將一個數組作為方法的參數時,又不想建立一個本地陣列變數來儲存數組,就可以使用匿名數組的方法。
如果想知道一個數組包含的元素數量,可以使用arrayName.length方法。
數組的複製:可以把一個陣列變數複製給另一個,但兩個變數引用的都會是相同的數組,可以使用
System.arraycopy(from,fromIndex,to,toIndex,count);方法。
數組作為參數使用:Java中數組作為參數,使用的是引用的方式,即傳遞的數組的地址,在方法中改變數組元素的值可以改變源數組元素的值。
數組作為傳回值使用:一個方法可以返回一個數組。
多維陣列:
Java語言中可以定義一個二維數組,但沒有多維陣列。多維陣列實際上是通過數組的數組來實現的。
一個數組的樣本用法:
int[] a;
a=new int[10];
for(short i=1;i<=10;i++)
{
System.out.println(a[i-1]+" 的平方是 :"+a[i-1]*a[i-1]);
}
java基本文法(五)——控制流程程
1、控制流程程:
控制流程程是任何一種程式語言都要提供的,Java提供的控制流程程和許多其他的程式語言基本上是相同的。
1)條件陳述式:
if (條件) 語句;
if (條件) { 代碼塊 }
if (條件) 語句; else 語句;
if (條件) { 代碼塊 } else { 代碼塊 }
2)不確定迴圈:
while (條件) { 代碼塊 }
do { 代碼塊 } while (條件);
3)確定迴圈:
for(int i=1; i <= 10; i++) { 代碼塊 }
在for語句的第一個位置聲明了一個變數後,這個變數的範圍會擴充到for迴圈主體結束。但迴圈之外是不能使用這個變數的。
4)多重迴圈:
switch(choice)
{
case 1:
comment 1;
break;
case 2:
comment 2;
break;
default:
comment 3;
break;
}
default從句是可選的。switch語句只能對char類型或除了long之外的其他整數類型進行測試。
5)標籤中斷:
在一個迴圈之前使用標籤中斷並在標籤後面使用一個冒號,然後在迴圈體中如果想退出迴圈可以使用“break 標籤;”的方法來退出迴圈並開始執行迴圈體後面的語句。