算法
1.两数之和
给定一个整数数组 nums
和一个整数目标值 target
,请你在该数组中找出 和为目标值 target
的那 两个 整数,并返回它们的数组下标。
你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。
你可以按任意顺序返回答案。
1.1数组定义及操作
1.1.1定义
在Java中,可以使用以下方式来定义数组:
1.1.1.1静态初始化数组
即在定义数组的同时为数组元素赋初值。
int[] numbers = {1, 2, 3, 4, 5};
1.1.1.2动态初始化数组
即先定义数组的长度,然后再为数组元素赋值。
Scanner scanner = new Scanner(System.in);
System.out.print("请输入数组的长度:");
int length = scanner.nextInt();
int[] numbers = new int[length];
System.out.println("请输入数组的元素:");
for (int i = 0; i < length; i++) {
numbers[i] = scanner.nextInt();
}
System.out.println("数组的元素为:");
for (int i = 0; i < length; i++) {
System.out.println(numbers[i]);
}
1.1.1.3工具类Arrays初始化
使用数组工具类Arrays的方法来定义和初始化数组。
import java.util.Arrays;
int[] numbers = new int[5];
Arrays.fill(numbers, 0); // 将数组元素全部填充为0
需要注意的是,数组的索引从0开始,因此访问数组元素时,索引的范围是从0到数组长度减1。例如,对于长度为5的数组,有效的索引范围是0到4。
此外,还可以使用多维数组来定义二维或多维数组。例如:
int[][] matrix = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
在上述示例中,我们定义了一个二维数组matrix,其中有3行3列,每个元素都有初始值。可以通过matrix[i][j]的方式来访问二维数组中的元素。
1.1.2取值操作
1.1.2.1数组取值
int[] numbers = {1, 2, 3, 4, 5};
// 取第一个元素
int firstNumber = numbers[0];
System.out.println("第一个元素:" + firstNumber);
// 取第三个元素
int thirdNumber = numbers[2];
System.out.println("第三个元素:" + thirdNumber);
// 修改第四个元素的值
numbers[3] = 10;
System.out.println("修改后的第四个元素:" + numbers[3]);
1.1.2.2字符串取值
在Java中,可以使用字符串的charAt
方法来获取字符串中的一个字符。charAt
方法接受一个整数参数,该参数表示要获取的字符的索引位置。索引位置从0开始,即第一个字符的索引为0,第二个字符的索引为1,依此类推。
以下是一个示例代码,演示如何获取字符串中的一个字符:
public class Main {
public static void main(String[] args) {
String str = "Hello, World!";
char ch = str.charAt(7);
System.out.println("字符串中索引为7的字符为:" + ch);
}
}
1.1.3输出操作
在Java中,可以使用sout
函数(即System.out.println
)来输出数组。以下是一些示例代码,演示如何使用sout
函数输出数组:
int[] numbers = {1, 2, 3, 4, 5};
// 输出整个数组
System.out.println("整个数组:" + Arrays.toString(numbers));
// 输出数组中的每个元素
System.out.print("每个元素:");
for (int i = 0; i < numbers.length; i++) {
System.out.print(numbers[i] + " ");
}
System.out.println();
// 使用增强for循环输出数组中的每个元素
System.out.print("每个元素:");
for (int number : numbers) {
System.out.print(number + " ");
}
System.out.println();
在上述示例中,我们定义了一个整型数组numbers
,其中包含了5个元素。通过使用sout
函数,我们可以输出整个数组,或者逐个输出数组中的每个元素。在第一个示例中,使用Arrays.toString()
方法将整个数组转换为字符串,并与其他文本一起输出。在第二个示例中,使用普通的for
循环遍历数组并逐个输出元素。在第三个示例中,使用增强型的for
循环遍历数组并逐个输出元素。
需要注意的是,输出数组时,可以使用Arrays.toString()
方法将整个数组转换为字符串,或者使用循环遍历数组并逐个输出元素。