JAVA学习日记2021.10.25

不积跬步无以至千里

数组的定义:

数组是一个变量,存储相同数据类型的一组数据

数组名

数组元素---值

元素类型----类型

元素下标,角标,索引---从0开始

数组的长度:元素个数

数组长度固定不变,避免数组越界!

数组中的所有元素必须属于相同的数据类型

数组的特点:

数组是有序排列的

数组属于是引用数据类型的变量,数组的元素既可以是基本数据类型,也可以是引用数据类型,

声明一个变量(数组)就是在内存空间划出一块(一串连续)合适的空间

数组的长度一旦确定就不能修改

数组的分类:

按照维数,一维数组,二维数组

按照数组元素的类型:基本数据类型数组,引用数据类型数组

一维数组的使用:

  1.  一维数组的声明和初始化[y1] 
  2.  如何调用数组指定位置的元素[y2] 
  3.  如何获取数组的长度[y3] 
  4.  如何遍历数组[y4] 
  5.  数组元素的默认初始化值[y5] 
  6.  数组的内存解析[y6] 

 [y1]静态初始化

动态初始化

数组一旦初始化完成,其长度就确定了

 [y2]通过角标的方式调用---数组的角标或索引从0开始,到数组的长度-1结束

Name[0]=”wangming ”

Name[1]=””

Name=[2]=””

 [y3]属性:lengh

System.out.print(name.length)

 [y4]For(int i=0;i<names.length;i++){

Sout(names[i]);

}

 [y5]数组元素是整形----0

数组元素是浮点型----0.0

数组元素是char型----0(不是‘0’)或‘\u000’

数组元素是布尔型-----false

//

数组元素是引用数据类型String------null

 [y6]

练习

1,求最值

package cn.kcg;

/**
 * @Author $(USER)
 * @Date $(DATE)
 * @Description 求最值
 */
public class demo4 {
    public static void main(String[] args) {
        //做一个随即构成的数组
        int[] a=new int[10];
        for (int i = 0; i < a.length; i++) {
            a[i]=(int)(Math.random()*100);
        }
        System.out.print("[");
        for (int i = 0; i < a.length; i++) {
            if(i==a.length-1){
                System.out.println(a[i]+"]");
                break;
            }
            System.out.print(a[i]+",");
        }
        //求最大值
        int max=a[0];
        for (int i = 1; i < a.length; i++) {
            if(a[i]>max){
                max=a[i];
            }
        }
        System.out.println("max:"+max);
        //最小值
        int min=a[0];
        for (int i = 1; i < a.length; i++) {
            if(a[i]<min){
                min=a[i];
            }
        }
        System.out.println("min"+min);
    }
}

2.插入数值

package cn.kcg;

import java.util.Arrays;
import java.util.Scanner;

/**
 * @Author $(USER)
 * @Date $(DATE)
 * @Description 插入数值
 * 数组本身有序
 */
public class demo5 {
    public static void main(String[] args) {
        int[] a={99,85,82,63,60};
        //数组扩容
        int [] b=new int[a.length+1];
        for (int i = 0; i < a.length; i++) {
            b[i]=a[i];
        }
        //手动输入一个数
        Scanner sc=new Scanner(System.in);
        System.out.println("shuruyigeshu:");
        int num=sc.nextInt();
        //插入数值,从后向前遍历
        //比较数值大小,遇到大的值直接在后一个插入;遇到小的值后移
        //如果从头到尾都没有插入,则插入首位
        int flag=0;
        for(int i=b.length-2;i>=0;i--){
            if(num<=b[i]){
                flag=1;
                b[i+1]=num;
                break;
            }else{
                b[i+1]=b[i];
            }
        }
        if(flag==0){
            b[0]=num;
        }
        System.out.println(Arrays.toString(b));
    }
}

3.计算平均数

package cn.kcg;

/**
 * @Author $(USER)
 * @Date $(DATE)
 * @Description 利用数组来计算平均数
 */
public class demo2 {
    public static void main(String[] args) {
        int[] a={15,52,41,6,8};
        //        for(int i:a){//增强for (类型 临时变量:数组名)
//            sum+=i;//临时变量i相当于a中每个元素的值
//        }
//        System.out.println(sum*10./a.length);
        for(int i:a){
            i++;
        } System.out.println(a[0]);
    }
}

Guess you like

Origin blog.csdn.net/kkkyzp/article/details/120962637