Java基础知识精通数组的使用

目录
  • 1.数组
  • 2.数组定义格式
  • 3.访问数组
  • 4.遍历数组

前言:本文章正式踏入数组部分,今天来讲一下数组。

1.数组

数组是一组数据结构,用来储存一组相同类型值的集合。

  • 数组就是一个容器。
  • 数组就是个引用数据类型。

作用:

  • 用来装数据,方便对数据进行管理操作。

特点:

  • 一旦创建数组,就不能改变长度。
  • 数组里面所有的元素的类型必须是相同数据类型的。
  • 数组中既可以储存基本数据类型,也可以存储引用数据类型。

2.数组定义格式

格式一:元素的数据类型[] 数组的名字 = new 元素的数据类型[元素的个数(数组的长度)];

int[] a = new int[5];

格式二:元素的数据类型[] 数组的名字 = new 元素的数据类型[]{元素1, 元素2, … …};

int[] a = new int[]{12,23,43};

格式三:元素的数据类型[] 数组的名字 = {元素1, 元素2, … …};

int[] a = {12,23,43}; //格式三是格式二的简化版。

注意: 这个语法中不需要使用new,甚至不用指定长度。

3.访问数组

如何创建数组:

int[] a = new int[5]; //创建了一个数组名为a的int型数组,里面包含五个元素。

如何储存数组:

int[] a = new int[5]; //int[5]包含长度为5的数组,索引是从0开始而不是从1开始,所以里面的下标为0 - 5。
a[0] = 1;  //数组第1位赋值为1
a[2] = 3;  //数组第3位赋值为3
a[3] = 4;  //数组第4位赋值为4

注意:

  • 创建一个数字数组时,所有元素初始化为0。
  • boolean元素初始化为false。
  • 对象数组的元素则初始化为一个特殊值null。

实例:

package shuzu;
public class chushi {
	public static void main(String[] args)
	{
		String[] a = new String[5]; //定义五个对象类的数组
		for(int i =0;i<5;i++)  //利用for循环把数组里面的元素全部输出。
			System.out.print(a[i]+" ");
	}

}

//输出结果:null null null null null

如何从数组取元素:

package shuzu;
public class chushi {
	public static void main(String[] args)
	{
		int[] a = {1,5,9,7,8};    //创建一个int型的数组,并初始化元素。
		int b = a[0];   //把第一位赋值给b,也就是b的值为1
		int b1 = a[2];  //把第三位赋值给b1,也就是b1的值为9
		int b2 = a[4];  //把第五位赋值给b2,也就是b2的值为8
		System.out.print(b+" "+b1+" "+b2); //输出b,b1,b2的值。
	}

}

//输出结果:1 9 8

4.遍历数组

遍历数组就是把数组所有元素打印出来,下面来介绍三种方式。

  • 第一种利用传统方式直接利用for循环直接访问数组,此方式有一个弊端,就是当元素超过100时,有可能引发 “array index out of bounds”异常,详情见实例一。
  • 第二种可以利用array.length,这样不必担心出现第一种情况,超出下标的情况,详情请见实例二。
  • 第三种方式:利用新型for循环方式 for (variable : collection) statement 这种循环语句更加简洁、高效,不必考虑下标的起始值和终止值,详情请见实例三。
package shuzu;
public class chushi {
	public static void main(String[] args)
	{
		int[] a = {1,5,9,7,8};
		//实例一:
		for(int i =0;i<5;i++)
			System.out.print(a[i]+" ");
		//实例二:
		for(int i=0;i<a.length;i++)
			System.out.print(a[i]+" ");
		//实例三:
		for(int ab:a)
			System.out.print(ab+" ");
	}
}

//最后输出结果:1 5 9 7 8

结束语

本文章主要讲解数组的定义、格式、特点以及如何使用数组

到此这篇关于Java基础知识精通数组的使用的文章就介绍到这了,更多相关Java数组内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Java数组归纳总结

    目录 一.一维数组 1.创建方法 2.初始化数组(一维数组) 二.二维数组 1.创建方法 2.初始化二维数组 三.遍历数组 四.替换元素 五.数组排序 六.数组拷贝 七.元素查询 八.排序算法 1.冒泡排序 2.直接选择排序 3.反转排序 一.一维数组 1.创建方法 数组元素类型 数组名字[]; 数组元素类型[] 数组名字; 比如: int array[];//int 类型数组 String str[];//String类型数组 我们还要给数组申请空间: 数组名字 = new 数组元素的类型[数

  • Java数组操作经典例题大总结

    目录 数组中元素的求和 使用二维数组打印一个10行的杨辉三角 求数值型数组中元素的最大值.最小值.平均数.总和等 *使用简单数组 线性查找 二分法查找 冒泡排序 求一个3*3矩阵对角线元素之和 总结 数组中元素的求和 public class T02 { public static void main(String[] args) { int[][]arr=new int[][]{{1,2,3,4,5},{1,2,3,5},{8,9,7}}; int sum=0; for(int i=0;i<

  • java数组实现循环队列示例介绍

    从顶部进去数据,从底部出来数据,用数组实现队列,但是下面这个队列,只能进行一次存数值,取数值,不够完善. import java.util.Scanner; public class ArrayQueueDemo { public static void main(String[]args){ //定义队列大小maxsize ArrayQueue arrayQueue=new ArrayQueue(3); Scanner scanner=new Scanner(System.in); char

  • 关于java数组与字符串相互转换的问题

    1.char数组(字符数组)->字符串 可以通过:使用String.copyValueOf(charArray)函数实现. 举例: char[] arr={'a','b','c'}; String string =String.copyValueOf(arr); System.out.println(string); //abc 2.String数组->字符串 String[] arr ={"0123","sb","12f"}; St

  • 一篇文章告诉你如何在Java数组中插入一个字符

    目录 定义一个数组 定义插入的字符 打印插入之前字符排列顺序 假设插入位置 找到插入位置 数组数据下移 移入数值 输出数组 总结 定义一个数组 public class charInsert { public static void main(String[] args) { // 这是字符数组 char[] ch = new char[9]; ch[0] = 'a'; ch[1] = 'b'; ch[2] = 'c'; ch[3] = 'f'; ch[4] = 'g'; ch[5] = 'i'

  • Java数组的去重

    目录 数组去重的场景 1.ES6-set 2.利用Map数据结构去重 3. 嵌套循环+splice 4. forEach + indexOf 总结 数组去重的场景 将数组var arr =[1,1,'true','true',true,true,66,66,false,false,undefined,undefined, null,null, NaN, NaN, 0, 0, 'a', 'a',{},{}]中重复的值过滤掉 1.ES6-set 使用ES6中的set是最简单的去重方法 <script

  • Java数组实现动态初始化的实例详解

    概念 1.数组动态初始化只给定数组长度,系统默认初始化值. 2.格式 数据类型[] 数组名 = new 数据类型[数组长度]; int[] arr = new int[3]; 实例 package com.itheima.array; public class Demo2Array { /* 数组的动态初始化: 在初始化的时候, 需要手动指定数组的长度, 系统会为数组容器分配初始值. 动态初始化格式: 数据类型[] 数组名 = new 数据类型[数组的长度]; 注意: 打印数组变量的时候, 会打

  • 详解Java数组的四种拷贝方式

    目录 深拷贝与浅拷贝的区别 1.for循环进行拷贝 拷贝数值类型 拷贝引用类型 2.copyof/copyOfRange 拷贝数值类型 拷贝引用类型 3.arraycopy 拷贝数值类型 拷贝引用类型 4.clone 拷贝数值类型 拷贝引用类型 5.总结 深拷贝与浅拷贝的区别 假设现在有原数组A以及拷贝后的数组B,若是改变A中的某一个值,B数组随之相应的发生变化的拷贝方式称为浅拷贝,反之B数组不受影响,则称为深拷贝:简单总结一下两者的概念: 深拷贝:拷贝后,修改原数组,不会影响到新数组: 浅拷贝

  • Java十分钟掌握数组与常见异常

    数组的定义 1:单个变量能存储信息 2:用来存储具有相同数据类型的数据集合,可以使用共同的名字来引用数组中存储的数据. 特点 数组可以存储任何类型的数据,包括原始数据类型和引用数据类型,但是一旦指定了数组的类型之后,就只能用来存储指定类型的数据. 数组的使用 声明一个数组变量来存放该数组 语法 数据类型 [] 数组名 数据类型 数组名[] //声明一个int类型 名为 numebr 的数组 int [] number; int number []; //以上两种方法都可以 创建一个新的数组对象并

  • Java基础知识精通数组的使用

    目录 1.数组 2.数组定义格式 3.访问数组 4.遍历数组 前言:本文章正式踏入数组部分,今天来讲一下数组. 1.数组 数组是一组数据结构,用来储存一组相同类型值的集合. 数组就是一个容器. 数组就是个引用数据类型. 作用: 用来装数据,方便对数据进行管理操作. 特点: 一旦创建数组,就不能改变长度. 数组里面所有的元素的类型必须是相同数据类型的. 数组中既可以储存基本数据类型,也可以存储引用数据类型. 2.数组定义格式 格式一:元素的数据类型[] 数组的名字 = new 元素的数据类型[元素

  • Java基础知识精通数组的内存分析

    目录 1.数组内存图 2.两个数组的内存图 3.一个变量两个数组容器的内存图 4.两个变量指向一个数组容器的内存图 前言:本文章主要讲解数组的内存图,更好地掌握数组以及数组调用流程,话不多说开讲. 1.数组内存图 1.一个数组的内存图 int[] arr = new int[3]; //刚开始定义数组arr为int型包含三位数字,初始化为0,0,0. arr[0] = 12; //数组arr第一位被赋值12 arr[2] = 14; //数组arr第三位被赋值14 System.out.prin

  • Java基础知识精通二维数组的应用

    目录 1.什么是二维数组 2.定义格式 3.二维数组的使用 4.二维数组的遍历 本文章主要讲二维数组定义,用法. 1.什么是二维数组 在二维数组多个元素为一维数组的数组就称为二维数组 2.定义格式 格式一: 元素的数据类型[][] 数组的名字 = new 元素的数据类型[二维数组的长度][一维数组的长度]: int[][] a = new int[3][2]; 解释: 这个二维数组中还有3个一维数组,每个一维数组中有两个元素. 格式二: 元素的数据类型[][] 数组的名字 = new 元素的数据

  • Java基础知识精通注释与数据类型及常量与变量

    目录 一. 注释 1.简介 2.类型 1.单行注释 2.多行注释 3.文档注释 3.注意事项 二.数据类型 1.简介 2.整型 3.浮点类型 4.char类型 5.boolean类型 三.常量与变量 1.常量 2.变量 一. 注释 1.简介 注释就是一种解释程序的文本,提高代码的可读性,帮助我们查找错误,不会影响程序的运行,不用担心可执行代码变得多. 2.类型 1.单行注释 单行注释是最常用的,格式://注释的内容. 用法如下: package day1; public class Demo01

  • Java基础知识精通块作用域与条件及switch语句

    目录 前言 块作用域 条件语句 格式一 格式二 格式三(常用) switch语句 前言 本文章主要讲解控制流程:块作用域.条件语句.switch语句,篇幅不大,通俗易记. 块作用域 在深入学习控制结构前,须先了解块的作用. 定义:由多条Java语句组成的语句,并用一对大括号括起来. 作用:块确定了变量的作用域,一个块可以嵌套在另一个块上. 实例: package decom1; public class cuowu { public static void main(String[] args)

  • Java基础知识精通各种运算符

    目录 前言 一.算数运算符 1.简介 2.运用 + - * / % 二.自增自减运算符 ++ – 三.赋值运算符 四.关系运算符 五.逻辑运算符 &(单与) | (单或) ^(异或) !(非) &&(双与) || (双或) 六.位运算符 七.三元运算符 前言 本文章主要集中讲解运算符,篇幅较长,请耐心看完绝对通俗易懂. 一.算数运算符 1.简介 再Java中,使用算术运算符 +.-.*./.%分别代表加减乘除,取模. 2.运用 + 在java中+有三种:1.正常的运算.2.作为正负

  • Java基础知识精通循环结构与break及continue

    目录 前言 for循环(常用) 1.格式 2.控制流程 3.注释 while循环(常用) 1.格式 2.执行流程 do…while循环 执行流程 区别 break与continue用法 break continue 循环嵌套 前言 本文章主要讲解剩余的控制结构:for循环.while循环,话不多说直接开讲. for循环(常用) for循环是支持迭代的一种通用结构,由一个计数器换或类似的变量控制迭代次数,每次迭代后这个变量会更新.详情见实例1: 1.格式 for(初始化条件;判断条件;控制条件)

  • Java基础知识汇总

    Java基础知识 1.Java语言的优点: 1)Java是纯面向对象语言 2)与平台无关性,一次编译到处运行 3)Java提供了狠多内置类库 4)提供了对web应用的支持 5)具有较好的安全性(数组边界检测.Bytecode检测)和健壮性(强制型机制.垃圾回收器.异常处理) 6)去除c++难以理解的一些特性(头文件 指针 运算符重载 多重继承) 2.java与c++的异同: 1)Java为解释型语言,c++为编译型语言,java会慢但是跨平台 2)Jave为纯面向对象,c++既面向对象又能面向过

  • java 基础知识之IO总结

    java  基础知识之IO总结     我计划在接下来的几篇文章中快速回顾一下Java,主要是一些基础的JDK相关的内容. 工作后,使用的技术随着项目的变化而变化,时而C#,时而Java,当然还有其他一些零碎的技术.总体而言,C#的使用时间要更长一些,其次是Java.我本身对语言没有什么倾向性,能干活的语言,就是好语言.而且从面向对象的角度来看,我觉得C#和Java对我来说,没什么区别. 这篇文章主要回顾Java中和I/O操作相关的内容,I/O也是编程语言的一个基础特性,Java中的I/O分为两

  • java 基础知识之网络通信(TCP通信、UDP通信、多播以及NIO)总结

    java 基础知识之网路通信总结 在这篇文章里,我们主要讨论如何使用Java实现网络通信,包括TCP通信.UDP通信.多播以及NIO. TCP连接 TCP的基础是Socket,在TCP连接中,我们会使用ServerSocket和Socket,当客户端和服务器建立连接以后,剩下的基本就是对I/O的控制了. 我们先来看一个简单的TCP通信,它分为客户端和服务器端. 客户端代码如下: 简单的TCP客户端 import java.net.*; import java.io.*; public class

随机推荐