• 数组


    什么是数组

    数组是一个变量,存储相同数据类型的一组数据
    数组也是对象,数组种的每一项都对象,以 索引为建,数组中的数据为值
        声明一个变量就是在内存空间划出一块合适的空间
        声明一个数组就是在内存空间划出一串连续的空间
    数组基本要素
        标识符:数组的名称,用于区分不同的数组
        数组元素:向数组中存放的数据
        元素下标:对数组元素进行编号,从0开始,数组中的每个元素都可以通过下标来访问
        元素类型:数组元素的数据类型  
        // @ 数组长度固定不变,避免数组越界
               数组中的所有元素必须属于相同的数据类型   
    

    如何使用数组?

    使用数组四步走
        声明数组      int[ ] a;
        分配空间      a=new int[5]
        赋值         a [0] =8
        处理数据      a [0] = a [0] * 10;
    
    1.声明数组: 告诉计算机数据类型是什么
          int score2[ ];             //C#成绩
          String[ ] name;        //学生姓名
    语法: 数据类型    数组名[ ] ; 
         数据类型[ ]  数组名 ; 
    -----声明数组时不规定数组长度
    2.分配空间: 告诉计算机分配几个连续的空间
         score = new int[30]; 
     语法: 声明数组并分配空间
          数据类型[ ]  数组名   =   new   数据类型[大小]  ;             
    3.赋值:向分配的格子里放数据 ......
         score[0] = 89;
         score[1] = 79;
         ......
        方法1: 边声明边赋值
              int[ ] score = {89, 79, 76};
              int[ ] score = new int[ ]{89, 79, 76};     -----不能指定数组长度       
        方法2:动态地从键盘录入信息并赋值
              Scanner input = new Scanner(System.in);
              for(int i = 0; i < 30; i ++){
                  score[i] = input.nextInt();
              }
    4.对数据进行处理:计算5位学生的平均分
            int [ ] score = {60, 80, 90, 70, 85};
            int sum = 0;
            double avg;
            for(int i = 0; i < score.length; i++){
                  sum = sum + score[i];
            }
            avg = sum / score.length; 
    
    题:计算全班学员的平均分
    	public static void main(String[ ] args) {
    	    int[ ] scores = new int[5];	//成绩数组
    	    int sum = 0;	        //成绩总和
                Scanner input = new Scanner(System.in);
    		System.out.println("请输入5位学员的成绩:");
    		for(int i = 0; i < scores.length; i++){
    		    scores[i] = input.nextInt();
    	            sum = sum + scores[i];	//成绩累加
    		}
    		System.out.println("平均分是:" + (double)sum/scores.length);
          }
    

    数组排序

    使用java.util.Arrays类
        java.util包提供了许多工具类
        Arrays类提供操作数组的方法
              如排序、查询
        Arrays类的sort()方法:对数组进行升序排列
              Arrays.sort(数组名);
    

    最大值 与 插入法

    //计算成绩最大
    	max = scores[0];
    	for(int i = 1; i < scores.length; i++){
    		if(scores[i] > max){
    			max = scores[i];
    		}
    	}
    	System.out.println("考试成绩最高分为:" + max);
    int[] list = new int[6]; // 长度为6的数组 
     int index = list.length; //保存新增成绩插入位置
      //……省略为数组和变量赋值
      for(int i = 0; i < list.length; i++){
             if(num > list[i]){
                     index = i;
                     break;
             }
       }   
       for(int j = list.length-1; j > index; j--){
              list[j] = list[j-1];     //元素后移
       }
            list[index] = num;//插入数据 -----新元素放在index的位置
     ……
    总结
    变量是一个变量,存储相同数据类型的一组数据
          在内存空间划出一串连续的空间 
    
    基本要素: 标识符:数组的名称,用于区分不同的数组
                  数组元素:向数组中存放的数据
                  元素下标:对数组元素进行编号   从0开始,通过下标可以访问到其中的每个元素
                  元素类型:数组元素的数据类型
    使用步骤: 1. 声明数组
                  2. 分配空间
                  3. 赋值
                  4. 处理数据
    典型应用: 实现数组的排序
            求数组最大/最小值
            向数组中插入一个元素
    

      

      

      

  • 相关阅读:
    pymysql 查询大量数据导致内存使用过高优化方案
    docker-compose文件
    Flask关于request一些方法和属性的整理
    gitignore 文件中忽略项不起作用的解决方法
    Django 时区
    django-apscheduler定时任务
    结队-贪吃蛇游戏-项目进度
    团队-科学计算器-开发环境搭建过程
    《团队-科学计算器-设计文档》
    《结对-贪吃蛇-设计文档》
  • 原文地址:https://www.cnblogs.com/yun---meng/p/12748826.html
Copyright © 2020-2023  润新知