Java基礎知識七——方法
一、方法的概述
方法其實就是完成特定功能的程式碼塊。
定義的格式:
修飾符 返回值型別 方法名(引數型別 引數1,引數型別,引數2,...){
方法體;
return 返回值;
}
格式解釋:
修飾符:後面會說,目前先使用public static
返回值型別:用於限定返回值的資料型別
方法名:方便我們呼叫方法
引數型別:用於限定呼叫方法是傳入的資料的資料型別
引數名:用於接受呼叫方法是傳入的資料的變數
方法體:完成特定功能的程式碼
return 返回值:結束方法,並把返回值帶給呼叫者
二、方法的定義
我們在寫一個方法前,一般要有兩個明確:
- 返回值型別:其實就是要我們明確方法結果的資料型別
- 引數列表:其實就是要我們明確有幾個引數參加,並且每個引數都是什麼資料型別的
案例:求兩個資料之和
/*
* 兩個明確:
* 返回值型別:int
* 引數列表:int a,int b
*/
public static int sum(int a,int b) {
int c = a + b;
return c;
}
三、方法的呼叫
1、有返回值的呼叫
有返回值的呼叫方法有三種:
(1)直接呼叫,無意義
(2)輸出呼叫,有意義,但是不夠好,因為我不一定非要把結果輸出
(3)賦值呼叫,推薦方式
例:
public class MethodDemo1 {
// 求和的方法
public static int sum(int a, int b) {
return a + b;
}
public static void main(String[] args) {
// 單獨呼叫
// sum(10,20);
// 輸出呼叫
// System.out.println(sum(10,20));
// 賦值呼叫
int s = sum(10, 20);
// s+=100;
System.out.println("s:"+s);
}
}
2、沒有返回值的方法呼叫
沒有返回值的方法呼叫只有一個方法,就是直接呼叫。
例:
public class MethodDemo2 {
public static void print() {
System.out.println("這個方法沒有返回值");
}
public static void main(String[] args) {
print();
}
}
注意:
如果一個方法沒有明確的返回值型別,也不能把返回值型別的地方空出來,這裡應該寫void表示該方法無返回值。
三、方法的過載
1、方法過載的概述
在同一個類中,允許存在一個以上的同名方法,只要它們的引數個數或者引數型別不同即可。
2、方法過載的特點
(1)方法名相同,引數列表不同。
- 引數的個數不同。
- 引數對應的資料型別不同。
(2)方法過載與返回值無關。
注意事項:
在呼叫方法的時候,java虛擬機器會根據方法名及引數列表的不同來區分方法。
案例:資料的求和
public class MethodDemo3 {
public static void main(String[] args) {
//定義兩個變數
int a = 10;
int b = 20;
//求和
int result = sum(a,b);
System.out.println("result:"+result);
//定義變數
int c = 30;
int result2 = sum(a,b,c);
System.out.println("result2:"+result2);
}
//求三個資料的和
public static int sum(int a,int b,int c) {
return a + b + c;
}
//求兩個資料的和
public static int sum(int a,int b) {
return a + b;
}
}
四、方法型別引數詳解
1、方法的引數是基本型別
方法的引數是基本型別的時候,形式引數的改變不影響實際引數。
形式引數:用於接收實際資料的變數
實際引數:實際參與運算的變數
例:
public class MethodDemo4 {
public static void main(String[] args) {
// 定義變數
int a = 10;
int b = 20;
System.out.println("a:" + a + ",b:" + b);// a:10,b:20
change(a, b);
System.out.println("a:" + a + ",b:" + b);// a:10,b:20
}
public static void change(int a, int b) { // a=10,b=20
System.out.println("a:" + a + ",b:" + b);// a:10,b:20
a = b; // a=20;
b = a + b;// b=40;
System.out.println("a:" + a + ",b:" + b);// a:20,b:40
}
}
2、方法引數是引用資料型別
引用資料型別作為引數傳遞,形式引數的改變直接影響實際引數。
例:
public class MethodDemo5 {
public static void main(String[] args) {
int[] arr = { 1, 2, 3, 4, 5 };
for (int x = 0; x < arr.length; x++) {
System.out.println(arr[x]);//1,2,3,4,5
}
change(arr);
for (int x = 0; x < arr.length; x++) {
System.out.println(arr[x]);//1,4,3,8,5
}
}
public static void change(int[] arr) {
for (int x = 0; x < arr.length; x++) {
if (arr[x] % 2 == 0) {
arr[x] *= 2;
}
}
}
}
相關文章
- Java基礎知識篇05——方法Java
- JavaSE基礎知識分享(七)Java
- Java基礎知識Java
- Java基礎知識回顧之七 —– 總結篇Java
- Java基礎知識回顧之七 ----- 總結篇Java
- 初識Java Java基礎知識Java
- Java基礎概念知識Java
- java基礎知識點Java
- Java基礎知識(二)Java
- Java SE 基礎知識Java
- Java基礎知識整理之static修飾方法Java
- Java併發--基礎知識Java
- Java基礎知識點梳理Java
- Java基礎知識——異常Java
- Java基礎知識總結Java
- Java基礎知識面試題Java面試題
- Java 基礎面試知識點Java面試
- Java基礎知識回顧Java
- java之路,基礎知識1Java
- JAVA基礎知識補漏Java
- 《java程式設計基礎》java的基礎知識(三)Java程式設計
- 【Java基礎知識】Java流程控制Java
- java基礎知識-序列化/反序列化-gson基礎知識Java
- JavaScript基礎知識(Date 的方法)JavaScript
- Python基礎知識七 元組&字典&集合Python
- Java基礎知識_記憶體Java記憶體
- Java代審:Maven基礎知識JavaMaven
- 整理Java基礎知識--Calendar 類Java
- Java基礎知識整理之this用法Java
- Java基礎知識點總結Java
- Java基礎知識回顧 -SQLJavaSQL
- Java基礎知識總結-1Java
- Java基礎知識之概述(一)Java
- Java基礎知識入門-JDKJavaJDK
- Java入門基礎知識點Java
- Java基礎知識題集(1)Java
- Java基礎知識題集(2)Java
- JAVA與tomcat基礎知識JavaTomcat