Java学习笔记4-数组操作

数组操作

数组遍历

在笔记3中已经学习了forfor each相关操作,可以使用两者对数组进行变量,但要记住for是通过计数器来进行遍历,而for each则是直接访问数组中的元素值;

import java.util.Arrays;

public class Demo{
    public static void main(String[] args){
        char[] chArray = {'c','u','n','y','u'};
        
        // for 遍历数组
        for(int i = 0; i < chArray.length; i++){
            System.out.println(chArray[i] + "\t");
        }
        
        // for eacch 遍历数组
        for(char ch:chArray){
            System.out.println(ch + "\t");
        }
        
        // 注意,若是直接打印数组变量,得到的不是数组中的元素值,而是数组在 JVM 中的引用地址
        System.out.println(chArray) // 结果类似于 [I@7852e922
            
        // 使用 Java标准库 直接打印数组内容
        System.out.println(Arrays.toString(chArray));
    }
}

数组排序

排序算法多样,最常用的则有 冒泡排序、插入排序、快速排序等,进行排序时会修改数组本身;

  • 冒泡排序:经过一轮循环,将最大的数置换到末尾,然后进入下一轮循环,每轮均比上一轮的结束位置靠前一位;

    import java.util.Arrays;
    
    public class Demo{
        public static void main(String[] args){
                    char[] chArray = {'c','u','n','y','u'};
            // 排序前
            System.out.println(Arrays.toString(chArray));
            
            for(int i = 0; i < chArray.length - 1; i++){
                for(int j = 0; j < chArray.length - 1 - i; j++){
                    // 从大到小
                    if(chArray[j] < chArray[j + 1]){
                        // 交换
                       	char temp = chArray[j];
                        chArray[j] = chArray[j + 1];
                        chArray[j + 1] = temp;
                    }
                }
            }
            
            // 冒泡排序后
     		System.out.println(Arrays.toString(chArray));      
           // Java 标准库排序
            Arrays.sort(chArrays);
            System.out.println(Arrays.toString(chArray)); 
      }
    }
    

多维数组

  • 每个数组元素长度不要求相同;
  • 打印多维数组可调用Arrays.deepToString()

命令行参数

调用命令行参数时,类名作为第一个参数,即args[0]

发布了104 篇原创文章 · 获赞 69 · 访问量 13万+

猜你喜欢

转载自blog.csdn.net/github_39655029/article/details/104914821