赞
踩
/** * java中只有值传递 * 基本数据类型 传递的是具体的值 * 引用数据类型 传递的是地址值 */ public class _01_ParamPass { public static void main(String[] args) { // 调用方法 getSum getSum(6,9); //调用getMax int[] arr = {4, 5,6}; getMax(arr); print("小王"); } //定义一个方法 参数为基本数据类型 参数是基本数据类型 static void getSum(int a,int b){ System.out.println(a); System.out.println(b); //打印的是具体的值 } //定义一个方法 找到数组中最大的数字 参数是引用数据类型 static void getMax(int[] arr){ System.out.println(arr); //[I@15db9742 } static void print(String name){ //引用数据类型 System.out.println(name); //String这个类型重写了toString方法 } }
/** * 可变参数: 可以表示同种类型的0个或者多个数据 * 可变参数的本质 其实也是数组 只能作为形式参数 * 语法结构: * 数据类型...变量名 */ public class _02_ChangeParam { public static void main(String[] args) { //调用可变参数的方法,传递数组 int[] arr = {1,2,3}; getSum(arr); //调用可变参数的正规方法,传递可变参数 getSum(1,2,4); } //定义一个方法 求多个数的和 static void getSum(int...param){ //定义变量 存储和 int sum = 0; for (int i : param) { sum += i; } System.out.println(sum); } //定义一个方法 求多个数的和(利用方法重载验证可变参数的本质就是数组) /*static void getSum(int[] arr){ }*/ }
注意事项
/** * 注意事项: 可变参数只能放在形参列表的末尾 可变参数只能有一个 */ public class _03_ChangeParam2 { public static void main(String[] args) { // 调用 test("呵呵", 2, 4, 6, 1, 8, 9); } static void test(String name, int... param) { System.out.println("多个参数的方法"); } // 可变参数只能放在形参列表的末尾 // static void test1(int...param,String name){} // 可变参数只能有一个 // static void test2(String...name,int...param){} }
// 对int数组进行排序
public static void sort(int[] arr) {
for (int j = 0; j < arr.length - 1; j++) {
// 单次比较
for (int i = 0; i < arr.length - 1; i++) {
// 如果前一位比后一位更大 则交换位置
if (arr[i] > arr[i + 1]) {
int temp = arr[i];
arr[i] = arr[i + 1];
arr[i + 1] = temp;
}
}
}
}
/** * java自带的类的使用说明 * 点开api文档-->点击显示-->选中索引-->输入需要查找的类名-->双击显示详情 * Arrays: * 凡是涉及到对于数组进行操作 优先想到Arrays工具类 * 导包: 唯一确定使用哪里的类 */ public class _04_ArraysUse { public static void main(String[] args) { // static void sort(int[] a) 属于Arrays // 对指定的 int 型数组按数字升序进行排序。 int[] arr = { 21, 36, 14, 25 }; Arrays.sort(arr); // static String toString(int[] a) 返回指定数组内容的字符串表示形式。 String str = Arrays.toString(arr); System.out.println(str); } }
public class _05_ArraysUse { public static void main(String[] args) { //动态创建一个数组 int[] arr = new int[5]; /*arr[0] = 69; arr[1] = 69; arr[2] = 69; arr[3] = 69; arr[4] = 69;*/ //static void fill(int[] a, int val) 填充:将指定的 int值分配给指定int型数组的每个元素。 Arrays.fill(arr, 666); //static String toString(int[] a) 返回指定数组内容的字符串表示形式。 System.out.println(Arrays.toString(arr)); int[] arr1 = { 12, 13, 14, 15 }; //static int[] copyOf(int[] original, int newLength) 复制数组:original 需要从哪里拷贝 源数组 newLength 新数组的长度 int[] arr2 = Arrays.copyOf(arr1, 2); System.out.println(Arrays.toString(arr2)); /*static int[] copyOfRange(int[] original, int from, int to) 将指定数组的指定范围复制到一个新数组。 from指的是从哪个索引开始 to到哪里结束 但是取不到 */ int[] arr3 = Arrays.copyOfRange(arr1, 1, 2);// 1 2 System.out.println(Arrays.toString(arr3)); } }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。