数组练习题,数组的动态初始化

这篇具有很好参考价值的文章主要介绍了数组练习题,数组的动态初始化。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

数组的遍历

  • 定义一个数组,求和
int[] arr = {1,2,3,4,5,6,7};
        int sum = 0;
        for (int i = 0; i <arr.length ; i++) {
            sum = sum +arr[i];
        }
        System.out.println(sum);
  • 定义一个数组,统计数组里面一共有多少能够被3 整除的数字:
int[] arr1 = {4,62,85,36,97,53,68,17,84,82,94,15,58,52,57,21,73,91,25,57,39,75};
        int count = 0;
        for (int i = 0; i < arr1.length; i++) {
            if (arr1[i]%3==0){
                count++;
            }
        }
        System.out.println("共有"+count+"个数字能够被3整除");
    }

  • 定义一整数类型数组,如果该数字是奇数,则将当前数字扩大两倍,如果是偶数,则将该数字变成该数字的1/2.

一个循环尽量只做一件事情,虽然把打印写的同一个循环里面可以,结果一样,但是不建议。

 int[] arr3 = {21,46,42,56,24,556,83,72,41,63,58,24};
        for (int i = 0; i < arr3.length; i++) {
            if (arr3[i]%2==1) {
                arr3[i] = arr3[i]*2;
            }else
                arr3[i] = arr3[i]/2;
           
        }
        //一个循环尽量只做一件事情,虽然把打印写的同一个循环里面可以,结果一样,但是不建议。
        for (int i = 0; i < arr3.length; i++) {
            System.out.println(arr3[i]);
        }

数组的动态初始化和常见的问题

静态:已经知道数组的具体数据(可以写死) :int[] arr= {1,2,4}
动态:不知道数组里面的具体数值 int[] arr={?,?,?}

动态初始化:初始化的时候,只指定数组的长度,有系统为数组分配初始值
格式:数据类型 [] 数组名 = new 数据类型[数组长度]
int[] arr = new int[100];

  • 定义一个数组,用来存储班级中五十个学生的姓名,姓名未知,带学生报道后,在进行添加
 String[] arr4 = new String[50];
        arr4[0] = "da";
        arr4[1] = "ff";
        arr4[2] = "dafew";
        arr4[3] = "dwfwea";
        arr4[4] = "dafwe";
        arr4[5] = "dwefwa";
        System.out.println(arr4[0]);
        System.out.println(arr4[1]);
        System.out.println(arr4[2]);
        System.out.println(arr4[3]);
        System.out.println(arr4[4]);
        System.out.println(arr4[5]);
        System.out.println(arr4[6]);

数组练习题,数组的动态初始化,初学者,java初学,java

字符串的数组 初始值默认为NULL,int 类型的默认初始值为0;

 int[] x= new int[3];
        x[0] = 1;
        System.out.println(x[0]);
        System.out.println(x[1]);
        System.out.println(x[2]);

数组练习题,数组的动态初始化,初学者,java初学,java
初始化规律:
数组默认初始化值:
整数类型:默认初始化值0
小数类型:默认初始化值0.0
字符类型:默认初始化值为’/u0000’ 空格
布尔类型:默认初始化值为 false
引用数据类型:默认初始化值为null;

静态初始化和动态初始化的区别

动态:手动指定数组长度,由系统给出默认初始化值。
静态:手动指定数组元素,系统会根据元素的个数,计算出数组的长度。

  • 举例:
    用数组容器来存储键盘录入五个整数,应使用动态数组 int[] arr={?,?,?}

数组常见的问题

数组练习题,数组的动态初始化,初学者,java初学,java
.ArrayIndexOutOfBoundsException:数组索引超出范围异常(索引越界异常)
原因:访问了不存在的索引

数组常见的操作

  1. 求最值
    已知数组元素为{2,3,5,1,7,4}
    请找出数组中最大值 并打印在控制台:
        int[] arr6 = {2,3,5,1,7,4};
        int max =arr6[0];      //临时认为0索引最大
        for (int i = 0; i < arr6.length; i++) {//循环第一次是自己和自己比较,可以跳过此循环,从i=1开始进行循环
            if (arr6[i]>=max){
                max = arr6[i];
            }
        }
        System.out.println(max);

max的初始值不能随便写成0,如果数组中的值都是负数,此时max等于0 ,大于数组中的任意值,所以一般临时默认为索引0的值是最大的。

  1. 求和并统计个数
    生成10个0~100之间的随机数,
    (1)求出所有数据的和,
    (2)求出所有数据的平均数,
    (3)统计有多少个数小于平均值
 int[] arr= new int[10];
        Random r = new Random();
        //生成数组,一个循环只干一件事
        for (int i = 0; i < arr.length; i++) {
            int number = r.nextInt(100);
            arr[i] = number;
        }
        //所有数据的和
        int sum = 0;
        for (int i = 0; i < arr.length; i++) {
            sum = sum +arr[i];
            System.out.print(arr[i]+"  ");
        }
        System.out.println("数组中所有的数字和是"+sum);

        //求所有的平均数
        double avg = sum/10.0;
        System.out.println("平均数是"+avg);

        int count = 0;
        for (int i = 0; i < arr.length; i++) {
            if (arr[i]<avg){
                count++;
            }
        }
        System.out.println("比平均数小的个数总共有"+count+"个");

输出结果:
数组练习题,数组的动态初始化,初学者,java初学,java

  1. 交换数组中的数据
    本人方法:
    
        int[] arr = {1,2,3,4,5,6,7,8};
        //不能小于arr.length,否则循环到数组长度的1/2之后,交换好的数据又会被交换回去。
        for (int i = 0; i < arr.length/2; i++) {
            int j= arr.length-1-i;
            int temp;
            temp = arr[i];
            arr[i] =arr[j];
            arr[j] =temp;
        }

        for (int i = 0; i < arr.length; i++) {
            System.out.print(arr[i]+" ");
        }

b站up主方法:文章来源地址https://www.toymoban.com/news/detail-612235.html

int[] arr = {1,2,3,4,5,6,7,8};
        for (int i = 0,j = arr.length-1; i < j;i++,j--) {
            int temp;
            temp = arr[i];
            arr[i] =arr[j];
            arr[j] =temp;
        }
        for (int i : arr) {
            System.out.print(i);
        }

到了这里,关于数组练习题,数组的动态初始化的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • C语言字符串初始化详解:用常量字符串进行字符数组初始化

    简介 字符串初始化 用常量字符串 初始化过程 示范代码 结论 在C语言中,字符串被定义为字符数组。字符串的初始化是指将一个常量字符串复制到字符数组中。本文将详细介绍字符串的初始化方法,并提供相应的示范代码。 在C语言中,有几种常用的方法可以用常量字符串来

    2024年02月15日
    浏览(35)
  • 树状数组练习题

    为什么大佬们一眼看出是树状数组呢? 不是一眼看出树状数组,而是 要把 【找两个相邻的最小值之间还有几个数没删掉】 的问题转变成动态区间和问题,这个转化过程才是最重要的 , 至于你用什么数据结构求动态区间和是次要的,很多数据结构都能做,最常用的树状数组

    2024年02月03日
    浏览(31)
  • C语言二维数组的初始化

    二维数组的初始化可以按行分段赋值,也可按行连续赋值。 例如,对于数组 a[5][3],按行分段赋值应该写作: int a[5][3]={{80,75,92},{61,65,71},{59,63,70},{85,87,90},{76,77,85}}; 其中,花括号的对数代表行数,方括号中的值的个数代表列数。 按行连续赋值应该写作: int a[5][3]={80,75,92,61,6

    2024年02月04日
    浏览(34)
  • java中初始化数组的方法

    方式一: 注:此种方式创建的数组,如不显式初始化数组元素,则各元素为当前数据类型的默认值。基本数据类型为0,对象类型为null。所以使用前需要将各元素显式赋值。 方式二: 注:此方式与方式一的结果相同,但是更简便。 方式三: 注:此方式与方式一和方式二的结

    2024年02月12日
    浏览(33)
  • 【数组】二分查找(减不减一,看初始化!)

    704. 二分查找 - 力扣(LeetCode) 这道题目的前提是数组为有序数组 ,同时题目还强调 数组中无重复元素 ,因为一旦有重复元素,使用二分查找法返回的元素下标可能不是唯一的, 这些都是使用二分法的前提条件 ,当大家看到题目描述满足如上条件的时候,可要想一想是不是

    2024年02月07日
    浏览(38)
  • Python如何创建二维数组和初始化

            严格意义上说,Python中并没有数组的概念,Python中表达一组数据有多种形式,例如list,tuple,set等数据结构都可以表达一组数,并且这组数也没有C和C++中数组的的同质限制,这些数可以是任何一种数据类型。         以list为例(list又叫列表),要想实现一个所

    2024年02月20日
    浏览(39)
  • C语言之数组练习题

    第1关:数组插入元素 300 任务要求 参考答案 评论106 任务描述 相关知识 数组 数组元素的表示方法 编程要求 测试说明 任务描述 本关需要你将一个数插入到一组已经排好序的数组并输出。 相关知识 数组在程序设计中,为了处理方便, 把具有相同类型的若干变量按有序的形式

    2024年02月05日
    浏览(44)
  • C++二维数组的初始化赋值及示例

    C++二维数组可以看作一个表格,横向为表格的行,纵向为表格的列,数组定义时行号在前,列号在后。二维数组的定义格式为: 数据类型  数组名[常量行表达式][常量列表达式] 。 二维数组的元素是按先行后列的顺序存放的,例如,定义一个int a[3][2]的数组,其形式为: a[

    2024年02月12日
    浏览(42)
  • 【JAVA】数组的概念;数组的使用;引用;内存分区;数组练习题

    🍉内容专栏:【JAVA从0到入门】 🍉本文脉络:数组的概念;数组的使用;引用;内存分区;数组练习题 🍉本文作者:Melon_西西 🍉发布时间 :2023.7.20 目录 1. 数组的基本概念 2数组的创建及初始化 2.1 数组的创建: T [ ] 数组名 = new T[N]; 2.2 数组的初始化 : 动态初始化和静态初

    2024年02月16日
    浏览(34)
  • C语言:结构体数组的使用和初始化:

    前文:在C语言中,结构体是经常会用到的自定义数据类型,通常在使用结构体时,我们会进行单一的结构体初始化。但在使用同一个结构体,初始化不同的数据时,则可以用到结构体数组来进行初始化。 结构体数组是指在一个数组中存储多个结构体对象的集合。结构体是一

    2024年02月04日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包