您好,登錄后才能下訂單哦!
這篇文章主要介紹了Java方法如何定義與使用的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇Java方法如何定義與使用文章都會有所收獲,下面我們一起來看看吧。
方法就是一個代碼片段. 類似于 C 語言中的 "函數"。方法可以把它理解為一個功能,這個功能是可以重復使用的。
目前來說寫任何方法的時候都寫成:
pubiic static 返回值 返回名稱(形式參數列表){
函數體/方法體
}
代碼舉例:求1-n的和
/** * 求我們1-n的和 * 函數名字必須采用小駝峰 * @param n 輸入一個數字 */ public static int sumAdd(int n){ int sum = 0; for(int i = 1;i <= 10;i++){ sum += i; } return sum; } public static void main(String[] args) { int ret = sumAdd(10);//方法的調用 }
畫圖講解:
函數返回值的鏈式調用:
還是按照上面的例子給大家舉例一下:
/** * 求我們1-n的和 * 函數名字必須采用小駝峰 * @param n 輸入一個數字 */ public static int sumAdd(int n){ int sum = 0; for(int i = 1;i <= 10;i++){ sum += i; } return sum; } public static void main(String[] args) { int ret = sumAdd(10);//方法的調用 System.out.println(sumAdd(10)*2);//函數的返回值,支持鏈式調用 }
畫圖講解:
在Java里面沒有函數聲明,不管你的函數在main函數的上面還是在下面,都可以調用
函數開辟內存空間叫做函數棧幀,每個函數調用的時候都會開辟棧幀,屬于這個函數的內存
函數在內存空間是如何調用的:
舉例:用函數的方法求n的階乘之和
用函數的方法求n的階乘之和 public static int Fac(int n) { int sum = 1; for (int i = 1; i <= n; i++) { sum = sum * i; } return sum; } /** * 求n的階乘之和 * @param */ public static int facSum(int n){ int ret = 0; for (int i = 1;i <= n; i++){ ret = ret + Fac(i); } return ret; } public static void main(String[] args) { System.out.println(facSum(5)); } }
1.Java無法通過傳地址的方式交換兩個值的變量,后續會講怎么做 public class TestDemo { public static void swap(int a,int b){//交換兩個變量的值 int tmp = a; a = b; b = tmp; } public static void main(String[] args) { int a = 10; int b = 10; System.out.println("交換實參前:"+a+" " +b); swap(&a,b);//Java是做不到取地址的,如果想要寫一個函數交換兩個數的的值,只能把a和b的值放到堆上 System.out.println("交換實參后:"+a+" " +b); } }
有些時候我們需要用一個函數同時兼容多種參數的情況, 我們就可以使用到方法重載
畫圖講解:
方法的名字都叫 add. 但是有的 add 是計算 int 相加, 有的是 double 相加; 有的計算兩個數字相加, 有的是計算三個數 字相加. 同一個方法名字, 提供不同版本的實現, 稱為 方法重載
例題:用函數方式編寫代碼模擬三次登錄場景
public static void login(){ int count = 3; Scanner scanner = new Scanner(System.in); while(count != 0){ System.out.println("請輸入你的密碼"); String password = scanner.nextLine(); if(password.equals("123456")){//equals的返回值是true或者false System.out.println("登錄成功了"); break; }else{ count--; System.out.println("你輸錯密碼了,你還有"+count+"次機會"); } } } public static void main(String[] args) { login(); }
例題:函數求水仙花數
求水仙花數 public static void findNum(int n){ for (int i = 1; i <=n; i++) { int count = 0;//數字的位數 int tmp = i; while(tmp != 0){ count++; tmp = tmp/10; } tmp = i; int sum = 0; while(tmp != 0){ sum += Math.pow(tmp%10,count); tmp/=10; } if(sum == i){ System.out.println(i); } } } public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int n = scanner.nextInt(); findNum(n); }
例題:求奇數位于偶數之前
調整數組順序使得奇數位于偶數之前,調整之后,不關心大小順序 public class TestDemo { public static void main(String[] args) { int[]arr = {1,2,3,4,5,6,7,8,9}; int left = 0; int right = arr.length-1; while(left < right){ while(left < right && arr[left] % 2 != 0){ left++; } while(left < right && arr[right] % 2== 0){ right--; } int tmp = arr[left]; arr[left] = arr[right]; arr[right] = tmp; } for (int i = 0; i <arr.length ; i++) { System.out.print(arr[i]+" "); } } }
例題: 函數求三個數的最大值
1.用函數求三個數的最大值 public class TestDemo { public static int Max(int a,int b){ return a > b? a : b; } public static int Max1(int a,int b,int c){ return Max(Max(a,b),c); } public static void main(String[] args) { System.out.println(Max1(4, 6, 8)); } }
關于“Java方法如何定義與使用”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“Java方法如何定義與使用”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。