Java 方法练习:提升编程技能的终极指南37


简介

方法是 Java 编程中至关重要的功能单位,可用于封装代码、提高代码的可重用性和可维护性。对于初学者和经验丰富的程序员来说,练习方法对于掌握 Java 编程至关重要。本文提供了 15 个练习,涵盖了各种方法概念,帮助您提高编程技能。

练习 1:创建和调用简单方法

编写一个 Java 类,其中包含一个名为 greet() 的方法,用于打印“Hello, world!”。创建该类的对象并调用 greet() 方法。```java
public class HelloWorld {
public static void greet() {
("Hello, world!");
}
public static void main(String[] args) {
HelloWorld helloWorld = new HelloWorld();
();
}
}
```

练习 2:传递参数并返回结果

编写一个方法,接收两个整数值参数并返回其和。在主方法中,调用该方法并打印结果。```java
public class SumNumbers {
public static int sum(int num1, int num2) {
return num1 + num2;
}
public static void main(String[] args) {
int result = sum(5, 7);
("Sum: " + result);
}
}
```

练习 3:使用可变参数

编写一个可接受任意数量整数参数的方法,并计算其总和。在主方法中,使用不同的参数数组来调用该方法。```java
public class SumVariableArgs {
public static int sum(int... numbers) {
int sum = 0;
for (int num : numbers) {
sum += num;
}
return sum;
}
public static void main(String[] args) {
("Sum: " + sum(5, 7, 9));
("Sum: " + sum(1, 2, 3, 4, 5));
}
}
```

练习 4:使用重载方法

创建两个同名的方法,但具有不同的参数类型。在主方法中,调用这两个方法并观察输出。```java
public class OverloadingDemo {
public static void print(int num) {
("Integer: " + num);
}
public static void print(String str) {
("String: " + str);
}
public static void main(String[] args) {
print(5);
print("Hello");
}
}
```

练习 5:使用递归方法

编写一个递归方法来计算给定数字的阶乘。在主方法中,调用该方法并打印结果。```java
public class Factorial {
public static int factorial(int num) {
if (num == 0) {
return 1;
}
return num * factorial(num - 1);
}
public static void main(String[] args) {
("Factorial of 5: " + factorial(5));
}
}
```

练习 6:使用匿名内部类

创建匿名内部类来实现 Runnable 接口,并使用它在单独的线程中打印消息。在主方法中,启动该线程。```java
public class AnonymousInnerClassDemo {
public static void main(String[] args) {
Runnable task = new Runnable() {
@Override
public void run() {
("Hello from anonymous inner class!");
}
};
Thread thread = new Thread(task);
();
}
}
```

练习 7:使用 lambda 表达式

使用 lambda 表达式来实现 Runnable 接口,并使用它在单独的线程中打印消息。在主方法中,启动该线程。```java
public class LambdaExpressionDemo {
public static void main(String[] args) {
Runnable task = () -> ("Hello from lambda expression!");
Thread thread = new Thread(task);
();
}
}
```

练习 8:使用 Streams 和 Filters

创建一个整数列表,并使用 Streams 和 Filters 来过滤掉偶数并打印结果。```java
import ;
import ;
import ;
public class StreamsAndFiltersDemo {
public static void main(String[] args) {
List numbers = (1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
List evenNumbers = ()
.filter(num -> num % 2 == 0)
.collect(());
("Even numbers: " + evenNumbers);
}
}
```

练习 9:使用 Map 和 Reduce

创建一个字符串列表,并使用 Map 和 Reduce 来将这些字符串连接成一个大字符串并打印结果。```java
import ;
import ;
import ;
public class MapAndReduceDemo {
public static void main(String[] args) {
List strings = ("Hello", "World", "Java");
String joinedString = ()
.map(String::toUpperCase)
.reduce((s1, s2) -> s1 + " " + s2)
.get();
("Joined string: " + joinedString);
}
}
```

练习 10:使用 Optional

创建一个方法来查找给定字符串列表中的字符串,并使用 Optional 来处理可能找不到该字符串的情况。```java
import ;
import ;
import ;
public class OptionalDemo {
public static void main(String[] args) {
List strings = ("Hello", "World", "Java");
Optional found = ()
.filter(s -> ("Python"))
.findAny();
if (()) {
("String found: " + ());
} else {
("String not found");
}
}
}
```

练习 11:使用泛型方法

创建一个泛型方法来交换两个元素,并使用它来交换整数、字符串和对象数组。```java
public class GenericMethodDemo {
public static void swap(T[] array, int index1, int index2) {
T temp = array[index1];
array[index1] = array[index2];
array[index2] = temp;
}
public static void main(String[] args) {
Integer[] numbers = {1, 2, 3, 4, 5};
swap(numbers, 0, 4);
("Numbers after swap: " + (numbers));
String[] strings = {"Hello", "World", "Java"};
swap(strings, 0, 2);
("Strings after swap: " + (strings));
}
}
```

练习 12:使用 varargs 数组

创建一个方法来接收可变长度的字符串参数,并使用 varargs 数组来打印每个字符串。```java
public class VarargsDemo {
public static void printStrings(String... strings) {
for (String str : strings) {
(str);
}
}
public static void main(String[] args) {
printStrings("Hello", "World", "Java");
}
}
```

练习 13:使用异常处理

编写一个方法来解析字符串为整数,并使用异常处理来捕获和处理无效的格式异常。```java
public class ExceptionHandlingDemo {
public static void main(String[] args) {
String input = "abc";
try {
int number = (input);
("Parsed number: " + number);
} catch (NumberFormatException e) {
("Invalid input: " + ());

2024-10-16


上一篇:构造方法在 Java 中的全面指南

下一篇:Java 应用程序主类的正确 Main() 方法