栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

数组练习题

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

数组练习题

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录
  • 小技巧
    • 自动生成数组的遍历方式:数组名.fori
    • 静态数组定义格式
    • 动态数组定义格式
  • 例题
    • 1.求最值
    • 遍历数组求和
    • 交换数据
    • 打乱数组中的数据
  • Java内存分配
    • 一、栈
    • 二、堆


小技巧 自动生成数组的遍历方式:数组名.fori 静态数组定义格式

数据类型 [] 数组名 = {,,,,};

动态数组定义格式

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

提示:以下是本篇文章正文内容,下面案例可供参考

例题 1.求最值
 
        //扩展问题:
        //1.根据求最大值的思路,自己改写下求最小智
        //2.为什么max要记录为arr[0],默认值不能为0吗?数组中的值可能都为负数
        //max的初始化值一定要是数组中的值。
        //3.循环中开始条件一定是0吗?
        //循环的开始条件如果为0,那么第一次循环的时候是自己跟自己比了一下,对结果没有任何影响,但是效率偏低
        //为了提高效率,减少一次循环的次数, 循环开始条件可以写1.


        int array[]={33,5,22,44,55},max=array[0];
        for (int i = 1; i < array.length; i++) {
           if (array[i]>max){
               max=array[i];
           }
        }

        System.out.println("该数组中的最大值为"+max);
遍历数组求和
 
        Random r = new Random();
        int arr[] = new int[10];
        int sum=0,avg=0,count=0;

        //求和
        for (int i = 0; i < arr.length; i++) {
            arr[i]=r.nextInt(100)+1;
            sum+=arr[i];

        }

        //遍历数组
        for (int i = 0; i < arr.length; i++) {
            System.out.println(arr[i]);
        }

        //求平均数,比平均数小得值
        avg=sum/arr.length;
        for (int i = 0; i < arr.length; i++) {
            if (arr[i]
                count++;
            }
        }

        System.out.println("所有数据的和:"+sum+"n平均数:"+avg+"n有"+count+"个数比平均值小");
交换数据

        int arr[] = new int[5];
        Scanner sc = new Scanner(System.in);

        //获取数据
        for (int i = 0; i < arr.length; i++) {
            System.out.println("请输入需要交换的数据:");
            arr[i] = sc.nextInt();
        }


        //交换数据
        for (int i = 0,j = arr.length-1; i
            int temp = arr[i];
            arr[i] = arr[j];
            arr[j] = temp;
        }

        //输出数据
        for (int i = 0; i < arr.length; i++) {
            System.out.print(arr[i]);
        }
打乱数组中的数据
 

        int arr[] = new int[5];
        Scanner sc = new Scanner(System.in);


        //获取数据
        for (int i = 0; i < arr.length; i++) {
            System.out.println("请输入需要交换的数据:");
            arr[i] = sc.nextInt();
        }


        //打乱顺序
        Random r = new Random();
        for (int i =0;i
            //生成一个随机索引
            int radomIndex = r.nextInt(arr.length);

            //把随即索引指向的元素和i指向的元素进行交换
            int temp = arr[i];
            arr[i] = arr[radomIndex];
            arr[radomIndex] = temp;
        }

        //输出数据
        for (int i = 0; i < arr.length; i++) {
            System.out.print(arr[i]);
        }
Java内存分配 一、栈

main方法开始执行时会进栈,代码执行完成会出栈

二、堆

new出来的的东西会在这块内存中开辟空间并产生地址

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1010539.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号