Java_数组

一、java数组

  1、数组定义:数组就是形象于一个容器(容器即可理解为:装东西的容器)

  2、数组特征:数据是连续的,分配大小固定,数组中数据类型完全一致

  创建规则:int[] arr = new int[10] //创建字符类型为init,长度为10的数组

package com.jd.lcj.test;

/**
 * Created by lcj on 2016/6/29.
 */
public class while01 {
    public static void main(String[] args)
    {
        int[]  arr = new int[10];////创建一个长度为10的整型数组
        arr[0] = 123;  //o:表示数组中的第一元素
        arr[1] = 133;
        arr[2] = 143;
        arr[4] = 'A';//正确,因为char和int可以互相转化
        System.out.println("数组4的数值为:"+ arr[4]);  //数组4的数值为:65 [assiilc码中对应的值]
//        arr[2] = 'dfdsf';       //设置的数组为整形不是字符串形式
        System.out.println("数组长度为:"+ arr.length); //打印数组长度
        //数组下标超界
        arr[10] = 100;
        System.out.println("数组长度为:"+ arr.length);
        //java.lang.ArrayIndexOutOfBoundsException 表示数组超越规定的长度
    }
}

   二、数组分类

  1)动态数组

  对数组中的元素进行动态传值,

        //动态数组,在数组长度为10 中可传任意数字
     //数组的动态初始化【数组的长度只能写于new对象的后面】 int[] arr = new int[10];////创建一个长度为10的整型数组 arr[0] = 123; //o:表示数组中的第一元素 arr[1] = 133; arr[2] = 143; arr[4] = 'A';//正确,因为char和int可以互相转化

   2)静态数组

  定义:数组中的元素是固定,不能超过规定的数组长度

  创建规则: int[] srry ={11,22,334,55,6,6,77};  //创建一个整形数组,长度为7

 

public class while01{
    public static  void main(String[] args)
    {
        //静态初始化
        int[] srry ={11,22,334,55,6,6,77};
        System.out.println("srry数组长度为:"+ srry.length);//arry数组长度为:7
        System.out.println("srrry数组中第四个为:"+ srry[4]); //srrry数组中第四个为:6
        System.out.println("srry第八个数组为:"+ srry[8]);//不能超过数组长度7
        //Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 8
    }
}

 

   三、数组简单操作

  1)遍历

  何为遍历?

  简而言之,就是将数组中的元素从头到尾一次访问一遍。

  方式:循环遍历或通过数组下标反问  

public class while01{
    public static  void main(String[] args)
    {
        //静态初始化
        int[] srry ={11,22,334,55,6,6,77};
        System.out.println("srry数组长度为:"+ srry.length);//arry数组长度为:7
        System.out.println("srrry数组中第四个为:"+ srry[4]); //srrry数组中第四个为:6
        //通过for循环对数组中的元素进行遍历
        for (int i = 0 ;i<srry.length;i++)
        {
            System.out.print(srry[i] + " ");//输出:11 22 334 55 6 6 77
        }
    }
}

   2)CRUD

  3)排序

  使用java自带Arrays.sort()实现数组排序

package com.jd.lcj.test;

import java.util.Arrays;
public class while01{
    public static  void main(String[] args) {
        //静态初始化
        int[] srry ={11,22,334,55,6,6,77};
        //通过for循环对数组中的元素进行遍历
        for (int i = 0 ;i<srry.length;i++)
        {
            System.out.print(srry[i] + " ");//输出:11 22 334 55 6 6 77
        }
        System.out.println("\n----------升序排列--------------\n");
        Arrays.sort(srry); //
        //对数组进行升序排序
        for (int i = 0 ;i<srry.length;i++)
        {
            System.out.print(srry[i] + " ");//6 6 11 22 55 77 334
        }
        System.out.println("\n--------降序排列------------\n");
        for (int i = srry.length-1 ;i>=0;i--)
        {
            System.out.print(srry[i] + " ");//334 77 55 22 11 6 6 
        }
    }
}

   练习2:

  打印出数组中最小或最大的元素,并进行升序排序

package com.jd.lcj.test;
import java.util.Arrays;
import java.util.Scanner;
public class while01 {
    //对数组进行排序(升序、降序)
    public static void main(String[] args) {
        int[] arr = new int[10];//设置一个动态数组范围在10
        int min;//最小值
        int max;//最大值
        Scanner in = new Scanner(System.in);   //创建scanner对象,接收从控制台输入
        for(int i=0;i<arr.length;i++){
            System.out.println("请输入第"+(i+1)+"个整数:");
            arr[i]=in.nextInt();   //什么类型next后面就跟什么类型,将用户随机输入动态元素放置在一个数组中arr[i]
//            System.out.print(arr[i]+ "");
        }
        for(int i=0;i<arr.length;i++) {   //循环打印数组中输出的数字并数值间隔为一个空格
            System.out.print(arr[i]+" ");
        }
        System.out.println("\n------------------------\n");
        Arrays.sort(arr);//对动态数组进行升序排序
        min = arr[0];
        max = arr[arr.length-1];  //按照下标对数组中的元素进行定位,从0开始升序
        System.out.println("最小的元素是:"+min);
        System.out.println("最大的元素是:"+max);
    }

 

 

  

posted on 2016-06-30 15:52  lcj122  阅读(247)  评论(0编辑  收藏  举报

导航