目录
- 方法参数传递
- 可变参数
- 冒泡排序
- Arrays工具类
- Arrays工具类常用方法
方法参数传递
/*** java中只有值传递* 基本数据类型 传递的是具体的值* 引用数据类型 传递的是地址值*/
public class _01_ParamPass {public static void main(String[] args) {// 调用方法 getSumgetSum(6,9);//调用getMaxint[] 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;}}}}
Arrays工具类
/*** 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);}
}
Arrays工具类常用方法
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 2System.out.println(Arrays.toString(arr3));}
}