Java週記04
本週學習
書本第二章,第三章,程式設計練習
複習
1.Java中的陣列
當建立一個陣列物件時,實際建立了一個引用陣列,每個引用都會被自動被初始化一個 特定值,null。
//定義一個陣列
int[] a;
int b[];
//分配空間給陣列,初始化
a=new int [10];//這裡a在棧裡,new int[10]在堆裡
for(int i=0;i<10;i++){
System.out.print(a[i]);
}
int[] c={2,3,4,5,6};
//for-each結構,列印c的全部元素
for(int i:c){
System.out.print(i);
}
2.賦值
對一個物件進行操作時,真正操作的是對物件的引用
//建立兩個Dog物件d1,d2
Dog d1,d2;
d1=d2;
原本d1,d2在棧區,分別指向堆區的兩個不同的物件區域,d1=d2後,d1,d2都指向d2的區域,d1在堆區佔用的空間會在垃圾回收器檢測到後銷燬。
3.static關鍵字
所有物件共享,只佔一份儲存空間,與任何類或物件無聯絡,所以沒有建立物件也可以呼叫static方法。
class Apply{
//定義static欄位和方法
static int i= 100;
static void fun(){
}
//通過物件使用,或直接用類名使用
Apply a=new Apply();
a.i++;
Apply.i++;
a.fun();
Apply.fun();
}
4.建立一個類
和c++類似
class 類名{
欄位
方法
}
//與一些Java包同名的類
class Math{
}
class String{
}
因為建立的這兩個類是在你自己建立的包裡面,所以可以這樣定義一個類,但不建議這樣用,在同包下其他檔案如果要使用這些Java同名類的話會出現錯誤
//比如和以下語句使用,會分不清想要使用的是Java裡的Math包還是上面自己定義的Math類
class Apply{
Math m=new Math();
}
同一個包裡不能定義同一個類,比如ch2包裡的類Demo1,Demo2…不能同名
5.註釋和嵌入式文件
安裝好JDK後,javac,java這兩個檔案分別負責編譯和執行
javadoc是用於提取註釋的工具,輸出一個HTML工具,可以用web瀏覽器檢視
javadoc只為public和protected成員進行文件註釋
project----generate javadoc----勾選專案----configue-----找到javadoc.exe開啟----finish
在資料夾裡找到index.html,開啟可以檢視
6.一些標籤
@see連結到其他文件
@docRoot 產生到文件根目錄的相對路徑,用於文件樹頁面的顯示超連結
@version 標註版本資訊
@author 標註作者
@since 指定程式程式碼最早的使用版本
這些javadoc標籤使用後會顯示在javadoc文件裡
7.方法呼叫裡的別名問題
class Letter{
char c;
}
public class Apply{
static void fun(Letter y){
y.c='z';
}
public static void main(String[] args){
Letter x=new Letter();
x.c='a';
System.out.println(x.c);
fun(x);
System.out.println(x.c);
//輸出
//a
//z
預習第四章
1.true和false
在c和c++裡允許使用數字來作為布林值使用,Java裡不允許
2.if-else語句
與c,c++裡一樣,有單獨使用的if語句,有if-else語句,有else if語句
3.迭代語句
while,do-while,for
while(布林表示式){
}
do{
語句
}while(布林表示式);
for(初始化表示式;布林表示式;步進表示式){
語句
}
for語句中的初始化表示式,布林表示式,步進表示式都可以為空
4.Foreach語法
這是一種更簡潔的for語法,用於容器和陣列,不必建立Int變數去對由訪問項構成的序列進行計數,foreach會自動生成每一項
for(float x : f){}
//定義一個float型變數x,將每一個f的元素賦給x
5.break和continue
break語句中斷迴圈,直接跳過後續語句,跳出迴圈,不再進行迴圈
continue停止當前迴圈,回到迴圈起始處,開始下一次迴圈
6.switch語句
switch(整數選擇因子){
case 整數值:語句;break;
case 整數值:語句;break;
case 整數值:語句;break;
…
}
int c=rand.nextInt(26)+'a';
switch (c){
case 'a':
break;
case 'b':
break;
case 'c':
break;
case 'd':
break;
case 'f':
print("this is f");
break;
default:print("else");
}
相關文章
- Java基礎-學習筆記04Java筆記
- Android學習筆記04——Activity的生命週期Android筆記
- java 04Java
- java學習筆記.04——執行緒池Java筆記執行緒
- java學習記錄第三週Java
- java學習記錄第七週Java
- java學習記錄第八週Java
- java04(陣列)Java陣列
- 04.Java 流程控制Java
- hbase - [04] java訪問hbaseJava
- 筆記linux_04筆記Linux
- 技術週刊(2019-04-08)
- Day04——Java新手學習Java
- _04_java核心類庫2Java
- Java oop04介面JavaOOP
- 打靶筆記-04-vulnhub-Jangow筆記Go
- 【Step-By-Step】高頻面試題深入解析 / 週刊04面試題
- Java入門系列-04-java中的變數Java變數
- Java基礎04 封裝與介面Java封裝
- JAVA基礎04——變數與常量Java變數
- vue 基礎入門筆記 04Vue筆記
- 《構建之法》閱讀筆記04筆記
- 構建之法閱讀筆記04筆記
- 第一週週記總結
- 老司機 iOS 週報 #89 | 2019-11-04iOS
- 老司機 iOS 週報 #62 | 2019-04-08iOS
- 老司機 iOS 週報 #61 | 2019-04-01iOS
- 老司機 iOS 週報 #57 | 2019-03-04iOS
- 老司機 iOS 週報 #16 | 2018-04-23iOS
- 老司機 iOS 週報 #13 | 2018-04-02iOS
- 老司機 iOS 週報 #64 | 2019-04-22iOS
- 老司機 iOS 週報 #65 | 2019-04-29iOS
- 老司機 iOS 週報 #63 | 2019-04-15iOS
- 04 - 06 Flutter開發初體驗 & Widget 生命週期Flutter
- 老司機 iOS 週報 #22 | 2018-06-04iOS
- 老司機 iOS 週報 #14 | 2018-04-09iOS
- 老司機 iOS 週報 #15 | 2018-04-16iOS
- K8S 生態週報| 2019-04-22~2019-04-28K8S