java中数组

文章目录

  • java中数组
    • 思维导图
    • 数组
      • 数组概念
    • 数组定义格式详解
      • 数组的访问
    • 常见异常
      • 数组索引值越界异常:ArrayIndexOutOfBoundsException
      • 空指针异常:NullPointerException
    • 案例
      • 例一打印A-Z和0-9
      • 例二数组转置输出

java中数组

思维导图

在这里插入图片描述

数组

数组概念

  • 组就是存储数据的容器,保证多个数据的数据类型要一致,长度固定。
  • 定义方法:数组存储的数据类型[] 数组名字 = new 数组存储的数据类型[长度]

数组定义格式详解

数组存储的数据类型: 创建的数组容器可以存储什么数据类型。
[] : 表示数组。
数组名字:为定义的数组起个名,满足标识符规范,可以使用名字操作数组。
new:关键字,创建数组或者对象使用的关键字。
数组存储的数据类型: 创建的数组容器可以存储什么数据类型。
[长度]:数组的长度,表示数组容器中可以存储多少个元素。

举例

int[] arr = new int[3];

  • 定义方式2

  • 格式:

    数组存储的数据类型[] 数组名字 = new 数组存储的数据类型[]{数组元素1,数组元素2,数组元素3};

    举例:

    int[] arr = new int[]{1,2,3,4,5};
    

    数组的定义方式三

    • 数组存储的数据类型[] 数组名字 = {数组元素1,数组元素2,数组元素3};

      数组存储的数据类型[] 数组名字 = {数组元素1,数组元素2,数组元素3};
      

数组的访问

定义:

  • 每一个存储到数组的元素,都会自动的拥有一个编号,从0开始,这个自动编号称为数组索引 (index),可以通过数组的索引访问到数组中的元素。
数组名[索引]

数组的长度属性:

  • 每个数组都具有长度,而且是固定的,Java中赋予了数组的一个属性,可以获取到数组的 长度,语句为:数组名length,属性length的执行结果是数组的长度,int类型结果。由次可以推断出,数组的最大索引值为 数组名.lengt-1 。

常见异常

数组索引值越界异常:ArrayIndexOutOfBoundsException

  • 测试代码
package com.atguigu.java;public class ArrayTest {public static void main(String[] args) {int[] arr = new int[]{1,2,3,4,5}; //声明与初始化,长度是5arr[8] = 0;  //,索引值越界,索引值是 0~4for(int i = 0;i <= arr.length;i++){   //从0到5遍历,索引值越界System.out.println(arr[i]);}}
}
  • 运行结果

在这里插入图片描述

空指针异常:NullPointerException

a.此情况测试代码如下:

package com.atguigu.java;

public class ArrayTest {
public static void main(String[] args) {
//情况1:
int[][] arr0 = new int[4][];
arr0[1][2] = 0;

	//情况2:String[] arrString = new String[4]; arrString = null;System.out.println(arrString[0]);//情况3:String[] a = new String[]{"31","111","11"};a[0] = null;System.out.println(a[0].toString());
}

}

  • 结果
    空指针异常

案例

例一打印A-Z和0-9

  • 创建一个char类型的36个元素的数组,前26个元素放置’A’-‘Z’, 后10个元素放置’0’-‘9’。

    使用for循环访问所有元素并打印出来。

    提示:char类型数据运算 ‘A’+1 -> ‘B’,‘0’+1 -> ‘1’

    import java.util.Random;
    public class test {public static void main(String[] args) {char[] a =  new char[36];a[0]='A';a[26]='0';for (int i = 1; i < a.length; i++) {if(i<26) {a[i] = (char) (a[i-1] + 1);}else if(i>26){a[i]=(char)(a[i-1]+1);}}for (int i = 0; i < a.length; i++) {System.out.print(a[i]+",");}}
    }

运行结果

在这里插入图片描述

例二数组转置输出

  • 将一个给定的整型数组转置输出,
    例如: 源数组,1 2 3 4 5 6
    转置之后的数组,6 5 4 3 2 1
import java.util.Random;
public class test {public static void main(String[] args) {int[] arr={1,2,3,4,5,6};int[] arr1=new int[arr.length];for (int i = 0; i <arr.length ; i++) {arr1[arr.length-1-i]=arr[i];}for (int i = 0; i < arr.length; i++) {System.out.print(arr[i]+" ");}System.out.println();for (int i = 0; i < arr.length; i++) {System.out.print(arr1[i]+" ");}}
}
  • 运行结果

在这里插入图片描述

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

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

相关文章

Java8常用新特性

目录 简介 1.默认方法 2..Lambda表达式 3.Stream API 4.方法引用 5.Optional类 简介 Java 8是Java编程语言的一个重要版本&#xff0c;引入了许多令人兴奋和强大的新特性。这些特性使得Java程序更加现代化、灵活和高效。让我们一起来探索一些Java 8的常用新特性吧&#…

NestJS 如何自定义中间件以及实际项目基于中间件提升项目开发效率

前言 NestJS 作为一个强大的 Node.js 框架&#xff0c;允许你通过中间件对请求和响应进行处理。中间件的概念在其他许多框架中也存在&#xff0c;它们在请求处理流程的早期执行&#xff0c;因此非常适合执行如日志记录、请求验证、设置响应头等任务。 在这篇教程中&#xff0…

Mac 下载 nvm 后执行nvm -v 命令报错 nvm: command not found

1、问题&#xff1a;Mac 使用命令下载nvm 成功后执行 nvm -v 查看&#xff0c;报错&#xff1a;nvm command not found 2、原因&#xff1a;可能是系统更新后&#xff0c;默认的 shell 是 zsh&#xff0c;所以找不到配置文件 3、解决&#xff1a;可添加编辑.bash_profile 和 …

回归和拟合的关系

在统计学和机器学习中&#xff0c;回归&#xff08;Regression&#xff09;和拟合&#xff08;Fitting&#xff09;是密切相关的概念&#xff0c;它们通常一起使用来描述如何通过模型来逼近或拟合数据。 回归&#xff08;Regression&#xff09;&#xff1a; 回归是一种统计学…

Docker 安装部署

1、Docker 安装 ① 卸载docker&#xff0c;清空之前的docker文件 yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-selinux \docker-engine-selinux \docker-engine \docker-ce…

2021腾讯、华为前端面试题集(基础篇)

Vue 面试题 生命周期函数面试题 1.什么是 vue 生命周期2.vue 生命周期的作用是什么 3.第一次页面加载会触发哪几个钩子 4.简述每个周期具体适合哪些场景 5.created 和 mounted 的区别 6.vue 获取数据在哪个周期函数 7.请详细说下你对 vue 生命周期的理解&#xff1f; **vue 路由…

达梦数据库主备集群

1&#xff1a;服务器硬件需求 按实际业务需求&#xff0c;选择合适的服务器&#xff0c;准备 3 台服务器&#xff0c;一台主库服务器&#xff0c;一台备库服务器&#xff0c;一台监视器服务器&#xff0c;服务器参数建议如下&#xff1a; 硬件要求物理内存>16 GB交换区Swa…

MySQL同步ES的几种方案

MySQL数据同步ES的几种方案 1. 同步双写 与业务耦合深&#xff0c;且业务响应时间长 2. 异步双写 这时可以使用类似MQ这样的中间件&#xff0c;业务主写时向MQ发送一条信息&#xff0c;再由一个聚合服务区消费&#xff0c;最终同步到ES 3. 定时任务 不好配置时间&#xff0c;…

Spring Boot - Application Events 的发布顺序_ContextRefreshedListener

文章目录 Pre概述Code源码分析 Pre Spring Boot - Application Events 的发布顺序_ApplicationEnvironmentPreparedEvent 概述 Spring Boot 的广播机制是基于观察者模式实现的&#xff0c;它允许在 Spring 应用程序中发布和监听事件。这种机制的主要目的是为了实现解耦&#…

2024年最新软件测试面试题

Part1 1、你的测试职业发展是什么&#xff1f;【文末有面试文档免费领取】 测试经验越多&#xff0c;测试能力越高。所以我的职业发展是需要时间积累的&#xff0c;一步步向着高级测试工程师奔去。而且我也有初步的职业规划&#xff0c;前3年积累测试经验&#xff0c;按如何做…

Python——猜猜心里的数字(2)

1、数字随机产生&#xff0c;范围1-10 2、有三次机会猜数字通过三层嵌套 3、每次猜不中&#xff0c;提示大小 import random numrandom.randint(1,10) guess_num int(input("请输入您猜测的值&#xff1a;")) if guess_numnum:print("恭喜你&#xff0c;第一次…

【漏洞复现】Office365-Indexs-任意文件读取

漏洞描述 Office 365 Indexs接口存在一个任意文件读取漏洞,攻击者可以通过构造精心设计的请求,成功利用漏洞读取服务器上的任意文件,包括敏感系统文件和应用程序配置文件等。通过利用此漏洞,攻击者可能获得系统内的敏感信息,导致潜在的信息泄露风险 免责声明 技术文章…

LLM之长度外推(二)| Self-Extend:无需微调的自扩展大模型上下文窗口

论文链接&#xff1a;https://simg.baai.ac.cn/paperfile/a34ae7f4-f0ce-4f8f-b8f2-e8e4d84bbee5.pdf 目前大模型基本都采用transformer结构&#xff0c;而transformer中attention机制的计算复杂度与序列长度呈平方关系&#xff0c;因此大模型在训练时候通常会设置固定的上下文…

案例117:基于微信小程序的新闻资讯系统设计与实现

文末获取源码 开发语言&#xff1a;Java 框架&#xff1a;springboot JDK版本&#xff1a;JDK1.8 数据库&#xff1a;mysql 5.7 开发软件&#xff1a;eclipse/myeclipse/idea Maven包&#xff1a;Maven3.5.4 小程序框架&#xff1a;uniapp 小程序开发软件&#xff1a;HBuilder …

NES 模拟器中音画同步问题

背景 模拟器是与游戏和播放器都有相似之处的系统。模拟器与游戏的相似之处&#xff0c;在于都需要一个采集输入–执行逻辑–然后按一定帧率&#xff08;通常是 60 FPS&#xff09;把画面显示出来的循环。但是模拟器又需要模拟音频设备&#xff0c;播放音频设备产生的声音样本&…

Ubuntu搭建OpenCV环境(C++)

Ubuntu搭建OpenCV环境(C) 文章目录 Ubuntu搭建OpenCV环境(C)一、环境介绍二、依赖安装三、安装包下载四、opencv安装五、测试 一、环境介绍 虚拟机 &#xff1a;VMware 15.5 OS &#xff1a; Ubuntu 20.04 opencv 版本 &#xff1a; 4.9.0 操作系统安装本文不再赘述&#x…

学习Vue封装的过渡与动画总结

今天学习了Vue封装的过渡与动画&#xff0c;接下来说一下Vue是如何实现的&#xff0c;首先原生的方法是在style元素中给指定元素添加过渡的过渡或动画&#xff0c;但Vue就不需要直接获取到需要过渡或动画的元素&#xff0c;而是使用一个<transition>的标签来包裹住想要过…

py的函数讲解

前言:本章节我们来讲函数&#xff0c;主播略微感觉到有点小难&#xff0c;友友们需要认真看 目录 一.初始函数 1.1关于函数 1.2举例 1.3小结 二.函数的基础语法 2.1关于函数的语法 2.2举例 2.3小结 三.函数的参数 3.1关于函数的参数 3.2举例 3.3小结 四.函数的返回…

Arduino实现简易颜色识别机械臂

机械臂 一 功能原理1 硬件设备2 arduino库3 工作原理 二 代码设计全局参数1 颜色识别2 机械臂转动3 机械臂复位 三 展示效果 一 功能原理 识别出不同颜色的物体&#xff0c;让机械臂进行夹取并放入不同位置。 1 硬件设备 2 arduino库 3 工作原理 二 代码设计 项目重点划分…

如何在 SwiftUI 中实现音频图表

文章目录 前言DataPoint 结构体BarChartView 结构体ContentView 结构体实现协议实现线图总结 前言 在可访问性方面&#xff0c;图表是复杂的事物之一。iOS 15 引入了一项名为“音频图表”的新功能。 下面我们将学习如何通过使用 accessibilityChartDescriptor 视图修饰符为任…