Java方法介紹
1、方法概念:方法類似C中的函數,是用於 解決某類問題的代碼的集合,是一個功能模塊
2、方法的定義和一些說明:
(1)、方法定義的語法:
(2)、對定義方法的語法的說名:
訪問修飾符:方法允許被訪問的權限範圍, 可以是 public、protected、private 甚至可以省略 ,其中 public 表示該方法可以被其他任何代碼調用
返回值類型:兩種情況,一是有返回值,返回什麼類型填什麼類型,用return返回值。二是沒有返回值,返回值類型,填寫void即可,不需要return
參數列表:作用是爲方法傳遞需要的數值。可以有多個參數,參數 間用逗號“,”隔開。一個方法也可以沒有參數
(3)、方法調用:
靜態方法:類名.方法名
非靜態方法:先創建對象,後通過對象名.方法名方式調用
3、根據方法返回值類型有無和參數列表有無將方法分爲以下4種:
(1)、無返回值無參數類型:
判定方式:如果方法不包含參數,且沒有返回值,我們稱爲無參無返回值的方法
方法的使用:第一先定義方法,第二使用方法
定義方法:定義一個show方法展示
定義方法時應注意:
1、 方法體放在一對大括號中,實現特定的操作
2、 方法名主要在調用這個方法時使用,需要注意命名的規範,一般採用第一個單詞首字母小寫,其它單詞首字母大寫的形式
(2)無返回值帶參數:
形參:定義方法時,定義的參數
實參:使用方法時,傳進去的參數
(3)、有返回值不帶參數:
返回值注意:返回的值的類型要和定義方法時的數據類型兼容;用return返回值;一個方法返回值最多只能有一個
(4)、有返回值有參數:
4、方法重載:方法名相同單參數個參數類型不一致
1、 必須是在同一個類中
2、 方法名相同
3、 方法參數的個數、順序或類型不同
4、 與方法的修飾符或返回值沒有關係
5、方法的傳遞問題:
基本數據類型:傳遞的是數據本身
引用數據類型:傳遞的是數據的位置,一改改所有
6、可變參數列表:參數的數量不固定,可以隨時變化
格式:public void sum(int... n)//int三個點空格n
(1)、注意:
可變參數一定是方法中的最後一個參數
數組可以傳遞給可變參數的方法,繁殖不可以
在重載中含有可變參數的方法是最後被選中的(最後被調用)
(2)、可變參數類型的注意:一個方法中只能有一個可變參數列表。如果存在其他參數和可變參數列表,可變參數列表需要寫在最後
(3)、可變參數列表和數組的區別:
數組可以傳值給可變參數列表,但是可變參數列表不能傳值給數組
package com.imooc.common;
//import java.util.Scanner;
public class CharDemo {
public static void main(String[] args) {
//(2)可變參數列表方式
// if(varableList(3,1,2,3,4)) {
// System.out.println("找到了");
// }
// else {
// System.out.println("沒找到");
// }
// //(1)數組方式
// int[] arr= {1,2,3,4};
// if(varableList(2,arr)) {
// System.out.println("找到了");
// }
// else
// System.out.println("沒找到");
//(3)數組傳值給可變參數列表
int arr[]= {1,2,3,4,5};
if(varableList(2,arr)) {
System.out.println("找到了");
}
else
System.out.println("沒找到");
}
//(2)(3)可變參數列表尋找方法
public static boolean varableList(int a,int... n) {
boolean flag=true;;
for(int i:n) {
if(a==i) {
flag=true;
break;
}
else {
flag=false;
}
}
return flag;
}
//(1)數組方式
// public static boolean varableList(int a,int[] arr) {
// boolean flag=true;
// for(int i=0;i<arr.length;i++) {
// if(arr[i]==a) {
// flag=true;
// break;
// }
// else
// flag=false;
// }
// return flag;
// }
}
7、方法的調試:
F5進入到方法內部;F7從方法內部調到調用處
二、