当前位置: 首页 > news >正文

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

一,数组

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](实参被修改)  

相关文章:

  • JavaWeb 课堂笔记 —— 16 MyBatis 动态SQL
  • Img2img-turbo 在2080Ti上的测试笔记
  • 双目视觉中的动态畸变矫正与跨视角信息融合
  • 4月19日记(补)算了和周日一块写了 4月20日日记
  • 前端工程化之自动化部署
  • 探秘STM32如何成为现代科技的隐形引擎
  • C++栈操作集合
  • SpringBoot编写单元测试
  • acwing--动态规划【线性dp】4/20、4/21
  • Lora 微调自定义device_map
  • 第一章:MySQL视图基础
  • 苍穹外卖阶段性总结 (超详细版)
  • 阿里HumanAIGC 团队开源实时数字人项目ChatAnyone
  • 俄罗斯方块-简单开发版
  • using用法整理
  • 高等数学同步测试卷 同济7版 试卷部分 上 做题记录 上册期中同步测试卷 B卷
  • c++ 类和动态内存分配
  • Java基础语法
  • 本地搭建MQTT服务器并进行设备控制(ESP32+MicroPython)
  • Qt6离线安装过程
  • 被指违反代理协议遭南航暂停售票资格, 去哪儿网:今起恢复
  • 建投读书会·东西汇流|西风东渐中的上海营造
  • 市场监管总局:在全国集中开展食用植物油突出问题排查整治
  • 《王牌对王牌》确认回归,“奔跑吧”将有主题乐园
  • 河北衡水中学再换校长
  • 五连冠创造历史!居文君击败谭中怡完成国象棋后战卫冕