Java基础语法3
# 方法
基本数据类型的参数传递
public static void add(int a, int b) {
a += 1;
b += 1;
}
public static void main(String[] args) {
int a = 10;
int b = 20;
add(a, b);
System.out.println(a);//10
System.out.println(b);//20
}
引用数据类型的参数传递
public static void add(int[] arr) {
arr[0] = 50;
}
public static void main(String[] args) {
int[] arr = {10, 20, 30};
add(arr);
System.out.println(Arrays.toString(arr));//50 20 30
}
方法重载
public static int add(int a) {
return a * a;
}
public static int add(int a, int b) {
return a * b;
}
public static int add(int a, int b, int c) {
return a * b * c;
}
方法可变参数
public static int add(int... arr){
int sum = 0;
for (int i = 0; i < arr.length; i++) {
sum+=i;
}
return sum;
}
数组
一维数组
int[] arr = new int[3];
arr[0] = 100;
arr[1] = 200;
arr[2] = 300;
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
二维数组
int[][] arr = new int[3][];
arr[0] = new int[]{100,200};
arr[1] = new int[]{37,45,66};
arr[2] = new int[]{800};
for (int i = 0; i < arr.length; i++) {
for (int j = 0; j < arr[i].length; j++) {
System.out.print(arr[i][j]+" ");
}
System.out.println();
}
数组常用算法
int[] arr = {24, -7, 93, 18, 31, 6};
//最大值
int max = arr[0];
for (int i = 1; i < arr.length; i++) {
if (arr[i] > max) {
max = arr[i];
}
}
System.out.println("最大值:" + max);
//最小值
int min = arr[0];
for (int i = 1; i < arr.length; i++) {
if (arr[i] < min) {
min = arr[i];
}
}
System.out.println("最小值:" + min);
//总和
int sum = 0;
for (int i = 0; i < arr.length; i++) {
sum += arr[i];
}
System.out.println("总和:" + sum);
//平均值
int avg = sum / arr.length;
System.out.println("平均值:" + avg);
//数组复制
int[] arr2 = new int[arr.length];
for (int i = 0; i < arr.length; i++) {
arr2[i] = arr[i];
}
System.out.println("arr1:" + Arrays.toString(arr));
System.out.println("arr2:" + Arrays.toString(arr2));
System.out.println();
//数组反转
for (int i = 0; i < arr.length / 2; i++) {
int temp = arr[i];
arr[i] = arr[arr.length -1 -i];
arr[arr.length -1 -i] = temp;
}
System.out.println("arr1:" + Arrays.toString(arr));
冒泡排序
int[] arr = {24, -7, 93, 18, 31, 6};
for (int i = 0; i < arr.length - 1; i++) { //外层循环控制轮数
for (int j = 0; j < arr.length - 1 - i; j++) { //内层循环控制每轮比较的次数
if (arr[j] > arr[j + 1]) {
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i] + " ");
}
选择排序
int[] arr = {24, -7, 93, 18, 31, 6};
for (int i = 0; i < arr.length - 1; i++) {
for (int j = i + 1; j < arr.length; j++) {
if (arr[i] > arr[j]) {
int temp = arr[j];
arr[j] = arr[i];
arr[i] = temp;
}
}
}
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i] + " ");
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~