【7.14笔记】Java数组的定义与应用

一、数组

数组是一个变量,存储相同数据类型的一组数据
声明一个变量就是在内存空间划出一块合适的空间
声明一个数组就是在内存空间划出一串连续的空间

缺点:长度固定,存在越界问题。

二、如何使用数组

1.声明并分配空间

数据类型[] 数组名=new 数据类型[数组长度]
数据类型 数组名[]=new 数据类型[数组长度]
/**
 * @ Author: Qiutong
 * @ Date: 2020/7/14
 * @ Description:数组的声明,分配空间于使用
 */
public class Demo1 {
    public static void main(String[] args) {
        //声明
        int[] a;
        String b[];
        double []c;
        //分配空间,使用new关键字来分配空间
        //new关键字是java中优先级最高的
        a=new int[5];
        b=new String[6];
        c=new double[4];
        //赋值
        a[0]=10;
        a[1]=14;
        a[2]=18;
        a[3]=24;
        a[4]=33;
        //声明的同时分配空间
        char[] ch=new char[10];
        float f[]={11.1f,22.2f};//声明分配空间并赋值
        int []d=new int[]{1,2,3};//基本上不用
//        int[] g;
//        g={1,2,3};这样不行
    }
}

【7.14笔记】Java数组的定义与应用_第1张图片
2.数组的赋值
边声明边赋值:

int[] a={1,2,3}
int b[]=new int[]{1,2,3}

动态的从键盘录入信息并赋值:

int []a=new int[5];
Scanner imput=new Scanner(System.in);
	for(int i=0;i<a.length;i++){
		a[i]=imput.nextInt();
	}

3.数据处理

从数组中增加一个元素

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

/**
 * @ Author: Qiutong
 * @ Date: 2020/7/14
 * @ Description:增加数组元素
 */
public class Demo4 {
    public static void main(String[] args) {
        int[] a={99,85,82,63,60};
        int[] b=new int[6];
        for (int i = 0; i < a.length; i++) {
            b[i]=a[i];
        }
        System.out.println(Arrays.toString(b));//把数组转成String
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入一个数:");
        int num=sc.nextInt();
        boolean isInsert=false;
        for (int i = b.length-2; i >=0; i--) {//从后向前遍历
            if(num>b[i]){
                b[i+1]=b[i];//下标后移
            }else {
                b[i+1]=num;
                isInsert=true;
                break;
            }
        }
        if(isInsert==false){
            b[0]=num;
        }
        System.out.println(Arrays.toString(b));
    }
}

从数组中删除一个元素:

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

/**
 * @ Author: Qiutong
 * @ Date: 2020/7/14
 * @ Description:从数组中删除一个元素
 */
public class Test6 {
    public static void main(String[] args) {
        int[] a={99,85,82,63,60};
        int[] b=new int[4];
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入要删除的下标:");
        int num=sc.nextInt();
        int j=0;
        for (int i = 0; i < a.length; i++) {
            if (i==num)continue;
            b[j]=a[i];
            j++;
        }
        System.out.println(Arrays.toString(a));
    }
}

如何运用数组实现以下结果
【7.14笔记】Java数组的定义与应用_第2张图片

import java.util.Scanner;

/**
 * @ Author: Qiutong
 * @ Date: 2020/7/14
 * @ Description:
 */
public class Test7 {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        double[] a=new double[5];
        double sum=0.0;//总金额
        for (int i = 0; i < a.length; i++) {
            System.out.print("请输入第"+(i+1)+"笔购物金额: ");
            a[i]=sc.nextDouble();
            sum+=a[i];
        }
        System.out.println("序号"+"\t\t\t金额(元)");
        for (int j = 0; j <a.length ; j++) {
            System.out.println((j+1)+"\t\t\t"+a[j]);

        }
        System.out.println("总金额\t\t"+sum);
    }
}

有一个数列:8,4,2,1,23,344,12
循环输出数列的值
求数列中所有数值的和
猜数游戏:从键盘中任意输入一个数据,判断数列中是否包含此数

import java.util.Scanner;

/**
 * @ Author: Qiutong
 * @ Date: 2020/7/14
 * @ Description:
 */
public class Test2 {
    public static void main(String[] args) {
        int[] a={8,4,2,1,23,344,12};
        Scanner sc=new Scanner(System.in);
        int sum=0;//数列数值的和
        System.out.println("请输入一个数字:");
        int y=sc.nextInt();
        int c=0;//  标志物
        for(int i=0;i<7;i++){
            System.out.print(a[i]+" ");
            sum+=a[i];
                if(y==a[i]) {
                    c = 1;
                }
        }
        System.out.println("和为:"+sum);
        if (c==0){
            System.out.println("不包含:"+y);
        }else{
            System.out.println("包含:"+y);
        }
    }
}

你可能感兴趣的:(学习笔记)