day1
注釋
1.java規范的三種注釋方式:
單行注釋
多行注釋
文檔注釋(java特有)
2. 單行注釋和多行注釋的作用: ① 對所寫的程序進行解釋說明,增強可讀性。方便自己,方便別人 ② 調試所寫的代碼
3.特點:單行注釋和多行注釋,注釋了的內容不參與編譯。換句話說,編譯以后生成的.class結尾的字節碼文件中不包含注釋掉的信息
4.文檔注釋的使用:注釋內容可以被JDK提供的工具 javadoc 所解析,生成一套以網頁文件形式體現的該程序的說明文檔。
5.多行注釋不可以嵌套使用
對第一個java程序進行總結
1.java程序編寫-編譯-運行的過程 編寫:我們將編寫的java代碼保存在以".java"結尾的源文件中 編譯:使用javac.exe命令編譯我們的java源文件。格式:javac 源文件名.java 運行:使用java.exe命令解釋運行我們的字節碼文件。 格式:java 類名
2.在一個java源文件中可以聲明多個class。但是,只能最多有一個類聲明為public的。 而且要求聲明為public的類的類名必須與源文件名相同。
3.程序的入口是main()方法。格式是固定的。
4.輸出語句: System.out.println():先輸出數據,然后換行 System.out.print():只輸出數據
5.每一行執行語句都以";"結束。
6.編譯的過程:編譯以后,會生成一個或多個字節碼文件。字節碼文件的文件名與java源文件中的類名相同。
day2
計算機中不同進制的使用說明
對於整數,有四種表示方式:
二進制(binary):0,1 ,滿2進1.以0b或0B開頭。
十進制(decimal):0-9 ,滿10進1。
八進制(octal):0-7 ,滿8進1. 以數字0開頭表示。
十六進制(hex):0-9及A-F,滿16進1. 以0x或0X開頭表示。此處的A-F不區分大小寫。如:0x21AF +1= 0X21B0
標識符的使用
1.標識符:凡是自己可以起名字的地方都叫標識符。
比如:類名、變量名、方法名、接口名、包名...
2.標識符的命名規則:--> 如果不遵守如下的規則,編譯不通過!需要大家嚴格遵守
由26個英文字母大小寫,0-9 ,_或 $ 組成
數字不可以開頭。
不可以使用關鍵字和保留字,但能包含關鍵字和保留字。
Java中嚴格區分大小寫,長度無限制。
標識符不能包含空格。
3.Java中的名稱命名規范: --->如果不遵守如下的規范,編譯可以通過!建議大家遵守
包名:多單詞組成時所有字母都小寫:xxxyyyzzz
類名、接口名:多單詞組成時,所有單詞的首字母大寫:XxxYyyZzz
變量名、方法名:多單詞組成時,第一個單詞首字母小寫,第二個單詞開始每個單詞首字母大寫:xxxYyyZzz
常量名:所有字母都大寫。多單詞時每個單詞用下划線連接:XXX_YYY_ZZZ
4. 注意1:在起名字時,為了提高閱讀性,要盡量有意義,“見名知意”。
注意2:java采用unicode字符集,因此標識符也可以使用漢字聲明,但是不建議使用。
String類型變量的使用
1.String屬於引用數據類型,翻譯為:字符串
2.聲明String類型變量時,使用一對""
3.String可以和8種基本數據類型變量做運算,且運算只能是連接運算:+
4.運算的結果仍然是String類型
變量的使用
1.java定義變量的格式:數據類型 變量名 = 變量值;
2.說明: ① 變量必須先聲明,后使用 ② 變量都定義在其作用域內。在作用域內,它是有效的。換句話說,出了作用域,就失效了 ③ 同一個作用域內,不可以聲明兩個同名的變量
Java定義的數據類型
一、變量按照數據類型來分:
基本數據類型: 整型:byte \ short \ int \ long 浮點型:float \ double 字符型:char 布爾型:boolean
引用數據類型:
類(class)
接口(interface)
數組(array)
1.整型:byte(1字節=8bit) \ short(2字節) \ int(4字節) \ long(8字節)
① byte范圍:-128 ~ 127
② 聲明long型變量,必須以"l"或"L"結尾
③ 通常,定義整型變量時,使用int型。
2.浮點型:float(4字節) \ double(8字節)
① 浮點型,表示帶小數點的數值
② float表示數值的范圍比long還大
③ 定義float類型變量時,變量要以"f"或"F"結尾
④ 通常,定義浮點型變量時,使用double型。
3.字符型:char (1字符=2字節)
① 定義char型變量,通常使用一對'',內部只能寫一個字符
② 表示方式:1.聲明一個字符 2.轉義字符 3.直接使用 Unicode 值來表示字符型常量
char c5 = '\n';//換行符
char c6 = '\u0043';//Unicode
4.布爾型:boolean
① 只能取兩個值之一:true 、 false
② 常常在條件判斷、循環結構中使用
二、變量在類中聲明的位置:成員變量 vs 局部變量
自動類型提升:
結論:當容量小的數據類型的變量與容量大的數據類型的變量做運算時,結果自動提升為容量大的數據類型。 byte 、char 、short --> int --> long --> float --> double
特別的:當byte、char、short三種類型的變量做運算時,結果為int型
說明:此時的容量大小指的是,表示數的范圍的大和小。比如:float容量要大於long的容量
強制類型轉換:
自動類型提升運算的逆運算。
1.需要使用強轉符:()
2.注意點:強制類型轉換,可能導致精度損失。
double d1 = 12.9; //精度損失舉例1 int i1 = (int)d1;//強制類型轉換,截斷操作 System.out.println(i1);//12
//精度損失舉例2
int i2 = 128;
byte b = (byte)i2;
System.out.println(b);//-128
day3
運算符之一:算術運算符
加+、 減-、 乘*、 除/、 取余%
自增自減:
(前)++ (后)++ (前)-- (后)--
(前)++ :先自增1,后運算
(后)++ :先運算,后自增1
自減同理
運算符之二:賦值運算符
=、 +=、 -=、 *=、 /=、 %=
開發中,如果希望變量實現+2的操作,有幾種方法?(前提:int num = 10;) 方式一:num = num + 2; 方式二:num += 2; (推薦)
如果希望變量實現+1的操作:num++; (推薦)
運算符之三:比較運算符
==、 !=、 >、 <、 >=、 <=、 instanceof
結論: 1.比較運算符的結果是boolean類型 2.區分 == 和 =
特別說明:instanceof是Java中的二元運算符,左邊是對象,右邊是類;當對象是右邊類或子類所創建對象時,返回true;否則,返回false。
運算符之四:邏輯運算符
&、 &&、 |、 ||、 !、 ^、
說明: 1.邏輯運算符操作的都是boolean類型的變量
區分& 與 &&:
相同點1:& 與 && 的運算結果相同
相同點2:當符號左邊是true時,二者都會執行符號右邊的運算
不同點:當符號左邊是false時,&繼續執行符號右邊的運算。&&不再執行符號右邊的運算。
開發中,推薦使用&&
區分:| 與 || :
相同點1:| 與 || 的運算結果相同
相同點2:當符號左邊是false時,二者都會執行符號右邊的運算
不同點3:當符號左邊是true時,|繼續執行符號右邊的運算,而||不再執行符號右邊的運算
開發中,推薦使用||
運算符之五:位運算符 (了解)
結論: 1. 位運算符操作的都是整型的數據 2. "<<"符號表示在一定范圍內,每向左移1位,相當於 * 2;">>"符號表示在一定范圍內,每向右移1位,相當於 / 2
運算符之六:三元運算符
1.結構:(條件表達式)? 表達式1 : 表達式2
//獲取兩個整數的較大值 int m = 12; int n = 5;
int max = (m > n)? m : n;
System.out.println(max);
2.說明: ① 條件表達式的結果為boolean類型 ② 根據條件表達式真或假,決定執行表達式1,還是表達式2. 如果表達式為true,則執行表達式1。 如果表達式為false,則執行表達式2。 ③ 表達式1 和表達式2要求是一致的。 ④ 三元運算符可以嵌套使用
3.凡是可以使用三元運算符的地方,都可以改寫為if-else,反之,不成立。
4.如果程序既可以使用三元運算符,又可以使用if-else結構,那么優先選擇三元運算符。原因:簡潔、執行效率高。
day4
分支結構中的if-else(條件判斷結構)
一、三種結構
第一種:
if(條件表達式){
執行表達式
}
第二種:二選一
if(條件表達式){
執行表達式1
}else{
執行表達式2
}
第三種:n選一
if(條件表達式){
執行表達式1
}else if(條件表達式){
執行表達式2
}else if(條件表達式){
執行表達式3
}
...
else{
執行表達式n
}
說明:
1.if-else結構是可以相互嵌套的。
2.如果if-else結構中的執行語句只有一行時,對應的一對{}可以省略的。但是,不建議大家省略。
如何從鍵盤獲取不同類型的變量:需要使用Scanner類
具體實現步驟:
1.導包:import java.util.Scanner;
2.Scanner的實例化:Scanner scan = new Scanner(System.in);
3.調用Scanner類的相關方法(next() / nextXxx()),來獲取指定類型的變量
注意: 需要根據相應的方法,來輸入指定類型的值。如果輸入的數據類型與要求的類型不匹配時,會報異常:InputMisMatchException導致程序終止。
舉個例子
//1.導包:import java.util.Scanner; import java.util.Scanner;class ScannerTest{
public static void main(String[] args){ //2.Scanner的實例化 Scanner scan = new Scanner(System.in); //3.調用Scanner類的相關方法 System.out.println("請輸入你的姓名:"); String name = scan.next(); System.out.println(name); System.out.println("請輸入你的芳齡:"); int age = scan.nextInt(); System.out.println(age); System.out.println("請輸入你的體重:"); double weight = scan.nextDouble(); System.out.println(weight); System.out.println("你是否相中我了呢?(true/false)"); boolean isLove = scan.nextBoolean(); System.out.println(isLove); //對於char型的獲取,Scanner沒有提供相關的方法。只能獲取一個字符串 System.out.println("請輸入你的性別:(男/女)"); String gender = scan.next();//"男" char genderChar = gender.charAt(0);//獲取索引為0位置上的字符 System.out.println(genderChar); }
}
分支結構之二:switch-case
1.格式
switch(表達式){ case 常量1: 執行語句1; //break;case 常量2:
執行語句2;
//break;...
default:
執行語句n;
//break;
}
2.說明:
① 根據switch表達式中的值,依次匹配各個case中的常量。一旦匹配成功,則進入相應case結構中,調用其執行語句。 當調用完執行語句以后,則仍然繼續向下執行其他case結構中的執行語句,直到遇到break關鍵字或此switch-case結構 末尾結束為止。
② break,可以使用在switch-case結構中,表示一旦執行到此關鍵字,就跳出switch-case結構
③ switch結構中的表達式,只能是如下的6種數據類型之一: byte 、short、char、int、枚舉類型(JDK5.0新增)、String類型(JDK7.0新增)
④ case 之后只能聲明常量。不能聲明范圍。
⑤ break關鍵字是可選的。
⑥ default:相當於if-else結構中的else.
default結構是可選的,而且位置是靈活的。
⑦ 如果switch-case結構中的多個case的執行語句相同,則可以考慮進行合並。
For循環結構的使用
一、循環結構的4個要素 ① 初始化條件 ② 循環條件 --->是boolean類型 ③ 循環體 ④ 迭代條件
二、for循環的結構
for(①;②;④){ ③ }
執行過程:① - ② - ③ - ④ - ② - ③ - ④ - ... - ②
day5
嵌套循環的使用
1.嵌套循環:將一個循環結構A聲明在另一個循環結構B的循環體中,就構成了嵌套循環
2. 外層循環:循環結構B 內層循環:循環結構A
3.說明 ① 內層循環結構遍歷一遍,只相當於外層循環循環體執行了一次 ② 假設外層循環需要執行m次,內層循環需要執行n次。此時內層循環的循環體一共執行了m * n次
4.技巧:外層循環控制行數,內層循環控制列數
While 循環的使用
一、循環結構的4個要素 ① 初始化條件 ② 循環條件 --->是boolean類型 ③ 循環體 ④ 迭代條件
二、while循環的結構
①
while(②){
③;
④;
}
執行過程:① - ② - ③ - ④ - ② - ③ - ④ - ... - ②
說明: 1.寫while循環千萬小心不要丟了迭代條件。一旦丟了,就可能導致死循環! 2.我們寫程序,要避免出現死循環。 3.for循環和while循環是可以相互轉換的! 區別:for循環和while循環的初始化條件部分的作用范圍不同。
算法:有限性。
do-while循環的使用
一、循環結構的4個要素 ① 初始化條件 ② 循環條件 --->是boolean類型 ③ 循環體 ④ 迭代條件
二、do-while循環結構:
① do{ ③; ④;
}while(②);
執行過程:① - ③ - ④ - ② - ③ - ④ - ... - ②
說明: 1.do-while循環至少會執行一次循環體! 2.開發中,使用for和while更多一些。較少使用do-while
break和continue關鍵字的使用
| 關鍵字 | 使用范圍 | 循環中使用的作用(不同點) | 相同點 |
|---|---|---|---|
| break | switch-case循環結構中 | 結束當前循環 | 關鍵字后面不能聲明執行語句 |
| continue | 循環結構中 | 結束當次循環 | 關鍵字后面不能聲明執行語句 |
