第八章 数组

1.理论知识

1.数组概述

1.1数组就是一个变量,用于将相同数据类型的数据存储在内存中;数组中的每一个数据元素都属于同一数据类型.

1.2数组中的元素通过数组的下标进行访问,数组的下标从0开始.

1.3标识符.(数组)      数组元素(数组元素在数组里顺序排列编号)       数组下标(标明元素在数组中的位置)    

元素类型(存储在数组中的数组元素)

1.4数组是可以在内存连续存储多个元素结构,数组中所有元素必须属于相同的数据类型.

2.声明数组

1. 语法:   数据类型[ ]  数组名 或者  数据类型  数组名 [ ] ;数组名 = new 数据类型[数组长度]; 

数组名 数组名 = new 数据类型[数组长度];   数据类型[ ]  数组名 = {值1,值2,……,值n};

2.语法元素: int[ ]   score , int  score[ ]; score[ ] = new int [30]; int score[ ] = new int [30];

                   int score[ ] = new int [1,2,......n];

3.在循环中,循环变量i从0开始递增直到数组的最大长度score.length.因此,每次循环i加1,实现数组累加.

4.数据类型:int    double  char   boolean.

5.利用Arrays类提供的sort( )方法可以方便地对数组中的元素进行排序.

2.操作题

1.上机练习1

package cn.bdqndibazhang;

public class Dome {
    public static void main(String[ ] args) {
        System.out.println("本次活动特价商品有:");
        String[ ] good = new String[ ]{"Nike背包","Adidas运动衫","李宁运动鞋","Kappa外套","361°腰包"};
        for (int i = 0; i < good.length; i++) {
            System.out.println(good[i]);
        }
    }
}

2.上机练习2

package cn.bdqndibazhang;

import java.util.Scanner;

public class Dome1 {
    public static void main(String[ ] args) {
        System.out.println("请输入会员本月的消费记录");
        double score = 0.0;            
        double[ ] good = new double[5];
        Scanner nice = new Scanner(System.in);
        for(int i = 0; i < good.length; i++){
            System.out.print("请输入第"+(i+1)+"笔购物金额:");
            good[i] = nice.nextDouble();            
        }
        System.out.println(""); 
        System.out.println("序号\t\t金额(元)");
        for (int i = 0; i < good.length; i++) {
            System.out.println((i+1)+"\t\t"+good[i]);
            score += good[i];
        }
        System.out.println("总金额\t\t"+score);
    }
}


3.上机练习3

package cn.bdqndibazhang;

import java.util.Arrays;

public class Dome2 {
    public static void main(String[ ] args) {
        String[] good = new String[]{"a","c","u","b","e","p","f","z"};
        System.out.print("原字符序列:");
        for (int i = 0; i < good.length; i++) {
            System.out.print(good[i]+" ");
        }
        System.out.print("\n升序排列后:");
        Arrays.sort(good);
        for (int i = 0; i < good.length; i++) {
            System.out.print(good[i]+" ");
        }
        System.out.print("\n逆序输出为:");        
        for (int i = good.length-1; i >= 0; i--) {
            System.out.print(good[i]+" ");
        }
    }

4.上机练习4

package cn.bdqndibazhang;

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

public class Dome3 {
    public static void main(String[ ] args) {
        char[ ] good = new char[ ]{'a','b','c','e','f','p','u','z'};
        Arrays.sort(good);
        System.out.print("原字符序列:");
        for (int i = 0; i < good.length; i++) {
            System.out.print(good[i]+" ");            
        }
        int index = good.length;            
        char back = 'm';
        System.out.println("\n待插入的字符是 :"+back);
        for (int i = 0; i < good.length; i++) {
            if(back < good[i]){
                index = i;
                break;
            }
        }
        for (int j = good.length-1; j > index; j--) {
            good[j] = good[j-1];
        }
        good[index] = back;
        System.out.println("插入字符的下标是:"+index);
        System.out.print("插入后的字符序列是:");
        for (int x = 0; x < good.length; x++) {
            System.out.print(good[x]+" ");
        }
    }
}

5.上机练习5

package cn.bdqndibazhang;

import java.util.Scanner;

public class Dome4 {
    public static void main(String[] args) {
        System.out.println("请输入4家店的价格");        
        int[ ] good = new int[4];
        Scanner nice = new Scanner(System.in);
        for (int i = 0; i < good.length; i++) {
            System.out.print("第"+(i+1)+"家店的价格:");
            good[i] = nice.nextInt();
        }
        int blue = good[0];        
        for (int i = 0; i < good.length; i++) {
            if(good[i] < blue){
                blue = good[i];
            }
        }    
        System.out.print("最低价格是:"+blue);
    }    
}

展开阅读全文

没有更多推荐了,返回首页