Java-数组

操作数组的方法:
  • public static String toString(int[] a) :返回指定数组内容的字符串表示形式。 
public static void main(String[] args) {
    
     // 定义int 数组 
    int[] arr = {2,34,35,4,657,8,69,9}; 
    
    // 打印数组,输出地址值 
    System.out.println(arr); // [I@2ac1fdc4 

    // 数组内容转为字符串 
    String s = Arrays.toString(arr); 

    // 打印字符串,输出内容                
    System.out.println(s); // [2, 34, 35, 4, 657, 8, 69, 9] 
}
  • public static void sort(int[] a) :对指定的 int 型数组按数字升序进行排序。
public static void main(String[] args) { 
    // 定义int 数组 
    int[] arr = {24, 7, 5, 48, 4, 46, 35, 11, 6, 2};             
   System.out.println("排序前:"+ Arrays.toString(arr));// 排序前:[24, 7, 5, 48, 4, 46, 35, 11, 6, 2] // 升序排序 Arrays.sort(arr); System.out.println("排序后:"+ Arrays.toString(arr));// 排序后:[2, 4, 5, 6, 7, 11, 24, 35, 46, 48] }

练习:请使用 Arrays 相关的API,将一个随机字符串中的所有字符升序排列,并倒序打印。

public static void main(String[] args) { 
   // 定义随机的字符串
   String line = "ysKUreaytWTRHsgFdSAoidq"; // 转换为字符数组     
  char[] chars = line.toCharArray();

  // 升序排序
  Arrays.sort(chars);   
// 反向遍历打印   for (int i = chars.length‐1; i >= 0 ; i‐‐) {
    System.out.print(chars[i]+" "); // y y t s s r q o i g e d d a W U T S R K H F A   } }

 

 
数组的反转: 数组中的元素颠倒顺序,例如原始数组为1,2,3,4,5,反转后的数组为5,4,3,2,1 
实现思想:数组最远端的元素互换位置。
实现反转,就需要将数组最远端元素位置交换
定义两个变量,保存数组的最小索引和最大索引
两个索引上的元素交换位置
最小索引++,最大索引--,再次交换位置
最小索引超过了最大索引,数组反转操作结束 
public static void main(String[] args) { 
   int[] arr = { 1, 2, 3, 4, 5 }; 
   
   /*
    * 循环中定义变量
    * min=0最小索引
    * max=arr.length‐1最大索引 
    * min++,max‐‐ 
*/ for (int min = 0, max = arr.length-1; min <= max; min++,max--) { //利用第三方变量完成数组中的元素交换 int temp = arr[min]; arr[min] = arr[max]; arr[max] = temp; } // 反转后,遍历数组 for (int i = 0; i < arr.length; i++) { System.out.println(arr[i]); } }

 

 
分析下列程序代码,计算输出结果。
//1. 分析下列程序代码,计算输出结果。 
public class modelTest {
    
    public static void main(String[] args) {
        int a = 1; int b = 2; 
        System.out.println(a); 
        System.out.println(b); 
        change(a, b); 
        System.out.println(a); 
        System.out.println(b);
    }
    public static void change(int a, int b) { 
        a = a + b; //
        b = b + a; //
    }
}

2. 分析下列程序代码,计算输出结果。 
public static void main(String[] args) {
    int[] arr = {1,3,5}; 
    System.out.println(arr[0]); 
    change(arr); 
    System.out.println(arr[0]);
}
public static void change(int[] arr) { 
    arr[0] = 200; 
}
总结:
方法的参数为基本类型时,传递的是数据值. 方法的参数为引用类型时,传递的是地址值.
1.的结果是:1 2 1 2
2.的结果是:1 200
 
posted @ 2019-08-20 16:53  An-Optimistic-Person  阅读(212)  评论(0编辑  收藏  举报