• 数组(持续更新后续)


    目录

    数组定义:

    数组的组成部门:

    案例一:

    案例二:

    案例三:

    增强for循环:

    语法结构:

    执行规律:

    注意:

    案例:

    案例:

    案例:


    数组定义

    变量:存储数据的空间(装数据的容器),变量中只能存储一个数据

    数组:存储数据的空间(装数据的容器),数组中可以存储多个相同类型的数据

    数组的组成部门:

        1)标识符:数组的名称,取名原则与变量一样

    2)数组元素:数组中存储的每一个数据称之为数组元素

    3)元素下标:因为数组在内存中是连续的空间,所以会给数组里的元素按照顺序进行编号,编号

    从0开始,我们把这个编号叫下标(索引)

        4)元素类型:描述的是数组中的元素类型

    声明数组: 数据类型[] 数组名;  或者    数据类型 数组名[];

    1. int[] nums;
    2. String[] strs;

    分配空间:告诉你我这个数组里能装多少个元素(数据)

    数组名 = new 数据类型[元素个数];

    1. nums = new int[5];
    2. strs = new String[3];

    赋值:将数据存储到数组中

    数组名[下标] = 数据;

    1. nums[0] = 99;
    2. nums[1] = 83;
    3. nums[2] = 78;
    4. nums[3] = 88;
    5. nums[4] = 66;

    声明数组、分配空间合并写

    数据类型[] 数组名 = new 数据类型[数组长度];  或  数据类型 数组名[] = new 数据类型[数组长度]

    声明一个长度为3的double类型的数组

    double[] nums = new double[3];

    赋值:通过数组名[下标]给元素赋值,如果没有给元素赋值,系统会给元素赋予一个默认值

    声明数组、分配空间、赋值合并写

    数据类型[] 数组名 = new 数据类型[]{数据1,数据2,...,数据n}; 或 数据类型 数组名[] = new 数据类型[]

    {数据1,数据2,...,数据n};

    注意:{}前面那个[]里不能写长度,写了就报错

    声明一个长度为3的数组,并向数组里赋值 "hello" "java" "word"

    String[] strs = new String[] { "hello", "java", "word" };

    声明数组:分配空间、赋值合并写的简写方式

    数据类型[] 数组名  = {数据1,数据2,...,数据n};   或     数据类型 数组名[]  = {数据1,数据2,...,数据n};

    声明一个char类型的数组,并向数组里赋值  'a' 'b'  'c'  'd'

    1. char[] chs = { 'a','b','c','d'};
    2. System.out.println(chs[0]);

    遍历数组:将数组中元素按照下标顺序依次输出

    案例一:

    1. Scanner sc = new Scanner(System.in);
    2. 上述赋值操作,可以使用循环来实现
    3. for(int i =0;i<4;i++){
    4. System.out.println("请输入数组里的第"+(i+1)+"个元素值:");
    5. nums[i]=sc.nextInt();
    6. }
    7. int[] nums = new int[4];
    8. for(int i = 0;i<4;i++){
    9. System.out.println("数组第"+(i+1)+"个元素是:"+nums[i]);
    10. }

    案例二:

    1. 遍历以下数组
    2. int[] nums = {11,23,45,6,78,96,88,73,62,12,10,36,55,99,45,66,19,64,13};
    3. //获取数组中元素的个数: 数组名.length;
    4. int length =nums.length;
    5. System.out.println("数组中元素个数:"+length);
    6. //遍历数组
    7. for(int i =0;i
    8. System.out.println(nums[i]);
    9. }

    案例三:

    根据班级人数来创建数组 将每个学生的成绩存入到数组中 求班级学生成绩总和 求班级

    学生平均成绩

    1. Scanner sc = new Scanner(System.in);
    2. // 1)根据班级人数来创建数组:班级人数有多少个,数组的长度为就为多少
    3. System.out.println("请输入班级人数:");
    4. int num = sc.nextInt();
    5. // 根据班级人数来创建一个存放学生成绩的数组
    6. double[] scores = new double[num];
    7. // 声明一个变量sum用来累加所有学生的成绩
    8. double sum = 0;
    9. // 2)将每个学生的成绩存入到数组中
    10. for (int i = 0; i < scores.length; i++) {
    11. System.out.println("请输入第" + (i + 1) + "个学生的成绩:");
    12. scores[i] = sc.nextDouble();
    13. // 3)求班级学生成绩总和
    14. sum += scores[i];
    15. }
    16. // 4)求班级学生平均成绩
    17. double avg = sum / num;
    18. System.out.println("该班学生成绩总和:" + sum);
    19. System.out.println("该班学生平均成绩:" + avg);

    增强for循环

    语法结构:

    for(数据类型 变量名:数组名或集合名){

    对变量进行操作的代码

        }

    执行规律:

    将数组或者集合中的元素依次取出来存入到变量中,然后操作这个变量就等同于操作数组或者集合

    中的数据

    注意:

    增强for循环的执行效率比普通for循环高

    案例:

    增强for 和普通for的比较

    1. int[] nums = { 11, 22, 33, 44, 55 };
    2. // 遍历数组
    3. System.out.println("-----普通for循环遍历数组-----");
    4. for (int i = 0; i < nums.length; i++) {
    5. System.out.println(nums[i]);
    6. }
    7. System.out.println("-----增强for循环遍历数组-----");
    8. for(int a : nums){
    9. System.out.println(a);
    10. }
    11. System.out.println("------------------------");
    12. for (int i : nums) {
    13. i+=100;
    14. System.out.println(i);
    15. }

    案例:

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

    1. int[] num = {8,4,2,1,23,344,12};
    2. //循环输出数列的值
    3. for (int i : num) {
    4. System.out.println(i);
    5. }
    6. //求数列中所有数值的
    7. //声明一个变量sum用来累加数组中所有元素之和
    8. int sum = 0;
    9. for (int i : num) {
    10. sum+=i;
    11. }
    12. System.out.println("数组中所有元素之和为:"+sum);
    13. //猜数游戏:从键盘中任意输入一个数据,判断数列中是否包含此数
    14. Scanner sc = new Scanner(System.in);
    15. System.out.println("请任意输入一个整数:");
    16. int guess = sc.nextInt();
    17. for (int i : num) {
    18. if(i==guess){
    19. System.out.println("数组中包含你猜测的数据");
    20. break;
    21. }

    案例:

    猜数游戏:从键盘中任意输入一个数据,判断数列中是否包含此数,如果包含此数,输出此数在数

    组中的位置(下标),如果不包含此数,则输出数组中不包含此数 。有一个数列:8,4,2,1,23,344,12

    1. int[] num = { 8, 4, 2, 1, 23, 344, 12 };
    2. Scanner sc = new Scanner(System.in);
    3. System.out.println("请任意输入一个整数:");
    4. int guess = sc.nextInt();
    5. //声明一个变量,用来统计比较的次数
    6. int count = 0;
    7. for (int i = 0; i < num.length; i++) {
    8. //判断你猜测的数据在不在数组
    9. if(guess!=num[i]){
    10. count++;
    11. if(count==num.length){
    12. System.out.println("你猜测的数据不在此数组中");
    13. }
    14. }else{
    15. System.out.println("你猜测的数据在此数组中,下标为:"+i);
    16. //只要猜测的数据在数组中,后续就不需要再进行比较,退出整个循环
    17. }
    18. }

  • 相关阅读:
    ACM算法笔记(六)排序算法【上】
    pytorch快速入门
    python 科学计算三维可视化笔记(第二周 基础实战)
    网站Github资源收集 ,此篇没有找到github地址,作者整理了自己在Github中的starred项目可以直接在此网站进行访问。
    多主复制的适用场景(1)-多IDC
    C //例4.10 运输公司对用户计算运输费用。路程(skm)越远,每吨·千米运费越低。标准如下:
    element show-overflow-tooltip 复制
    leetcode 92.反转链表II dummy节点的应用
    java计算机毕业设计校园二手交易网站源码+系统+数据库+lw文档+mybatis+运行部署
    计算机毕业设计Java宠物购物系统(源码+系统+mysql数据库+lw文档)
  • 原文地址:https://blog.csdn.net/m0_67979925/article/details/126751658