zoukankan      html  css  js  c++  java
  • 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
     
  • 相关阅读:
    Servlet线程安全2
    Servlet线程安全 Filter http://zwchen.iteye.com/blog/91088
    diamond源码阅读-获取服务器列表
    diamond源码阅读-diamond-server
    diamond源码阅读-diamond-client
    diamond源码阅读-循环探测配置信息是否变化rotateCheckConfigInfo
    八、结构模式之组合(Composite)模式
    七、结构模式之-适配器模式
    六、原型(Prototype)模式
    linux的锁比较
  • 原文地址:https://www.cnblogs.com/gjq1126-web/p/11383981.html
Copyright © 2011-2022 走看看