Java数组,超详细整理,适合新手入门

news2025/7/18 21:20:39

目录

一、什么是Java中的数组?

二、数组有哪些常见的操作?

三、数组的五种赋值方法和使用方法

声明数组

声明数组并且分配空间

声明数组同时赋值(1)

声明数组同时赋值(2)

从控制台输入向数组赋值

四、求总和平均

五、求数组中最大值最小值

六、对数组进行升序排序

六、不调用方法进行数组排序

七、Arrays 类常用方法


一、什么是Java中的数组?

数组是一种数据结构,可以存储多个相同类型的元素;在Java中,数组是一种对象,它可以存储基本数据类型和对象类型。

二、数组有哪些常见的操作?

  • 创建数组:使用new操作符创建一个新的数组对象。
  • 访问元素:使用索引访问数组中的元素。
  • 遍历数组:使用循环结构遍历数组中的所有元素。
  • 复制数组:使用System.arraycopy()方法或Arrays.copyOf()方法将一个数组复制到另一个数组中。
  • 排序数组:使用Arrays.sort()方法对数组进行排序。
  • 搜索数组:使用Arrays.binarySearch()方法在一个已排序的数组中搜索一个元素。

三、数组的五种赋值方法和使用方法

声明数组

int[] arr; 	
//开辟三个空间
arr = new int[3]; 	
//向数组中赋值,0、1、2是下标 
arr[0] = 30; 
arr[1] = 97; 
arr[2] = 65; 

声明数组并且分配空间

int[] arr = new int[3];  
//开辟三个空间 
//向数组中赋值 
arr[0] = 30; 
arr[1] = 97; 
arr[2] = 65; 

声明数组同时赋值(1)

int[] arr = new int[]{30, 97, 65}; 

声明数组同时赋值(2)

int[] arr = {30, 97, 65}; 

从控制台输入向数组赋值

int[] arr = new int[3]; 
System.out.println("向数组中存入三个数据:"); 					                        
//arr.length是数组的长度 
for (int i = 0; i < arr.length; i++) {		
//i是下标    
 arr[i] = input.nextInt();
 } 						                    
//把数组中的值输出 
for (int i = 0; i < arr.length; i++) {     						               
//输出数组中的值    
 System.out.println(arr[i]); 
}

四、求总和平均

int i = 0; int zong = 0; 
int[] arr = new int[3]; 
for (i = 0; i < arr.length; i++) {
     System.out.print("输入第" + (i + 1) + "位同学的成绩:"); 
      arr[i] = input.nextInt();
     zong = zong + arr[i]; 
} 
System.out.println(i + "位同学的总分是:" + zong + "平均分是:" + zong * 1.0 / arr.length); 

五、求数组中最大值最小值

int[] arr = { 90, 100, 98, 67, 45, 79 };
 int max = arr[0];
 int min = arr[0];
 for (int i = 1; i < arr.length; i++) {
     if (arr[i] > max) {
         max = arr[i];     
}
     if (arr[i] < min) {
         min = arr[i];     
} 
} 
System.out.println("最大值为:" + max); System.out.println("最小值为:" + min); 

六、对数组进行升序排序

数组升序输出
 int[] arr1 = { 90, 100, 98, 67, 45, 79 }; 
		Arrays.sort(arr1);
 		for (int i = 0; i < arr1.length; i++) { 
			System.out.println(arr1[i]); 
		} 

数组降序输出 		
int[] arr2 = {90, 100, 98, 67, 45, 79}; 		
Arrays.sort(arr2); 		
for (int i = arr2.length - 1; i >= 0; i--) { 
			System.out.println(arr2[i]); 
} 

六、不调用方法进行数组排序

int[] array = {10, 30, 17, 6, 29, 20};
int temp; for(int i = 0;i<array.length -1;i++){
    for (int j = 0; j < array.length - 1 - i; j++) {
        if (array[j] < array[j + 1]) {
            //<为降序,>为升序             
            temp = array[j];
            array[j] = array[j + 1];
            array[j + 1] = temp;
        }
    }
} 
for(int i :array){
    System.out.print(i + "\t");
}

七、Arrays 类常用方法

Arrays类位于 java.util 包中, import java.util.Arrays;

int[] array1 = {10, 20, 16, 19, 5};
 int[] array2 = {10, 20, 16, 19, 5};
 //boolean equals(array1, array2)比较两个数组是否相等 
System.out.println(Arrays.equals(array1, array2)); 
//打印true 

//String toString(array)将数组转换成字符串显示值
 System.out.println(Arrays.toString(array1)); 
//打印[10, 20, 16, 19, 5] 

//void fill(array, val)将数组的所有值填充为val Arrays.fill(array2, 20); System.out.println(Arrays.toString(array2));
 //打印[20, 20, 20, 20, 20] 

//数组copyOf(array, newLength)将array复制成指定长度的新数组 int[] array3 =Arrays.copyOf(array1, 10); 
System.out.println(Arrays.toString(array3)); 
//打印[10, 20, 16, 19, 5, 0, 0, 0, 0, 0] 

//int binarySearch(array, key)在array数组中查找指定的值,并返回其索引,前提是数组是有序的 Arrays.sort(array1); 
System.out.println(Arrays.binarySearch(array1, 16)); 
//打印2

 

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

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

相关文章

leetcode.1326 灌溉花园的最少水龙头数目 - 贪心

1326. 灌溉花园的最少水龙头数目 题目&#xff1a; 思路&#xff1a; 注意&#xff1a;「整个花园」包含不是整点的位置&#xff0c;例如 0.5 这种小数位置也要被灌溉到 对于所有能覆盖某个左端点的水龙头&#xff0c;选择能覆盖到最远右端点的水龙头是最优解 比较像【搭桥】的…

ArcGIS批量拼接大量栅格遥感影像:Mosaic工具

本文介绍在ArcGIS下属的ArcMap软件中&#xff0c;基于Mosaic工具&#xff0c;批量对大量栅格遥感影像文件加以拼接、镶嵌的方法。 在GIS应用中&#xff0c;我们时常需要对大量栅格遥感影像数据加以批量拼接的工作。这一步骤可以基于Python语言实现&#xff0c;具体可以参考文章…

HIVE 基础(三)

目录 建表语句 表数据 Hive建表高阶语句 - CTAS and WITH CTAS – as select方式建表 CTE (CTAS with Common Table Expression) LIKE 创建临时表 清空表数据 修改表&#xff08;Alter针对元数据&#xff09; 改名 修正表文件格式 修改列名 添加列 替换列 动态分…

如何在面试中介绍自己的项目,才能让软件测试面试官无可挑剔,

四、项目 4.1 简单介绍下最近做过的项目 根据自己的项目整理完成&#xff0c;要点&#xff1a; 1&#xff09;项目背景、业务、需求、核心业务的流程 2&#xff09;项目架构&#xff0c;B/S还是C/5&#xff0c;数据库用的什么? 中间件用的什么&#xff1f;后台什么语言开发…

使用统一返回响应,出现String类型转换失败的问题

使用统一返回响应&#xff0c;出现String类型转换失败的问题问题描述解决方案1、替换fastjson转换器2、在统一响应中&#xff0c;对String类型特殊处理3、加入Jackson转换器解决&#xff08;同时可关闭Zalando的堆栈打印&#xff09;问题描述 在对项目框架进行升级处理的时候&…

数据存储(整型数据存储)

目录 一、 数据类型详细介绍 1.类型的基本归类 二、 整形在内存中的存储 1.原码、反码、补码 对于整形来说&#xff1a;数据存放内存中其实存放的是补码。 三、大小端字节序介绍及判断 1、大端小端&#xff1a; 2、写出一个判断大小端的程序 四、练习整型存储 8个练习…

基于微信公众号(服务号)实现扫码自动登录系统功能

微信提供了两种方法都可以实现扫描登录。 一种是基于微信公众平台的扫码登录&#xff0c;另一种是基于微信开放平台的扫码登录。 两者的区别: 微信开放平台需要企业认证才能注册&#xff08;认证费用300元&#xff0c;只需要认证1次&#xff0c;后续不再需要进行缴费年审&#…

Python制作9行最简单音乐播放器?不,我不满足

嗨害大家好鸭~我是小熊猫 好久不见啦~这次就来给大家整个大福利 ~ 源码资料电子书:点击此处跳转文末名片获取 最简单的9行代码音乐播放器如下&#xff1a; import time import pygamefile r歌曲路径 pygame.mixer.init() print(正在播放,file) track pygame.mixer.music.lo…

遗传算法及Python实现

0 建议学时 4学时 1 人工智能概述 2020中国人工智能产业年会在苏州召开&#xff0c;会上发布的《中国人工智能发展报告2020》显示&#xff0c;过去十年(2011-2020) &#xff0c;中国人工智能专利申请量达389571件&#xff0c;占全球总量的74.7%&#xff0c;位居世界第一。 报…

Power BI 数据处理介绍(数据初始调整、合并列及查看数据结构)

本系列的文章&#xff1a; 安装流程和示例介绍&#xff1a; 《Power BI windows下载安装流程&#xff09;》《Power BI 11个必学官方示例数据案例&#xff08;附下载链接&#xff09;》 数据导入阶段介绍&#xff1a; 《Power BI 数据导入&#xff08;SQL Server、MySQL、网页…

1802908-00-4,Dde Biotin-PEG4-alkyne,炔烃PEG4生物素Dde

Dde Biotin-PEG4-alkyne&#xff0c;Alkyne-PEG4-Biotin Dde&#xff0c;Dde 生物素-PEG4-炔烃&#xff0c;Dde 生物素PEG4炔基&#xff0c;炔烃PEG4生物素DdeProduct structure&#xff1a;Product specifications&#xff1a;1.CAS No&#xff1a;1802908-00-42.Molecular fo…

leetcode 540. Single Element in a Sorted Array(排序数组中的单个元素)

给一个已经排好序的升序数组&#xff0c;其中每个元素都会重复2次&#xff0c;只有一个元素只有一个&#xff0c; 找出这个只有一个的元素。 要求时间复杂度在O(logn), 空间复杂度在O(1). 思路&#xff1a; 时间复杂度为O(logn), 让人想到了binary search. 因为时间复杂度为…

keil5安装了pack包但是还是不能选择device

一开始&#xff0c;我以为是keil5无法安装 STM32 芯片包&#xff0c;打开device倒是可以看到stm公司的芯片包&#xff0c;但是没有我想要的stm32f1。 我按照网上的一些说法&#xff0c;找到了这个STM32F1 的pack芯片包&#xff0c;但是我双击安装的时候&#xff0c;它的安装位…

(HP)新手引导使用react-shepherd

1&#xff0c;官方参数文档&#xff1a;https://shepherdjs.dev/docs/tutorial-02-usage.html 2&#xff0c;基本代码 import { ShepherdTour } from react-shepherd; import ./index.less; // 自己的样式文件&#xff0c;用来修改样式 import ./shepherd.less; // 将shephe…

嵌入式C语言自我修养:从芯片、编译器到操作系统-习题、笔记

前沿 C语言测试(1):基本概念考查 什么是标识符、关键字和预定义标识符? 三者有何区别? 标识符&#xff08;Identifier&#xff09;:由程序员定义&#xff0c;用来表示变量&#xff0c;包括了变量名、函数名、宏名、结构体名等。 标识符的命名规范&#xff1a;C语言规定&…

Android架构设计——【 APT技术实现butterknife框架 】

APT简介 APT英文全称&#xff1a;Android annotation process tool是一种处理注释的工具&#xff0c;它对源代码文件进行检测找出其中的Annotation&#xff0c;使用Annotation进行额外的处理。 Annotation处理器在处理Annotation时可以根据源文件中的Annotation生成额外的源文…

100种思维模型之启发式偏差思维模型-017

曾国藩在给儿子的一封家书中曾写道&#xff1a;余于凡事皆用困知勉行工夫&#xff0c;尔不可求名太骤&#xff0c;求效太捷也。熬过此关&#xff0c;便可少进。再进再困&#xff0c;再熬再奋&#xff0c;自有亨通精进之日。 不急躁不求捷径&#xff0c;小火慢炖&#xff0c;将事…

burp小程序抓包

身为一名码农&#xff0c;抓包肯定是一项必备技能。工作中遇到很多次需要对小程序进行抓包排查问题。下面分享一下我的抓包方式&#xff0c;使用的是电脑版小程序抓包&#xff0c;跟手机的方式都差不多的。 一、环境 微信版本&#xff1a;3.6.0.18 Burpsuite版本&#xff1a…

Python容器

容器 容器是一种可以容纳多份数据的数据类型&#xff0c;容纳的每一份数据称之为1个元素&#xff0c;每一个元素&#xff0c;可以是任意类型的数据&#xff0c;如字符串、数字、布尔等。 数据容器根据特点的不同&#xff0c;如&#xff1a; 是否支持重复元素是否可以修改是否…

k8s1.17.2+centos7.7+docker18.06

1.简介 1.1pod网络 总述&#xff1a;Kubernetes 的网络模型假定了所有Pod都在一个可以直接连通的扁平的网络空间中 Flannel&#xff1a;基于L2&#xff0c;构建用于各个pod通信的网络架构。使用iptables进行数据包过滤。Calico&#xff1a;纯L3&#xff0c;构建用于各个pod通…