【核心笔记】Java入门到起飞,小白都能看懂的Java教程 (五)——数组

一 数组的定义和初始化

定义数组

数据类型[]  数组名;例 int[] arr;

数据类型 数组名[];例 int arr[];

数组初始化

数据类型[] 数组名 =new 数据类型[] {值};例 int[] arr =new int[] {1,2,3};

(简化形式)数据类型[] 数组名 ={值};

二 数组的地址值和元素访问

System.out.println(数组名); 可以获得数组的地址

System.out.println(数组名[索引值]);可以获取数组内对应元素

数组名[索引值] = 值; 可以为数组内元素赋值

三 数组的遍历

<数组长度 arr.length>

练习1:定义一个数组存储1~10,统计数组内有多少个可以被3整除的数字

public class HelloWorld {public static void main(String[] args) {int[] arr =new int[]{1,2,3,4,5,6,7,8,9,10};int count =0;for (int i = 0; i < arr.length; i++) {if (a[i]%3 ==0){count++;}}System.out.println(count);}
}

练习2:定义一个数组,存储1~10的数字,遍历数组,如果是奇数,将该数字扩大两倍,如果是偶数,则缩小一半

public class HelloWorld {public static void main(String[] args) {int[] arr =new int[]{1,2,3,4,5,6,7,8,9,10};for (int i = 0; i < arr.length; i++) {if (arr[i] %2 == 0 ){arr[i] = (int)0.5*arr[i];}else {arr[i] = 2*arr[i];}System.out.println(arr[i]);}}
}

四 数组的动态初始化

数据类型[] 数组名 =new 数据类型[数组长度];例 int[] arr =new int[3] ;

默认初始化值:int型-0;double型-0.0;Char型-空格;boolon型-false;引用类型-null

五 数组常见问题:数组越界

练习1:求最值

public class HelloWorld {public static void main(String[] args) {// 求最大值int[] arr =new int[]{35,5322,534,2355,6654,744};// int temp = 0;int temp = arr[0];// temp的初值不能为0,因为数组中元素可能为负数for (int i = 0; i < arr.length; i++) { // 循环开始条件可以改为i=1;提高程序运行效率if (temp <arr[i]){temp = arr[i];}}System.out.println(temp);}
}

练习2:遍历数组求和

生成10个1~100之间的随机数存入数组,求出数组数字的和和平均数,并统计有多少个数据小于平均数

import java.util.Random;
public class HelloWorld {public static void main(String[] args) {//  生成10个1~100之间的随机数存入数组,求出数组数字的和和平均数,并统计有多少个数据小于平均数Random r = new Random();int[] arr = new int[10];for (int i = 0; i < arr.length; i++) {arr[i] = r.nextInt(100) +1;System.out.print(arr[i] +"");}int sum = 0;double avg = 0;int count = 0;for (int i = 0; i < arr.length; i++) {sum += arr[i];}// avg = sum/arr.length;avg = sum/10.0;for (int i = 0; i < arr.length; i++) {if (arr[i]<avg){count++;}}System.out.println("和是:"+sum);System.out.println("平均数:"+avg);System.out.println("小于平均数的数字个数:"+count);}
}

练习3:交换数组中的数据

定义一个数组,存入数据1,2,3,4,5。要求交换数组间索引首位对应元素位置,使得数组变为5,4,3,2,1

public class HelloWorld {public static void main(String[] args) {// 定义数组int[] arr = new int[]{1,2,3,4,5,6};// 利用循环交换数组for (int i =0,j=arr.length-1;i<j;i++,j--){// 交换变量i 和变量j指向的元素int temp = arr[i];arr[i] = arr[j];arr[j]= temp;// 一轮交换完成,进行下一轮交换}for (int i = 0; i < arr.length; i++) {System.out.print(arr[i]+"");}}
}

练习4:打乱数组中数据

定义一个数组,要求打乱数组中所有数据顺序

import java.util.Random;
public class HelloWorld {public static void main(String[] args) {// 定义数组int[] arr = new int[]{1,2,3,4,5,6};// 实现方法:定义随机索引,遍历数组,将数组中的值与随机索引指向的位置进行调换Random r =new Random();// 遍历数组for (int i = 0; i < arr.length; i++) {// 获取随机索引int r_index = r.nextInt(arr.length);// 用随机索引指向的元素与i指向的元素交换int temp =arr[i];arr[i] = arr[r_index];arr[r_index] = temp;}for (int i = 0; i < arr.length; i++) {System.out.print(arr[i]+" ");}}
}

六 数组的内存图

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

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

相关文章

超赞!只需粘贴复制超赞,视频快速转换成文章

大家好&#xff01;我是闷声轻创&#xff01;是否还在为撰写高质量的文章而熬夜奋战&#xff1f;今天&#xff0c;我要给你们带来一个超级棒的消息——视频变文章的神奇工具&#xff0c;让你的创作之路从此不再艰辛&#xff01; 视频素材的宝藏——油管&#xff08;YTB&#xf…

反馈神经网络与不同类型的神经网络:BP神经网络,深度感知机,CNN,LSTM

反馈神经网络与不同类型的神经网络&#xff1a;BP神经网络&#xff0c;深度感知机&#xff0c;CNN&#xff0c;LSTM 在神经网络的研究和应用中&#xff0c;我们经常听到BP神经网络、深度感知机&#xff08;MLP&#xff09;、卷积神经网络&#xff08;CNN&#xff09;、长短期记…

对象转换传输规范SpringBeanUtil工具类封装

对象转换传输规范SpringBeanUtil工具类封装 前言 上一集我们已经完成了SpringBoot3.X MybatisPlus的逆向工程,这一集我们将会完成对象转换传输规范SpringBeanUtil工具类的封装。 在讲主要内容的之前,我们将会补充一些小知识。 N方库 在软件开发中&#xff0c;库&#xff08…

TS-类型别名和接口的区别

TypeScript中的类型别名&#xff08;Type Alias&#xff09; 和 接口&#xff08;Interface&#xff09; 都是用来自定义类型的工具&#xff0c;但他们在语法和使用场景上有一些区别。 扩展和合并 类型别名&#xff1a;不能直接扩展和合并&#xff0c;但可以通过交叉类型来实现…

2024年了还在学pytestday1

1、按照博主的说法&#xff0c;提出疑问&#xff1a;应该在电脑本地终端安装还是在pythoncharm终端安装&#xff1f; ------在pythoncharm终端安装就行 避免老是忘记&#xff0c;还是记下来比较好。 2、在公司安装不成功&#xff0c;换豆瓣源也不行&#xff0c;连接手机热点尝…

LangChain 语言 —— LCEL

文章目录 一、概述二、快速开始1、invoke 一个 runable2、batch 一个 runable3、stream 一个 runable4、将runables组合起来5、并行调用可运行文件6、将任何function转换为可runable7、合并输入和输出字典8、将输入字典包含在输出字典中9、添加默认调用参数 一、概述 LangChain…

华为机考真题 -- 靠谱的车

题目描述: 程序员小明打了一辆出租车去上班。出于职业敏感,他注意到这辆出租车的计费表有点问题,总是偏大。出租车司机解释说他不喜欢数字 4,所以改装了计费表,任何数字位置遇到数字 4 就直接跳过,其余功能都正常。 比如: 1. 23 再多一块钱就变为 25; 2. 39 再多一块钱…

大象资讯 | IvorySQL 3.3 发版

IvorySQL 3.3 于 2024.07.11 日发版&#xff0c;该版本基于 PostgreSQL 16.3&#xff0c;修复若干问题。 IvorySQL 是一款以 PostgreSQL 为基础进行开发&#xff0c;并且兼容 Oracle 的开源数据库。该项目是在 Apache 2.0 许可证下发布的&#xff0c;社区鼓励且欢迎所有类型的贡…

Linux--安装VMware步骤

安装VMware VMware Desktop Hypervisors for Windows, Linux, and Mac 复制链接打开浏览器下载即可 从官网下载软件&#xff0c;完成后为确保后续正常使用&#xff0c;需要检查虚拟网卡是否安装完成 检查虚拟网卡的安装步骤 Windows--设置--高级设置--网络适配器--看是否有显…

STM32杂交版(HAL库、音乐盒、闹钟、点阵屏、温湿度)

一、设计描述 本设计精心构建了一个以STM32MP157A高性能单片机为核心控制单元的综合性嵌入式系统。该系统巧妙融合了蜂鸣器、数码管显示器、点阵屏、温湿度传感器、LED指示灯以及按键等多种外设模块&#xff0c;形成了一个功能丰富、操作便捷的杂交版智能设备。通过串口…

vue2学习笔记-官网使用指南和搭建开发环境

官网使用指南 官网地址&#xff1a;介绍 — Vue.js 1、学习 1.1 教程和API 最重要的两个板块。API是VUE的字典&#xff0c;需要时来查阅。 1.2、风格指南 如何写出风格优雅的VUE代码。规则分为四类&#xff1a;必要的&#xff0c;强烈推荐、推荐、谨慎使用。 1.3、示例 …

初始网络知识

前言&#x1f440;~ 上一章我们介绍了使用java代码操作文件&#xff0c;今天我们来聊聊网络的一些基础知识点&#xff0c;以便后续更深入的了解网络 网络 局域网&#xff08;LAN&#xff09; 广域网&#xff08;WAN&#xff09; 路由器 交换机 网络通信基础 IP地址 端…

PCI PTS 硬件安全模块(HSM)模块化安全要求 v5.0

符合条件的 PCI SSC 利益相关者在 30 天的意见征询 (RFC) 期间审查 PCI PTS 硬件安全模块 (HSM) 模块化安全要求 v5.0 草案并提供反馈。 PCI PTS 硬件安全模块(HSM)模块化安全要求 v5.0图 从 7 月 8 日到 8 月 8 日&#xff0c;邀请符合条件的 PCI SSC 利益相关者在 30 天的意见…

【linux】服务器创建RAID1(软件配置RAID1)

【linux】服务器创建RAID1(软件配置RAID1) 文章目录 【linux】服务器创建RAID1(软件配置RAID1)一、配置介绍raid介绍raid类型RAID 0:RAID 1:RAID 5:RAID 6:二、配置RAID硬件RAID:软件RAID:三、软件配置RAID1(以linux为例)1.先进入管理员模式2.安装mdadm工具3.创建raid1数…

SSH服务器CBC漏洞(CVE-2008-5161)

漏洞简介 OpenSSH 是一种开放源代码的SSH协议的实现,初始版本用于OpenBSD平台,现在已经被移植到多种Unix/Linux类操作系统下,Linux环境中一般采用AES这种算法加密,AES有五种加密模式(CBC、ECB、CTR、OCF、CFB),系统默认会选择CBC的加密模式。 CBC模式是一种常用的对称…

存取款系统接口设计

题目描述&#xff1a; 设计一个存取款接口&#xff0c;入参是账户数组balances 与存取款请求体数组requests 对于取款要求判断&#xff1a; 当前余额不足&#xff0c;返回余额不足帐号 之前的取款时间在24之前的&#xff0c;在24小时之后返回上次取款额度的百分之2并向下取整。…

Hive期末测试题(头歌)

第1关&#xff1a;计算“Bad Boys (1995)”这部电影的评分次数 -- 使用mydb数据库 USE mydb;-- 计算“Bad Boys (1995)”这部电影的评分次数 SELECT m.movieid, m.moviename, COUNT(r.movieid) AS rating_count FROM t_movies m JOIN t_ratings r ON m.movieid r.movieid WHE…

【欧几里得算法】C++求解最大公因子:求解两个正整数的最大公因子

1. 算法描述&#xff1a; 【欧几里得算法】求解两个正整数m&#xff0c;n的最大公因子 2. 算法求解步骤&#xff1a; E1&#xff08;求两个整数的余数&#xff09;&#xff1a;求两个正整数的余数&#xff0c;r m % nE2&#xff08;判断余数是否为0&#xff09;&#xff1a…

遥感影像图像识别

遥感影像图像识别 基于遥感影像的道路提取论文、开源代码和数据集汇总

C语言 结构体和共用体——结构体所占内存的字节数

目录 结构体所占内存的字节数 结构体所占内存的字节数