JAVA修炼秘籍第四章《闭关修炼》
往期:
JAVA 修煉秘籍第一章:《痛苦的折磨》
JAVA 修煉秘籍第二章:《逐漸魔化》
JAVA 修煉秘籍第三章:《絕地反擊》
文章目錄
- 一、方法
- 方法的重載
- 方法遞歸
- 二、數(shù)組
- 獲取數(shù)組長(zhǎng)度與訪問(wèn)數(shù)組
- 拷貝數(shù)組與以字符串的形式打印數(shù)組
一、方法
在JAVA中什么是方法呢,方法其實(shí)與C語(yǔ)言中的函數(shù)是大相徑庭的,方法可以幫助我們更清晰的理解代碼,并且可以重復(fù)使用重復(fù)調(diào)用,大大減少了代碼的重復(fù)性。
方法的書寫格式如下:
public class Prog{public static int add(int x,int y){return x+y;}public static void main(String[] args) {int a=3;int b=5;int c=add(a,b);} }通過(guò)圖片來(lái)分析代碼:
注釋部分:
1.在JAVA的方法書寫格式與定義中,方法參數(shù)可以沒(méi)有,如果有一定要指定類型。
2.返回值可以沒(méi)有,如果沒(méi)有返回值的方法,寫上void。
3.方法定義時(shí)的參數(shù)為形參,方法調(diào)用時(shí)的參數(shù)為實(shí)參,形參是實(shí)參的一份臨時(shí)拷貝。
4.方法的定義必須在類中, 調(diào)用位置的上方或者下方都可已。
5.方法只會(huì)在被調(diào)用時(shí)運(yùn)行,不調(diào)用則不會(huì)。
6.遇到return語(yǔ)句則直接返回,不會(huì)繼續(xù)函數(shù)內(nèi)部后面的代碼。
方法的重載
什么是方法的重載,當(dāng)我想要計(jì)算兩個(gè)正數(shù)數(shù)相加需要寫一個(gè)函數(shù),當(dāng)我想計(jì)算兩個(gè)小數(shù)相加又要寫一個(gè)函數(shù),兩個(gè)短整型呢?還是很麻煩,這個(gè)時(shí)候,我們就需要用到重載,可以大大提升我們的代碼清晰度,與簡(jiǎn)潔。不光可以寫兩個(gè),可以重載很多個(gè)。
代碼如下:
public static int add(int x,int y){return x+y;}public static double add(double x,double y){return x+y;}public static void main(String[] args) {int a=10;int b=20;double c=2.5;double d=10.3;System.out.println(add(a,b));System.out.println(add(c,d));}輸出結(jié)果為:30 12.8。
注釋部分:
1.可以看到兩個(gè)add函數(shù)的實(shí)現(xiàn)大致相同,他們的作用也相同,不同的點(diǎn)在于他們的參數(shù)類型不同,返回值不同。
2.方法名相同。
3.返回值不做要求。
4.參數(shù)列表不同,參數(shù)個(gè)數(shù)與參數(shù)類型。
5.必須在一個(gè)類中。
方法遞歸
一個(gè)方法在執(zhí)行的過(guò)程中調(diào)用自身, 就稱為遞歸,遞歸的程序的執(zhí)行過(guò)程不太容易理解, 要想理解清楚遞歸, 必須先理解清楚 “方法的執(zhí)行過(guò)程”,
尤其是 方法執(zhí)行結(jié)束 之后, 回到調(diào)用位置繼續(xù)往下執(zhí)行。
代碼部分:計(jì)算n的階乘
public static int factor(int n){if(n==1){return 1;}return n*factor(n-1);}public static void main(String[] args) {int n=5;System.out.println(factor(n));}注釋部分:
1.自身調(diào)用自身。
2.要有終止條件。
3.自己能推到出遞歸公式。
贈(zèng)送一張圖片方便理解:
一定要認(rèn)真學(xué)習(xí)并且習(xí)慣使用遞歸,因?yàn)樵诤竺嬉恍?shù)據(jù)結(jié)構(gòu)中二叉樹等都是需要用遞歸來(lái)實(shí)現(xiàn)的,遞歸YYDS,用多了就不難了。
二、數(shù)組
在JAVA中數(shù)組的使用是非常方便的,數(shù)組是多個(gè)相同類型的批量創(chuàng)建,數(shù)組的定義如下,然后來(lái)介紹一下數(shù)組的存儲(chǔ)形式。
代碼如下:
public static void main(String[] args) {int[] arr={1,2,3,4,5};}注釋部分:
1.上面代碼轉(zhuǎn)換為中文-》數(shù)據(jù)類型[ ] 數(shù)組名={初始化數(shù)據(jù)}。
2.這樣就用一行代碼創(chuàng)建了5個(gè)類型為 int 的變量。
3.JAVA中的數(shù)組都是在堆上創(chuàng)建的,數(shù)組名只是保留了地址。
4.JAVA中棧上的地址是拿不到的,堆上的地址可以拿到,但是不是真的,但是可以看作是真實(shí)的。
5.數(shù)組的的內(nèi)存形式如下圖所示:
獲取數(shù)組長(zhǎng)度與訪問(wèn)數(shù)組
在JAVA中獲取數(shù)組長(zhǎng)度非常簡(jiǎn)單,隨時(shí)隨地獲取,非常簡(jiǎn)單
代碼如下:
public static void main(String[] args) {int[] arr={1,2,3,4,5};System.out.println(arr.length);System.out.println(arr[1];}注釋部分:
1.數(shù)組名.length就可以直接計(jì)算出當(dāng)前數(shù)組的長(zhǎng)度,打印結(jié)果為5.
2.數(shù)組名[下標(biāo)],可以直接訪問(wèn)下標(biāo)所對(duì)應(yīng)的數(shù)字,數(shù)組的下標(biāo)是從0開始的,不是1
拷貝數(shù)組與以字符串的形式打印數(shù)組
拷貝數(shù)組其實(shí)可以手動(dòng)實(shí)現(xiàn),也可以使用方便快捷的庫(kù)方法直接調(diào)用,這里介紹這兩種數(shù)組操作的快捷方法,可以去放心大膽的刷題,自己實(shí)現(xiàn)也非常容易.
代碼如下:
注釋部分:(按照代碼中(數(shù)字)來(lái)分析) (1).調(diào)用包,使用庫(kù)方法; (2).創(chuàng)建數(shù)組1; (3).創(chuàng)建空數(shù)組2,長(zhǎng)度為數(shù)組1的長(zhǎng)度.
(4).輸出arr1這個(gè)庫(kù)方法是以字符串的形式打印數(shù)組,格式為Arrays.toSring(數(shù)組名);
(5).拷貝數(shù)組,將arr1中的內(nèi)容拷貝到arr2中,格式Arrays.copyOf(被拷貝數(shù)組名,拷貝長(zhǎng)度);
(6)與(4)相同.
數(shù)組內(nèi)容梳理完成,還有二維數(shù)組,二維數(shù)組與數(shù)組大同小異,隨處可見,這里就不多比比了,再見.
總結(jié)
以上是生活随笔為你收集整理的JAVA修炼秘籍第四章《闭关修炼》的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: iftop监控网卡实时流量
- 下一篇: 从SUV到MPV,岚图难跨高端