zoukankan      html  css  js  c++  java
  • 【6】Java数组之一维数组

    一、数组概念

    定义数组是相同类型的数据按顺序组成的一种引用类型数据
     
    要学习的内容:
    一维数组 - 声明 - 创建 - 初始化 - 元素的引用 - 长度 - 数组的应用
     

    1. 数组声明

    1)数据类型[] 数组名;   --常用形式
    2)数据类型 数组名[];
    3)举例
    int[] arr;
    int arr[] ;
    char[] ch;
    String[] ch;
     

    2. 数组创建

    1)格式一:先声明后创建
     
    数据类型[] 数组名;
    数组名 = new 数据类型[数组长度];
    举例:
    int[] arr;
    a = new int[10]; // 创建一个长度为10的整型数组
     
    2)格式二:声明的同时创建数组
    数据类型[] 数组名 = new 数据类型[数组长度];
    举例:
    int[] a = new int[10]; // 注意:数组长度必须指定!

    3. 数组的存储

    在内存中的存储 数组在内存中会被分配连续的内存空间。
    举例:
    int[] a = new int[10];//10个连续的内存空间,int类型每个值默认都是0。

    4. 数组的初始化

    定义:声明数组的同时给数组赋值,叫做数组的初始化。new不叫初始化,叫创建对象。
    举例:
    int[] a = {1,2,3,4,5,6,7,8,9,10};

    5. 数组元素的引用

    1)语法格式:
    数组名[下标]
     
    2)注意:数组下标从0开始
    举例:
    int[] a = {1,2,3,4,5,6,7,8,9,10};
    a[0] =1;a[1]=2;a[2]=3;a[3]=4;

    6. 数组长度

    1)定义:数组长度就是数组元素的个数;
     
    2)求数组长度:属性length表示数组的长度,usage:a.length

    二、数组应用

    1)案例
    public class demo {
        public static void main(String[] args) {
            //声明一个整型数组
            int[] intArray;
            //声明一个字符串的数组
            String strArray[];
            //创建数组
            intArray = new int[5];
            strArray = new String[10];
            //声明数组的同时进行创建
            float[] floatArray = new float[4];
            //初始化数组
            char[] ch = {'a','b','c','d'};
            System.out.println("ch数组的长度为:"+ch.length);
            System.out.println("intArray数组的第2个元素为:"+intArray[1]);
            System.out.println("strArray数组的第5个元素为:"+strArray[4]);
            System.out.println("floatArray数组的第最后一个元素为:"+floatArray[floatArray.length-1]);//长度减1就是最后一个元素
            //循环为整型数组赋值
            for(int i=0;i<5;i++) {
                intArray[i]=i+1;
    
            }
            //循环输出整型数组中的元素
            System.out.println("整型数组intArray的元素为:");
            for(int i=0;i<5;i++) {
                System.out.print(intArray[i]+" ");
    
            }
        }
    
    }
    
    //ch数组的长度为:4
    //intArray数组的第2个元素为:0
    //strArray数组的第5个元素为:null
    //floatArray数组的第最后一个元素为:0.0
    //整型数组intArray的元素为:
    //1 2 3 4 5
    View Code

     2)案例:求数组元素的累加和

    package com.fiona.javaBasis.day7array_1;
    //求数组元素的累加和
    import java.util.Scanner;
    
    public class _02ArrayDemo {
    
        public static void main(String[] args) {
            //求数组累加和
            //定义整型数组
            int[] a=new int[5];
            Scanner sc=new Scanner(System.in);
            //从键盘接收数据,为数组元素赋值
            for(int i=0;i<a.length;i++) {
                System.out.println("请输入第"+(i+1)+"个元素:");
                a[i]=sc.nextInt();
            }
            System.out.println("数组元素的类容为:");
            for(int i=0;i<a.length;i++) {
                System.out.print(a[i]+" ");
            }
            //求数组元素的累加和
            int sum=0;
            for(int i=0;i<a.length;i++) {
                sum=sum+a[i];
            }
            System.out.println("
    数组元素的累加和为:"+sum);
        }
    
    }
    //请输入第1个元素:
    //1
    //请输入第2个元素:
    //2
    //请输入第3个元素:
    //3
    //请输入第4个元素:
    //4
    //请输入第5个元素:
    //5
    //数组元素的类容为:
    //1 2 3 4 5
    //数组元素的累加和为:15
    View Code
    3)案例:求数组中能被3整除的元素并打印输出。
    package com.fiona.javaBasis.day7array_1;
    //2-6编程练习:求数组中能被3整除的元素并打印输出。
    public class _03ArrayDemo2_6 {
        public static void main(String[] args) {
            //定义一个整型数组,并初始化
            int [] arr=  new int[15];
            System.out.println("数组元素为:");
            for (int a=0;a<15;a++){
                arr[a]=a+1;
                System.out.print(arr[a]+"  ");
            }
    
            //循环遍历数组,找出能被3整除的元素并打印输出
            System.out.println("
    能被3整除的数组元素为:");
            for (int i=1;i<=arr.length-1;i++){
                if (arr[i]%3==0){
                    System.out.print(arr[i]+"  ");
                }
            }
        }
    }
    View Code

     4)案例:求元素最大值

    package com.fiona.javaBasis.day7array_1;
    
    public class _04ArrayMax {
        public static void main(String[] args) {
            // 求元素的最大值
            int[]a= {34,23,78,56,31};
            int max=a[0];
            for(int i=1;i<a.length;i++) {
                if(max>a[i]) {
                    max=a[i];
                    System.out.println("此数组中最大值为:"+max);
                }
    
            }
        }
    }
    View Code

     三、增强型for循环、变量值交换

    1)增强型for循环又叫foreach循环,循环的终止条件:把数组中的内容遍历一遍。❤常用

    int[] arr={1,2,3,4,5};
    for(int n;arr)
        System.out.println(n);
     2)如何对变量a,b的值进行交换❤常用
    int temp;
    temp=a;
    a=b;
    b=temp;

     四、冒泡排序

    ❤重点

    1)冒泡排序

    package com.fiona.javaBasis.day7array_1;
    
    public class _06maopaopaixu {
        //冒泡排序法:从小到大排序
        public static void main(String[] args) {
            int[] a = { 34, 42, 33, 45, 6, 7 };
            System.out.println("排序前的内容是:");
            for (int n : a) {//使用增强型for循环输出数组
                System.out.print(n + " ");
            }
            int temp;//定义中间变量,用来交换两个变量的值
            for (int i = 0; i < a.length - 1; i++) {//外层循环控制循环几次
                for (int n=0;n<  a.length-i-1; n++) {//内层循环控制每趟排序
                    if (a[n]> a[n + 1]) {
                        temp = a[n + 1];
                        a[n + 1] = a[n];
                        a[n] = temp;
                    }
                }
            }
            System.out.println( '
    '+ "排序后的内容是:");
            for (int j : a) {
                System.out.print(j+" ");
            }
        }
    }
    View Code
     2)案例:统计字符出现次数
    package com.fiona.javaBasis.day7array_1;
    
    public class _07ArrarDemo4_4 {
        public static void main(String[] args) {
            //定义一个字符数组ch并初始化
            char [] ch =  {'c','a','i','d','e','x','A'};
            //循环遍历数组,统计字符’a’或’A’出现的次数
            int sum=0;
            for(int i:ch){
                if (i=='a'||i=='A'){
                    sum++;
                }
            }
            //打印输出统计数据
            System.out.println("字符’a’或’A’出现的次数为:"+sum);
    
        }
    
    }
    View Code
     
     

  • 相关阅读:
    Python网络爬虫第三弹《爬取get请求的页面数据》
    18.增量式爬虫
    17.基于scrapy-redis两种形式的分布式爬虫
    关于进程内存磁盘的一些命令
    linux其他命令
    ls -用于显示指定工作目录下之内容(列出目前工作目录所含之文件及子目录)
    mkdir和touch
    ls -列出当前目录下所有的文件或者目录
    cat -用于连接文件并打印到标准输出设备上
    rm -移动文件
  • 原文地址:https://www.cnblogs.com/haifeima/p/12617608.html
Copyright © 2011-2022 走看看