Java学习笔记(数组,方法)

发布于:2025-04-21 ⋅ 阅读:(19) ⋅ 点赞:(0)

一,数组

1.数组初始化

1.1动态初始化

  • 格式:数据类型[] 数组名 = new 数据类型[数组长度];
int[] arr = new int[3]; // 定义长度为3的int数组,元素默认值为0  
double[] scores = new double[5]; // 长度5,元素默认0.0  
String[] names = new String[2]; // 长度2,元素默认null  
  • 特点:先分配内存空间,后赋值,适合提前知道数组长度但不确定元素值的场景。

1.2静态初始化

  • 格式:数据类型[] 数组名 = {元素1, 元素2, ...};
int[] scores = {90, 85, 95}; // 系统自动确定长度为3  
String[] fruits = {"苹果", "香蕉", "橙子"};  
  • 特点:定义时指定元素,系统自动分配长度,适合提前知道元素值的场景。

2.数组元素访问和遍历

2.1访问元素

  • 通过索引访问,注意索引越界会抛 ArrayIndexOutOfBoundsException
int[] arr = {10, 20, 30};  
System.out.println(arr[0]); // 输出10  
arr[1] = 25; // 修改元素  

2.2遍历数组

(1)普通 for 循环

int[] nums = {1, 2, 3, 4, 5};  
for (int i = 0; i < nums.length; i++) {  
    System.out.print(nums[i] + " "); // 输出:1 2 3 4 5  
}  

(2)增强 for 循环 :

for (int num : nums) {  
    System.out.print(num + " "); // 输出:1 2 3 4 5  
}  

3.数组常见操作

数组排序:使用 java.util.Arrays.sort() 方法(升序)

import java.util.Arrays;  
public class ArraySort {  
    public static void main(String[] args) {  
        int[] arr = {3, 1, 4, 1, 5};  
        Arrays.sort(arr);  
        System.out.println(Arrays.toString(arr)); // 输出:[1, 1, 3, 4, 5]  
    }  
}  

数组复制Arrays.copyOf() 或 System.arraycopy()

int[] original = {1, 2, 3};  
int[] copy1 = Arrays.copyOf(original, 5); // 新长度5,末尾补0  
int[] copy2 = new int[3];  
System.arraycopy(original, 0, copy2, 0, 3); // 从original[0]复制3个到copy2[0]  

二,方法

1.方法定义与调用

(1)无参数无返回值方法

public static void 方法名() {  
    // 方法体  
    System.out.println("这是无参数无返回值方法");  
}  

(2)带参数方法

public static void 方法名(数据类型 形参1, 数据类型 形参2, ...) {  
    // 方法体  
}  

(3)带返回值方法

public static 数据类型 方法名(参数列表) {  
    // 方法体  
    return 返回值;  
}  

2.方法重载

定义:同一类中,方法名相同,参数列表(个数、类型、顺序)不同,与返回值无关

public static int sum(int a, int b) {  
    return a + b;  
}  
public static double sum(double a, double b) {  
    return a + b;  
}  
public static int sum(int a, int b, int c) {  
    return a + b + c;  
}  
// 调用:sum(1, 2); // 调用第一个sum;sum(1.5, 2.5); // 调用第二个sum;sum(1, 2, 3); // 调用第三个sum  

3.方法参数传递

(1)基本类型传递:传递数据值,形参改变不影响实参

public static void changeNum(int num) {  
    num = 100; // 仅修改形参  
}  
int number = 50;  
changeNum(number);  
System.out.println(number); // 输出50(实参未变)  

(2)引用类型(如数组)传递:传递内存地址,形参改变影响实参

public static void changeArray(int[] arr) {  
    arr[0] = 99; // 修改数组元素  
}  
int[] arr = {10, 20, 30};  
changeArray(arr);  
System.out.println(Arrays.toString(arr)); // 输出[99, 20, 30](实参被修改)  

网站公告

今日签到

点亮在社区的每一天
去签到