实验室周报
- 這周身為后臺組的萌新,剛剛接觸了java的基礎知識,從面相過程的c語言跳轉到面向對象
java一時還有點不適應,基礎語法雖然都懂,但是還是有一些新知識要記到“小本本”上的。
1、for循環里面有一個新知識點:
(小標簽) out:for(i=0;i<n;i++){for(j=0;j<m;j++){if(2*i<j)break out;}} 即想要通過內層嵌套循環來跳出外層循環,可以使用給外循環標簽的形式來控制外層循環跳出。2、數組方面的知識:
比如說給定一個數組和一個待拷貝數組,你有三種方法可以做:
1)使用for循環來進行拷貝,當然除了for(i=0;i<n;i++)還有一種形式for(int temp:數組名),這個
簡單表達方式呢,適用于不牽扯數組的更改,知識從頭到尾的遍歷;但是真的很方便;
2)使用System.arraycopy(原數組,開始拷貝的索引,目標數組,待開始拷貝索引,拷貝長
度)可以進行連續拷貝;(但是有一個疑問就是,如果不是連續拷貝就只能用第一種方法
嗎?)
3)使用java自帶的數組工具類,即:java.util.Arrays.copyOf(原數組,長度),雖然看起來
很牛,但是其源代碼還是調用了System.arraycopy(原數組,開始拷貝的索引,目標數組,待
開始拷貝索引,拷貝長度)這個工具類。而且默認的拷貝開始索引為0,不夠智能,所以不值
一提。
還有呢數組的輸出格式java也有相應的方法 java.util.Arrays.toString(dest) 輸出效果是
[1,2,3,4,5] 。
3、方法的重載和構建器的重載:
為了避免實現同一功能而另外創建方法或者構建器,java有重載的操作,即
1)方法:遵循兩同一不同原則:在同一個類中,且方法名相同,但(參數類型,參數順序,
參數個數)只要其中一個不同,就是運用了方法重載,,且與參數名和返回類型無關,可以
省很多事情;
2)構建器:即創建對象時采取的,和方法差不多,格式為(其類相同的類名)(){}
不同之處也是參數方面。
4、封裝
封裝我只是淺顯得了解了一下:也是為了coder的便利,采用封裝常用的方法的操作,只需要
進行方法的調用,就可以實現一些功能,當然里面肯定也有一些重載方法,才能構成一個強
大的功能。
在自制的封裝時,有兩種情況,一是在同一文件夾里進行封裝(比如說新建一個主類名為hi
的java class,里面有一個名為void print()的方法,那么你就可以直接調用hi.print()來實
現);然而如果封裝在另一個文件夾的話,那么你就需要“倒包”(在主類上面加入(import 文
件夾名.主類名;)),到時候就可以直接調用hi.print()來實現,當然有一個小細節,即在主類hi
下的方法必須加public static…才能被調用,否則會報錯。
5、在同一源文件中除主類外,另外創建類時,其方法或成員變量前有無static含義不同。 無
static時,當你在主類里調用另一個類的方法時,所描述的功能或者特性為針對改對象(或實
例)而言的,例如:當你定義“人”這個類,并且執行“死亡”這個功能時,其含義為個體的死
亡; 有 static時,當你執行"死亡”功能時,代表這一類的死亡,即“人類滅亡”。
- List item
6、方法區,棧,堆:當然也只是了解一點,方法區(來自小白理解)存儲的是你定義的方法
和方法里的變量。棧里面存儲的是成員變量和主方法里的局部變量。堆里面存儲的是new出
來的數據,例如數組和對象。然后呢在堆里面new出來的數組和對象可以用棧里面的變量去
賦值(這樣說也不對,其實是把堆數據里面的地址給了棧里面的變量),而棧變量與堆里面
的數據結合在一起就構成了引用關系。當引用關系不存在時(堆里面的數據的地址沒有棧里
面的變量來儲存的話,就變成了垃圾數據,這就需要垃圾處理器)。
- List item
7、零碎知識集合:相比c語言的數據類型,java支持字符串類型:String,當然也有String類型
的數組,java7以后也有了二進制的表示方法0b/0B…;java7以后還有數字直接用下劃線分
隔且不影響數字表示的機制:756<==>7_5_6,但是注意下劃線兩邊只能是數字,這就意味著
數字開頭之前和數字結尾之后不能用下劃線。java里面的char為兩個字節,意味著能存一個
漢字,也就是說你定義一個char類型的數組,你可以一個元素表示一個漢字。
java的變量分為兩種,成員變量和局部變量,在主類中,成員變量必須在數據類型前加static
才能被方法所調用。變量還分為靜態初始化和動態初始化,靜態初始化是基于自己已知值的
的情況下,動態初始化,除char和String,以及什么來著,額,不要在意這種細節,之外,都
是初始化為0的,char初始化為null。
總結
- 上一篇: YOUChain有链与朗新天霁共建区块链
- 下一篇: 我有200台摄像机4MB/s,后端防火墙