zoukankan      html  css  js  c++  java
  • 第七天 T3S03

    *****************************************************************************
    数组、二维数组
    *****************************************************************************
    1、作业讲解
    2、声明数组:
    数据类型[] 数组名={值,值}; 声明的同时并赋值{} 字面量方式
    数据类型[] 数组名=new 数据类型[长度];
    数组的长度: int a=数组名.length; 值的个数
    数组的特点:数据类型相同
    长度固定
    内存空间连续 读取元素效率高
    值不唯一,有序
    索引:Java按照数组元素的顺序的编号,从0开始
    int[] score={90,98,100};
    访问数组元素: System.out.print(score[3]);// 报异常 ArrayIndexOutOfBoundsException 数组越界异常

    for(int i=0; i<score.length; i++){
    print(score[i]);
    }

    1、数组的使用
    2、数组的排序 重要 冒泡 选择
    3、二维数组


    1、数组的使用
    声明方式1:字面量 声明数组的同时并赋值
    声明方式2:构造方式 new 声明的时候不赋值
    数据类型[] 数组名= new 数据类型[长度];
    Demo1.java

    练习:声明数组长度为6; 循环输入赋值
    赋值后,输出索引是偶数的数组值

    Demo2.java

    2、数组元素的排序
    int[] aryNum={89,60,90,78,89,100,56};
    for(int i=0; i<aryNum.length-1; i++){
    for(int j=0; j<aryNum.length-i-1; j++){
    //两两相邻
    if(aryNum[j]>aryNum[j+1]){
    //交换位置
    int c=aryNum[j];
    aryNum[j]=aryNum[j+1];
    aryNum[j+1]=c;
    }
    }
    }
    Demo3.java
    算法:解决某个事情的计算方法
    冒泡排序法: 两两相邻元素比较
    1、外层循环控制排序的轮数
    2、内层循环控制每一轮内两两相邻数据的比较

    选择排序法:
    案例:产生双色球
    红色球:6个 1-33
    蓝色球:1个 1-15
    工具:随机数类 Random
    1、import java.util.Random;
    2、Random rd=new Random();
    3、int num=rd.nextInt(10);
    Demo4.java

    1、声明数组存放6个红球
    int[] redBall=new int[6];
    2、在死循环中产生红色球
    int index=0;
    while(true){

    3、产生一个红色球
    int ball=rd.nextInt(33-1+1)+1;
    boolean flag=true //默认为不重复
    4、用生成的ball和数组中的每一个元素对比,看是否重复
    for(int i=0; i<redBall.length; i++){
    if(ball==redBall[i]){
    flag=false;
    break;
    }

    }
    5、判断不重复的情况下,应该存入数组
    if(flag){
    //不重复
    //存入数组
    redBall[index]=ball;
    index++;
    }

    }

    //内容总结:
    1、数组的相关概念:数组名 数组长度 数组元素 索引
    2、数组在内存中存放的原理
    3、遍历数组元素 遍历过程中的计算
    4、冒泡排序:两两相邻元素比较
    选择排序:某个元素和其后每一个元素逐个进行比较
    重点:排序规则 代码实现
    5、双色球程序

    作业:1、昨天作业:敲一遍
    2、梳理、理解今日内容,重敲课堂案例
    3、作业:
    3.1:随机点名程序: 把名字存入数组中,随机产生数组索引
    3.2:成绩管理系统
    要求:1、菜单可以循环输入
    2、实现菜单中的功能
    3、使用方法实现
    1、成绩录入
    2、计算总分
    3、计算平均分
    4、输出最高分 尝试两种方式
    5、输出最低分

  • 相关阅读:
    Java内存模型
    BigDecimal踩过的大坑
    Java开发小技巧
    多线程同步辅助工具类
    ReentrantLock中的公平锁与非公平锁
    ReentrantLock与synchronized的区别
    推荐一个Java设计模式写的很好的博客
    线程池ThreadPoolExecutor工作原理
    支付系统架构设计转载
    linux 部署脚本
  • 原文地址:https://www.cnblogs.com/wxcsz/p/10608944.html
Copyright © 2011-2022 走看看