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.hqwc.cn/news/346034.html

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

相关文章

数据分析概述2(详细介绍机器学习

目录 1.名词解释&#xff1a;1.1算法和模型1.2参数和超参数 2.基础算法&#xff1a;3.高级算法&#xff1a;4.数据准备5.常用python包小结&#xff1a; 1.名词解释&#xff1a; 1.1算法和模型 算法&#xff1a;用于训练模型的方法&#xff0c;分为有监督学习、无监督学习、半…

企业网盘:实现数据跨境传输,助力企业出海的必备工具

今年是“一带一路”十周年。在这十年间&#xff0c;中国和“一带一路”共建国家携手并行&#xff0c;贸易持续增长发展。在如今经济全球化的大方向下&#xff0c;跨国经济合作将会是各国共识。 目前&#xff0c;中外合作企业、跨境企业已成为国际贸易发展趋势。不过&#x…

Vant4在Vue3.3中如何按需导入组件和样式

前言 最近我在Vue 3.3的项目中对Vant4做按需导入时&#xff0c;尽管按照Vant4的官方指南进行操作&#xff0c;但样式仍然无法正确加载。经过深入研究和多篇文章的比较&#xff0c;我终于找到了在Vue3中如何正确的按需导入Vant 4组件和样式的方法。由于Vue3.3和Vant4相对较新&am…

一文解析低代码平台

一、低代码概念 低代码开发平台是一种无需编码或者只需要少量代码即可快速生成应用程序的开发平台&#xff0c;通过可视化进行应用程序开发的方法&#xff0c;让不同经验水平的开发人员可以通过图形化的用户界面&#xff0c;使用拖拽组件和模型驱动的逻辑来创建网页和移动应用程…

[C#]利用paddleocr进行表格识别

【官方框架地址】 https://github.com/PaddlePaddle/PaddleOCR.git 【算法介绍】 PaddleOCR表格识别是PaddlePaddle开源项目中的一个强大功能&#xff0c;它利用深度学习技术实现了对各类表格的高精度识别。PaddleOCR表格识别能够处理各种复杂的表格&#xff0c;包括但不限于…

C语言从入门到实战——数据在内存中的存储方式

数据在内存中的存储方式 前言1. 整数在内存中的存储2. 大小端字节序和字节序判断2.1 什么是大小端2.2 为什么有大小端2.3 练习2.3.1 练习12.3.2 练习22.3.3 练习32.3.4 练习42.3.5 练习52.3.6 练习6 3. 浮点数在内存中的存储3.1 练习3.2 浮点数的存储3.2.1 浮点数存的过程3.2.2…

最新靠谱可用的-Mac-环境下-FFmpeg-环境搭建

最近在尝试搭建 FFmpeg 开发环境时遇到一个蛋疼的事&#xff0c;Google 了 N 篇文章竟然没有一篇是可以跑起来的&#xff01; 少部分教程是给出了自我矛盾的配置&#xff08;是的&#xff0c;按照贴出来的代码和配置&#xff0c;他自己都跑不起来&#xff09;&#xff0c;大部…

Go语言认识

Go语言认识 1. Go语言的设计背景2. Go语言的历程3. Go语言对比分析4. Go语言未来的发展规划5. 要不要选择Go 关注 go博客 直接了解第一手资料。 go文档 了解go的全貌。 1. Go语言的设计背景 Go语言&#xff08;也称为Golang&#xff09;是由Google开发的一种编程语言。它的设计…

【Maven】006-Maven 依赖传递和依赖冲突

【Maven】006-Maven 依赖传递和依赖冲突 文章目录 【Maven】006-Maven 依赖传递和依赖冲突一、依赖传递1、概述2、案例&#xff1a;jackson 依赖引入依赖Maven 仓库详情页IDEA 中查看 Maven 依赖关系 二、依赖冲突1、概述2、冲突解决的两种方式 一、依赖传递 1、概述 概念&am…

重生奇迹mu敏弓加点攻略

1. 选择正确的属性点分配 在重生奇迹mu游戏中敏弓的属性点分配非常重要。建议将主要属性点分配在敏捷和力量上这样可以提高敏弓的攻击力和闪避能力。适当加点在体力和魔力上可以提高敏弓的生存能力和技能释放次数。不要忘记适当加点在智力上可以提高敏弓的技能威力和命中率。 …

七通道NPN 达林顿管GC2003,专为符合标准 TTL 而制造

GC2003 内部集成了 7 个 NPN 达林顿晶体管&#xff0c;连接的阵列&#xff0c;非常适合逻辑接口电平数字电路&#xff08;例 如 TTL&#xff0c;CMOS 或PMOS 上/NMOS&#xff09;和较高的电流/电压&#xff0c;如电灯电磁阀&#xff0c;继电器&#xff0c;打印机或其他类似的负…

代码随想录算法训练营第四天 |链表总结

1、每次先加判断&#xff1a; if (head null) {return head;} 2、ListNode dummy new ListNode(-1, head);和ListNode dummy new ListNode(-1);区别&#xff1a; 在Java中&#xff0c;ListNode dummy new ListNode(-1, head); 和 ListNode dummy new ListNode(-1); 的主…