• 5.1数组(一维部分)


    大纲:

    定义:数组是具有相同数据类型的一组数据的集合.

    分类:一维数组;二维数组;三维数组,多维数组

    5.2一维数组:

    5.2.1创建一维数组

    数组作为对象允许使用new关键字进行内存分配,在使用前,必须定义数组类型所属的类,即声明数组,一般两种格式:

          1,数组元素类型 数组名字[];

          2.数组元素类型[] 数组名字;

    注意:   *1,数组元素类型:决定了数组的数据类型,它可以是JAVA中任意的数据类型,包括基本数据类型和非基本数据类型.

              *2,数组的名字:为一个合法的标识符.

              *3,符号"[]":指明该变量是一个数组类型变量,单一个"[]"表示要创建的数组是一维数组.

    <例>:

       int arr[];//声明int型数组,数组中的每个元素都是int型数值.

       String []str;//声明String数组,数组中的每个元素都是String型数值

    声明后,还不能访问它的任何元素,因为仅仅有了数组名字和类型,还要必须为其分配内存空间,还必须指明数组长度.

    格式:    数组名字 =new 数组元素类型[数组元素的个数];

    注意:   *1,数组的名字:已声明的数组变量的名称.

              *2,new:对数组分配空间的关键字.

              *3,数组元素的个数:指定数组中变量的个数,即数组的长度.

    <例>:

    为数组分配内存:  arr=new int[5];

    使用new关键字为数组分配内存时,数组中各个元素的初始化值都是0.

    创建数组和分配内存不一定要分开执行.

    格式: 数组元素类型 数组名[]=new 数组元素类型[数组元素个数];

    <例>:

    int month[]=new int[12];//指定元素month,数组长度12.

    5.2.2初化一维数组

    数组可以与数据类型一样进行初始化操作,数组初始化可分别初始化数组中每一个元素,

    有两种形式:1:int arr[]=new int[]{1,2,3,4,56};

                   2.int arr2[]={23,34,12,3};

    数组初化始方式是:把数据类型包括在大括号内,中间用逗号分开数组,系统自动为数组分配一定的空间.

    5.2.3遍历一维数组

    遍历数组就是获取数组中的每个元素.通常使用for循环实现.

    package 基本数据类型;
    
    import java.util.Scanner;
    
    public class 一维数组 {
    
        public static void main(String[] args) {
            //数组
            int i=0;
            //写法
            int[]s;
            String t[];
            //数组在使用前,一定初始化大小
            int []a=new int[5];//数组初始化,开辟5个新空间,代表数组长度
            //数组的索引:从0开始,01234
            //索引的最大值=数组的长度-1;
            a[0]=0;
            a[1]=1;
            a[2]=2;
            a[3]=3;
            a[4]=4;
            
            System.out.println("a[2]="+a[2]);
            //数组长度属性,返回int型
            int l=a.length;
            System.out.println("a.length="+l);
            //数组集合的建立
            for(int n=0;n<5;n++)
            {
                System.out.print("请给数组a["+n+"]赋值:");
                Scanner number=new Scanner (System.in);
                a[n]=number.nextInt();
                System.out.println("a["+n+"]="+a[n]);
            }
            System.out.println();
            //数组的遍历
            System.out.println();
            for(int n=0;n<a.length;n++)
            {
                System.out.println("a["+n+"]="+a[n]);
            }
              //foreach循环
              //遍历输出a
            for(int q:a)
            {
                System.out.println(q);
            }
            //遍历输入方式
            String[]sa=new String[]{"abc","def","xyz"};
            String[]sa1={"abc","def","ghi","xyz"};
            System.out.println("sa.length="+sa.length);
            System.out.println("sa1.length="+sa1.length);
            
            
            
            
            
        }
    
    }
    
    答案:a[2]=2
    a.length=5
    请给数组a[0]赋值:1
    a[0]=1
    请给数组a[1]赋值:2
    a[1]=2
    请给数组a[2]赋值:3
    a[2]=3
    请给数组a[3]赋值:4
    a[3]=4
    请给数组a[4]赋值:5
    a[4]=5
    
    
    a[0]=1
    a[1]=2
    a[2]=3
    a[3]=4
    a[4]=5
    1
    2
    3
    4
    5
    sa.length=3
    sa1.length=4

     练习:

     1 //练习  输出数组最大数
     2 int []arr=new int[]{8,2,10,11};
     3         int max=arr[0];
     4         for(int i=0;i<arr.length-1;i++)
     5         {
     6             if(max<arr[i+1])
     7             {
     8                 max=arr[i+1];
     9             }
    10         }
    11         System.out.println("最大数是"+max);
    12 
    13 
    14 答案:最大数是11
  • 相关阅读:
    牛客代码测试栈深度
    "Coding Interview Guide" -- 在行列都排好序的矩阵中找数
    "Coding Interview Guide" -- 括号字符串的有效性和最长有效长度
    "Coding Interview Guide" -- 将正方形矩阵顺时针转动90°
    "Coding Interview Guide" -- 按照左右半区的方式重新组合单链表
    "Coding Interview Guide" -- 先序、中序和后序数组两两结合重构二叉树
    "Coding Interview Guide" -- 只用位运算不用算术运算实现整数的加减乘除运算
    "Coding Interview Guide" -- 从N个数中等概率打印M个数
    "Coding Interview Guide" -- 判断字符数组中是否所有的字符都只出现过一次
    "Coding Interview Guide" -- 字符串的统计字符串
  • 原文地址:https://www.cnblogs.com/panyiquan/p/5225615.html
Copyright © 2020-2023  润新知