Java基础学习-数组

目录

数组定义

注意点:

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

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

案例:定义数组,遍历能被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内存分布:

数组终于学完了

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

基于CentOS的全新Linux机器安装Jenkins并生成Allure报告

目录 一、安装Docker 二、安装Docker Compose 三、准备测试用例 四、配置docker-compose.yml 五、启动Jenkins 六、配置Jenkins和Allure插件 七、创建含pytest的Jenkins任务 一、安装Docker 在CentOS上&#xff0c;首先更新包管理工具并安装所需的包。 sudo yum update…

C++实现简单日历(win11日历)

&#x1f4c7;文章目录 &#x1f680;实现目标&#x1f680;效果&#x1f680;计算上一个月的最后一天是周几&#x1f680;打印日历函数&#x1f680;完整代码 &#x1f680;实现目标 我们想要的效果&#xff1a; 1.布局类似 2.键盘按下←或者→会切换到下一个月&#xff08;这…

Coursera耶鲁大学金融课程:Financial Markets 笔记Week 02

Financial Markets 本文是学习 https://www.coursera.org/learn/financial-markets-global这门课的学习笔记 这门课的老师是耶鲁大学的Robert Shiller https://en.wikipedia.org/wiki/Robert_J._Shiller Robert James Shiller (born March 29, 1946)[4] is an American econom…

Linux-远程访问及控制

一、SSH远程管理 SSH&#xff08;Secure Shell&#xff09;是一种安全通道协议&#xff0c;主要用来实现字符界面的远程登录、远程复制等功能。SSH 协议对通信双方的数据传输进行了加密处理&#xff0c;其中包括用户登录时输入的用户口令。与早期的 Telent&#xff08;远程登录…

【设计模式深度剖析】【10】【行为型】【状态模式】

&#x1f448;️上一篇:访问者模式 设计模式-专栏&#x1f448;️ 文章目录 状态模式定义英文定义直译如何理解呢&#xff1f; 状态模式的角色Context&#xff08;环境类&#xff09;State&#xff08;抽象状态类&#xff09;ConcreteState&#xff08;具体状态类&#xff09…

EXCEL数据导入HIVE

引言 本文将论述如何将Windows本地的excel表数据&#xff0c;导入到虚拟机Linux系统中的Hadoop生态中的Hive数据仓库中。 实验准备 DBeaver Hive3.1&#xff08;Hadoop3.1&#xff09; excel数据表 实验步骤 一、首先打开虚拟机&#xff0c;启动Hadoop&#xff0c;启动h…

71-TCP协议工作原理及实战

一 服务器端 #ifndef MAINWINDOW_H #define MAINWINDOW_H#include <QMainWindow> #include <QTcpServer> // 专门用于建立TCP连接并传输数据信息 #include <QtNetwork> // 此模块提供开发TCP/IP客户端和服务器的类QT_BEGIN_NAMESPACE namespace Ui { class M…

vscode字符多行自动增长插件。

多行字符自动增长插件CharAutoIncre 当你使用shiftalt选中了多行,并输入了’1’,这时这几行都变成了’1’. 这时你可以选中&#xff08;shift左键&#xff09;为’1’的这几行, 接下来按下shiftaltq此时’1’变为了’12345’自增长的样式。 同时本插件支持字符’a-z,A-Z’。 目…

windows环境下,怎么查看本机的IP、MAC地址和端口占用情况

1.输入ipconfig,按回车。即查看了IP地址&#xff0c;子码掩码&#xff0c;网关信息。 2.输入ipconfig/all,按回车。即查看了包含IP地址&#xff0c;子码掩码&#xff0c;网关信息以及MAC地址 3.我们有时在启动应用程序的时候提示端口被占用&#xff0c;如何知道谁占有了我们需要…

「布道师系列文章」宝兰德徐清康解析 Kafka 和 AutoMQ 的监控

作者&#xff5c;北京宝兰德公司解决方案总监徐清康 01 前言 当我们使用一个软件的时候&#xff0c;经常都会问这个软件怎么监控、监控他的哪些指标&#xff1f;Kafka 的监控挺长时间都是一个老大难的问题&#xff0c;社区在监控方面一直没有投入太大的精力。如果要实现一…

深入解析OOM问题与解决方案:一次实战排查经历

近日&#xff0c;公司服务突然出现连续不断的Full GC&#xff08;Full Garbage Collection&#xff0c;全垃圾回收&#xff09;&#xff0c;在短短时间内发生了四次&#xff0c;之后服务竟然自动重启。这一异常情况让我们团队倍感困扰&#xff0c;因为在系统监控中&#xff0c;…

Spring Boot集成vaadin快速入门demo

1.什么是vaadin&#xff1f; Vaadin 是用于构建单页 Web 应用的流行 Java 框架。 它由一家专门从事富 Internet 应用设计和开发的芬兰公司开发。 估计有 15 万开发者使用 Vaadin。 它的开发始于 2002 年。 Vaadin 框架特性 以下是 Vaadin 特性的列表&#xff1a; 这是一个 J…

PHP蜜语翻译器在线文字转码解码源码

源码介绍 PHP蜜语翻译器在线文字转码解码源码 文字加密通话、一键转换、蜜语密码 无需数据库,可以将文字、字母、数字、代码、表情、标点符号等内容转换成新的文字形式&#xff0c;通过简单的文字以不同的排列顺序来表达不同的内容&#xff01;支持在线加密解密 有多种加密展示…

物联网技术-第3章物联网感知技术-3.2定位技术

目录 1.1位置信息和位置服务 1.1.1位置信息 1.1.2位置服务 1.2主流定位系统 1.2.1卫星定位系统&#xff08;Satellite Positioning Systems&#xff09; 1.2.2移动通信蜂窝基站定位&#xff08;Cellular Triangulation or Advanced Forward Link Trilateration&#xff09…

使用 Iceberg、Tabular 和 MinIO 构建现代数据架构

现代数据环境需要一种新型的基础架构&#xff0c;即无缝集成结构化和非结构化数据、轻松扩展并支持高效的 AI/ML 工作负载的基础架构。这就是现代数据湖的用武之地&#xff0c;它为您的所有数据需求提供了一个中心枢纽。然而&#xff0c;构建和管理有效的数据湖可能很复杂。 这…

MySQL之优化服务器设置和复制(一)

优化服务器设置 操作系统状态 CPU密集型的机器 CPU密集型服务器的vmstat输出通常在us列会有一个很高的值&#xff0c;报告了花费在非内核代码上的CPU时钟;也可能在sy列有很高的值&#xff0c;表示系统CPU利用率&#xff0c;超过20%就足以令人不安了。在大部分情况下&#xff…

无代码爬虫软件八爪鱼采集器-如何设计判断是、否

我们在设计采集规则的时候&#xff0c;可能会需要判断&#xff0c;比如采集评论的时候“展开更多回复”&#xff0c;就点击这个按钮&#xff0c;像这种情况就可以设计一个判断模块进入 判断模块添加后会自动生成两个&#xff0c;默认都是不判断直接执行&#xff0c;如果我们需要…

网络安全:数据库安全性

文章目录 网络安全&#xff1a;数据库安全性引言数据库安全性的重要性常见的数据库安全威胁数据库安全性的最佳实践数据加密访问控制审计和监控 结语 网络安全&#xff1a;数据库安全性 引言 在前两篇文章中&#xff0c;我们讨论了SQL注入的概念和防范措施。本篇文章将聚焦于…

记一次线上jVM调优

文章目录 问题描述问题分析尝试优化业务代码优化方案修改后代码补充点 问题描述 部门调整&#xff0c;接手一个新项目&#xff0c;为方便后续描述叫user-web&#xff0c;随后推动IT降本&#xff0c;要求根据实际业务量调整服务器实例数量和配置&#xff0c;调整前服务器配置为…

【DevOps】Elasticsearch 数据跨集群同步方案

目录 1、Elasticsearch Cross-Cluster Replication (CCR) 1.1、优点 1.2、缺点 1.3、步骤 1.4、示例 2. Logstash 或其他 ETL 工具 2.1、优点 2.2、缺点 2.3、步骤 3. Apache Kafka 或 RabbitMQ 3.1、优点 3.2、缺点 3.3、步骤 4、使用 Reindex API 进行跨集群同…