Java基础学习-数组

news2024/11/27 3:42:54

目录

数组定义

注意点:

地址值是数组在内存中实际存储的地址。

案例遍历:遍历数组得到每一个元素,求数组里面所有数据和

案例:定义数组,遍历能被3整除的数字

案例:遍历一个数组,奇数将当前值扩大两倍,偶数当前数变为原来1/2

数组的动态的初始化:

案例:定义动态数组

案例:求最值:求最大值求最小值

案例:生成10个1-100之间的随机数存入数组,求所有数据的和,数据的平均数,多少数据比平均值小

案例:交换数组中的数据:

案例:打乱数组中的数据:

Java内存分布:


数组定义

注意点:

数组的初始化:就是在内存中,为数组容器开辟空间,并将数据存入容器的过程。

数组一旦创建完毕,数组的长度就不会在发生变化了。

地址值是数组在内存中实际存储的地址。

arr.lenth是数组的长度。

自动快速生成数组遍历的方式:用IDEA:数组名.fori就可以快速生成。

案例遍历:遍历数组得到每一个元素,求数组里面所有数据和

package textwj;
//遍历数组得到每一个元素,求数组里面所有数据和
public class text11 {
    public static void main(String[] args) {
        //定义一个数组
        int[]arr={1,2,3,4,5};
        //定义一个求和变量
        int sum=0;
        for(int i=0;i<arr.length;i++){
            //求数组里面数据的和
            sum+=arr[i];
            //输出数组里面每一项的数
            System.out.println("数组第"+"i"+"位的值为:"+arr[i]);
        }
        System.out.println("数组每一项加起来的和:"+sum);
    }
}

案例:定义数组,遍历能被3整除的数字

package textwj;
//定义数组,遍历能被3整除的数字
public class text13 {
    public static void main(String[] args) {
        //定义一个数组,存1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20
        int[]arr = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20};
        //遍历数组得到每一个元素
        int sum = 0;
        System.out.println("数组中是3的倍数的是:");
        for (int i = 0; i < arr.length; i++) {
            //判断元素是否为3的倍数,如果是
            if (arr[i] % 3 == 0) {
                System.out.println(arr[i]);
                sum++;
            }
        }
        System.out.println("总共有"+sum+"个数是3的倍数");
    }
}

案例:遍历一个数组,奇数将当前值扩大两倍,偶数当前数变为原来1/2

package textwj;
//遍历一个数组,奇数将当前值扩大两倍,偶数当前数变为原来1/2
public class text14 {
    public static void main(String[] args) {
        int[]arr = {1,2,3,4,5,6,7,8,9,10};
        //遍历每一个数,得到数
        for (int i = 0; i < arr.length; i++) {
            if (arr[i] % 2 == 0) {
                //偶数
                System.out.println("偶数/2"+"  "+arr[i]/2);
            }else {
                //奇数
                System.out.println("奇数*2"+"  "+arr[i]*2);
            }
        }
    }
}

数组的动态的初始化:

案例:定义动态数组

数组静态初始化和动态初始化区别

数组内存图:下一个阶段在学。

案例:求最值:求最大值求最小值

package textwj;

import java.util.Scanner;

//定求最大值
public class text15 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入数组中的5个数值");
        int n = sc.nextInt();
        int m = sc.nextInt();
        int k = sc.nextInt();
        int l = sc.nextInt();
        int r = sc.nextInt();
        int[] arr = new int[5];
        int max=arr[0];

        for (int i = 0; i < arr.length; i++) {
            if (i==0){
                arr[i] = n;
            } else if (i==2) {
                arr[i] = m;
            } else if (i==3) {
                arr[i] = k;
            }else if (i==4) {
                arr[i] = l;
            }else{
                arr[i] = r;
            }

        }
        for (int i=0;i<5;i++){
            if (arr[i]>max){
                max=arr[i];
            }

        }
        int min=arr[0];
        for (int i=0;i<5;i++){
            if (arr[i]<min){
                min=arr[i];
            }
        }
        System.out.println("最大值是");
        System.out.println(max);
        System.out.println("最小值是");
        System.out.println(min);

    }
}

案例:生成10个1-100之间的随机数存入数组,求所有数据的和,数据的平均数,多少数据比平均值小

package textwj;

import java.util.Random;

//生成10个1-100之间的随机数存入数组,求所有数据的和,数据的平均数,多少数据比平均值小
public class text16 {
    public static void main(String[] args) {
        int[] a = new int[10];
        Random rand = new Random();
        for (int i = 0; i < 10; i++) {
            //赋值1-100之间的数,所以末尾加1
            a[i] = rand.nextInt(100) + 1;
        }
        System.out.println("生成的数是");
        for (int i = 0; i < a.length; i++) {
            int j = 0;
            j = i + 1;
            System.out.println("生成你的第" + j + "数为: " + a[i]);
        }
        //求平均数
        int sum = 0;//总和
        for (int i = 0; i < a.length; i++) {
            sum =sum+a[i];
        }
        System.out.println("平均数为" + sum / 10);
        //哪些数比平均数小
        int count = 0;//计数
        System.out.println("比平均值小的数为:");
        for (int i = 0; i < a.length; i++) {
            if (a[i] < sum/10) {
                System.out.println(a[i]);
                count++;
            }

        }
        System.out.println("比平均数小的总共为" + count + "个");
    }
}

案例:交换数组中的数据:

package textwj;
//数组倒序交换
public class text17 {
    public static void main(String[] args) {
        int[]a={1,2,3,4,5};
        for (int i = 0,j=a.length - 1; i<j;i++,j--) {
    //交换指向元素
            int k=a[i];
            a[i]=a[j];
            a[j]=k;
        }
        for (int i=0;i<a.length;i++) {
            System.out.println(a[i]);
        }
    }
}

案例:打乱数组中的数据:

package textwj;

import java.util.Random;

public class text18 {
    public static void main(String[] args) {
        int[]a={1,2,3,4,5};
        Random rand = new Random();
        int random=rand.nextInt(a.length);
        System.out.println(random);
        for (int i = 0; i < a.length; i++) {
            int temp=a[i];
            a[i]=a[random];
            a[random]=temp;
        }
        //验证
        for (int i = 0; i < a.length; i++) {
            System.out.println(a[i]);
        }
    }
}

Java内存分布:

数组终于学完了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1845346.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MacOS设备远程登录配置结合内网穿透实现异地ssh远程连接

文章目录 前言1. MacOS打开远程登录2. 局域网内测试ssh远程3. 公网ssh远程连接MacOS3.1 MacOS安装配置cpolar3.2 获取ssh隧道公网地址3.3 测试公网ssh远程连接MacOS 4. 配置公网固定TCP地址4.1 保留一个固定TCP端口地址4.2 配置固定TCP端口地址 5. 使用固定TCP端口地址ssh远程 …

Oracle最终还是杀死了MySQL

起因 大约15年前&#xff0c;Oracle收购了Sun公司&#xff0c;从而也拥有了MySQL&#xff0c;互联网上关于Oracle何时会“扼杀MySQL”的讨论此起彼伏。 当时流传着各种理论&#xff1a;从彻底扼杀 MySQL 以减少对 Oracle 专有数据库的竞争&#xff0c;到干掉 MySQL 开源项目&…

团队管理五个基本法则,帮你打造高效团队

团队管理是一项至关重要的工作&#xff0c;作为一名管理者&#xff0c;应该如何在团队管理中发挥作用呢&#xff1f;以下是团队管理的五个基本原则&#xff0c;它们能够帮助你打造出一个高效协作的团队。 一、以身作则 团队要保持超强的执行力&#xff0c;管理者必须以身作则…

【初阶数据结构】深入解析带头双向循环链表:探索底层逻辑

&#x1f525;引言 本篇将介绍带头双向循环链表底层实现以及在实现中需要注意的事项&#xff0c;帮助各位在使用过程中根据底层实现考虑到效率上问题和使用时可能会导致的错误使用 &#x1f308;个人主页&#xff1a;是店小二呀 &#x1f308;C语言笔记专栏&#xff1a;C语言笔…

华为海思CPU解读

安全可靠CPU测评结果&#xff08;华为海思篇&#xff09; 中国信息安全测评中心于2024年5月20日发布安全可靠测评结果公告&#xff08;2024年第1号&#xff09;&#xff0c;公布依据《安全可靠测评工作指南&#xff08;试行&#xff09;》的测评结果&#xff0c;自发布起有效期…

计算机网络:1概述、2物理层

目录 概述因特网网络、互连网&#xff08;互联网&#xff09;与因特网的区别与关系因特网发展的三个阶段因特网服务提供者&#xff08;Internet Service Provider&#xff0c;ISP&#xff09;因特网的标准化工作因特网的管理结构 三种交换电路交换分组交换报文交换 计算机网络性…

什么电脑录屏软件好用?这里有3款超实用推荐!

在当今数字化时代&#xff0c;电脑录屏软件已经成为了人们日常学习和工作中不可或缺的工具。无论是录制游戏实况、制作教程视频&#xff0c;还是保存线上会议的内容&#xff0c;一款好用的电脑录屏软件都显得尤为重要。可是什么电脑录屏软件好用呢&#xff1f;本文将为大家介绍…

如何有效地进行机台数据管理,让数据发挥更大的价值?

机台数据管理是一个涉及收集、存储、分析和保护与机台&#xff08;可能是机械设备、生产线设备、医疗设备等&#xff09;相关数据的过程。通常包括以下几个方面&#xff1a; 1.数据收集&#xff1a;使用传感器和数据采集系统来收集机台的性能数据&#xff0c;如温度、压力、速…

Shell编程规范与变量-01

一、Shell脚本概述 在一些复杂的 Linux 维护工作中&#xff0c;大量重复性的输入和交互操作不仅费时费力&#xff0c;而且容易出错&#xff0c;而编写一个恰到好处的 Shell 脚本程序&#xff0c;可以批量处理、自动化地完成一系列维护任务&#xff0c;大大减轻管理员的负担。 1…

【机器学习】深度学习赋能:基于 LSTM 的智能日志异常检测

目录 1. LSTM 简介 2. 日志序列异常检测概述 3. 数据预处理 3.1 日志解析 3.2 数据清洗 3.3 序列化 3.4 特征提取 示例代码 4. 构建 LSTM 模型 4.1 模型结构 4.2 模型构建示例 5. 训练 LSTM 模型 5.1 数据准备 5.2 模型训练 示例代码 6. 异常检测 6.1 异常分数…

pycharm的一些配置

1.安装 2.字体 3.新建文件模版 4.快捷键设置

openeuler一个服务异常占用cpu的排查过程

1 环境 硬件环境&#xff1a;LS1046A arm64 系统环境&#xff1a;openEuler release 22.03 (LTS-SP1) Linux kernel 4.19.26 2 问题说明 我的硬件平台需要适配一下 openEuler release 22.03 (LTS-SP1) 但是目前只能使用原来硬件平台的内核&#xff0c;在适配的过程中…

0 简单的图像分类

本文主要针对交通标识图片进行分类&#xff0c;包含62类&#xff0c;这个就是当前科大讯飞比赛&#xff0c;目前准确率在0.94左右&#xff0c;难点如下&#xff1a; 1 类别不均衡&#xff0c;有得种类图片2百多&#xff0c;有个只有10个不到&#xff1b; 2 像素大小不同&…

【论文笔记】Prefix-Tuning: Optimizing Continuous Prompts for Generation

题目:Prefix-Tuning: Optimizing Continuous Prompts for Generation 来源: ACL 2021 模型名称: Prefix-Tuning 论文链接: https://aclanthology.org/2021.acl-long.353/ 项目链接: https://github.com/XiangLi1999/PrefixTuning 感觉与prompt的想法很相近&#xff0c;那么问题…

php基础语法_面向对象

PHP php代码标记 多种标记来区分php脚本 ASP标记&#xff1a;<% php代码 %> 短标记&#xff1a; 脚本标记: 标准标记&#xff08;常用&#xff09;&#xff1a; 简写风格&#xff1a; ASP风格&#xff1a;<% php代码 %> 注意&#xff1a;简写风格和ASP风格…

【PHP项目实战训练】——使用thinkphp框架对数据进行增删改查功能

&#x1f468;‍&#x1f4bb;个人主页&#xff1a;开发者-曼亿点 &#x1f468;‍&#x1f4bb; hallo 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍&#x1f4bb; 本文由 曼亿点 原创 &#x1f468;‍&#x1f4bb; 收录于专栏&#xff1a…

【Effective Web】常见的css布局方式--三栏布局

常见的css居中方式–三栏布局 第一种实现&#xff1a;table布局&#xff08;不推荐&#xff09; 缺点&#xff1a;在table加载前&#xff0c;整个table都是空白的&#xff0c;且修改布局排版都十分困难 <table class"container"><td class"left"…

《广州化工》是什么级别的期刊?是正规期刊吗?能评职称吗?

​问题解答 问&#xff1a;《广州化工》是不是核心期刊&#xff1f; 答&#xff1a;不是&#xff0c;是知网收录的正规学术期刊 问&#xff1a;《广州化工》级别&#xff1f; 答&#xff1a;省级。主办单位&#xff1a;广州化工集团有限公司 主管单位&#xff1a;广州化工…

学生护眼大路灯应该怎么选?五款护眼大路灯对比推荐

我们都知道光线无处不在&#xff0c;想要减少近视隐患&#xff0c;就不得不提一下护眼灯了&#xff0c;特别是经常坐在电脑前码字的上班族以及深夜还在学习的学生党这一类人群&#xff0c;经常用眼光线不好不仅影响视力健康&#xff0c;还会影响效率。而一款护眼灯能够提供柔和…

环境配置02:CUDA安装

1. CUDA安装 Nvidia官网下载对应版本CUDA Toolkit CUDA Toolkit 12.1 Downloads | NVIDIA Developer CUDA Toolkit 12.5 Downloads | NVIDIA Developer 安装配置步骤参考&#xff1a;配置显卡cuda与配置pytorch - 知乎 (zhihu.com) 2. 根据CUDA版本&#xff0c;安装cudnn …