2024-07-06|閱讀時間 ‧ 約 30 分鐘

Java入門-Day7:函數

函數的基本結構

函數聲明

在Java中,函數通常被稱為方法(method)。方法包含方法名稱、參數列表和方法體。

public class FunctionExample {

// 函數聲明
public static void sayHello() {
System.out.println("Hello, World!");
}

public static void main(String[] args) {
// 函數的呼叫
sayHello();
}
}

函數表達式(Java 8+)

Java 8引入了Lambda表達式,可以用來簡化函數的定義。Lambda表達式通常用於函數接口(Functional Interface)的實現。

public class FunctionExpressionExample {

public static void main(String[] args) {
// 使用Lambda表達式定義函數
Runnable runnable = () -> {
System.out.println("Hello, Lambda!");
};

// 呼叫run方法,執行Lambda表達式
runnable.run();
}
}

箭頭函數(Java 11+)

Java 11引入了箭頭函數,這是對Lambda表達式的進一步簡化,特別是用於只有一個表達式的函數。

public class ArrowFunctionExample {

public static void main(String[] args) {
// 箭頭函數示例
Runnable runnable = () -> System.out.println("Hello, Arrow Function!");

// 呼叫run方法,執行箭頭函數
runnable.run();
}
}

匿名函數

匿名函數是沒有名稱的函數,通常用於定義事件處理程序或簡短的功能。

public class AnonymousFunctionExample {

public static void main(String[] args) {
// 匿名函數示例
Runnable runnable = new Runnable() {
@Override
public void run() {
System.out.println("Hello, Anonymous Function!");
}
};

// 呼叫run方法,執行匿名函數
runnable.run();
}
}

函數的呼叫

函數的呼叫通過其名稱後跟括號完成,可以根據需要向函數傳遞參數。

public class FunctionCallExample {

public static void printMessage(String message) {
System.out.println(message);
}

public static void main(String[] args) {
// 呼叫函數並傳遞參數
printMessage("Hello, Function Call!");
}
}

函數的參數

單個參數

public class SingleParameterExample {

public static void greetPerson(String name) {
System.out.println("Hello, " + name + "!");
}

public static void main(String[] args) {
// 傳遞單個參數給函數
greetPerson("Alice");
}
}

多個參數

public class MultipleParametersExample {

public static void printSum(int a, int b) {
System.out.println("Sum: " + (a + b));
}

public static void main(String[] args) {
// 傳遞多個參數給函數
printSum(5, 3);
}
}

預設參數值

Java中沒有預設參數值的概念,但可以使用方法重載來達到類似的效果。

剩餘參數

Java中的剩餘參數(Varargs)允許方法接受可變數量的參數。

public class VarargsExample {

public static void printNumbers(String... numbers) {
for (String number : numbers) {
System.out.println(number);
}
}

public static void main(String[] args) {
// 傳遞不定數量的參數給函數
printNumbers("1", "2", "3");
printNumbers("4", "5");
}
}

函數的返回值

單個返回值

public class SingleReturnValueExample {

public static int addNumbers(int a, int b) {
return a + b;
}

public static void main(String[] args) {
// 返回單個值的函數
int result = addNumbers(3, 4);
System.out.println("Sum: " + result);
}
}

返回物件

public class ObjectReturnValueExample {

public static Person createPerson(String name, int age) {
return new Person(name, age);
}

public static void main(String[] args) {
// 返回物件的函數
Person person = createPerson("Alice", 30);
System.out.println("Person: " + person.getName() + ", " + person.getAge());
}
}

class Person {
private String name;
private int age;

public Person(String name, int age) {
this.name = name;
this.age = age;
}

public String getName() {
return name;
}

public int getAge() {
return age;
}
}

返回函數

在Java中,函數也可以作為另一個函數的返回值返回。

public class FunctionAsReturnValueExample {

public static Runnable getRunnable() {
return () -> System.out.println("Hello, Function as Return Value!");
}

public static void main(String[] args) {
// 返回函數的函數
Runnable runnable = getRunnable();
runnable.run();
}
}

分享至
成為作者繼續創作的動力吧!
© 2024 vocus All rights reserved.