java定义数组_java中数组的三种定义方式_java中数组的定义及使用方法(推荐)…

java定义数组_java中数组的三种定义方式_java中数组的定义及使用方法(推荐)…描述java中数组的三种定义方式java中,数组是一种很常用的工具,今天我们来说说数组怎么定义[java]viewplaincopy/***数组的三种定义方法*1.数组类型[]数组名=new数组类型[数组长度];*2.数组类型[]数组名={数组0,数组1,数组2,数组3,。。。。};*3.数组类型[]数组名=new数组类型[]{数组0,数组1,数组2,。。。};**/p…

大家好,又见面了,我是你们的朋友全栈君。

描述

java中数组的三种定义方式

java中,数组是一种很常用的工具,今天我们来说说数组怎么定义

[java] view plain copy /**

* 数组的三种定义方法

* 1.数组类型[] 数组名=new 数组类型[数组长度];

* 2.数组类型[] 数组名={数组0,数组1,数组2,数组3,。。。。};

* 3.数组类型[] 数组名=new 数组类型[]{数组0,数组1,数组2,。。。};

* */

public class WhatEver {

public static void main(String[] args) {

//第一种 例:

String[] test1 = new String[6];

test1[0] = “数组0”;

test1[1] = “数组1”;

//第二种 例:

String[] test2 = {“数组0”,“数组1”,“数组2”,“。。。。”};

//第三种 例:

String[] test3 = new String[]{“数组0”,“数组1”,“数组2”,“。。。。”};

}

}

4f1237ab99e548b9a3f7c838ec8ebae3.png

java中数组的定义及使用方法

下面小编就为大家带来一篇java中数组的定义及使用方法(推荐)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。

数组:是一组相关变量的集合

数组是一组相关数据的集合,一个数组实际上就是一连串的变量,数组按照使用可以分为一维数组、二维数组、多维数组

数据的有点

不使用数组定义100个整形变量:int i1;int i2;int i3

使用数组定义 int i[100];

数组定义:int i[100];只是一个伪代码,只是表示含义的

一维数组

一维数组可以存放上千万个数据,并且这些数据的类型是完全相同的,

使用java数组,必须经过两个步骤,声明数组和分配内存给该数组,

声明形式一

声明一维数组:数据类型 数组名[]=null;

非配内存给数组:数组名=new 数据类型[长度];

声明形式二

声明一维数组:数据类型 [] 数组名=null;

java数据类型分为两大类

基本数据类型

int、long操作的时候本身就是具体的内容

引用数据类型:数组、类、接口

引用传递的就是一个内存的使用权,一块内存空间,可能有多个人同时使用

事例声明数组

package com.qn.array;

public class Test {

public static void main(String[] args) {

int score[]=null;//声明数组

score=new int[3];//开辟空间,大小为3

}

}

数组的声明格式里,数据类型是数组元素的数据类型,常见的有整形、浮点型、与字符型等

数组名是用来统一这组相同数据类型元素的名称,其命名规则和变量的相同

数组声明后实际上是在栈内存中保存了此数组的名称,结下了是要在堆内存中配置数组所需要的内存,齐产固定是告诉编译器,所声明的数组要存放多少个元素,而new 则是命令编译器根据括号里的长度

基本数据类型偶读有其默认值:int 0;只要是引用数据类型默认值就是null

事例

package com.qn.array;

public class Test {

public static void main(String[] args) {

int score[]=null;//声明数组

score=new int[3];//开辟空间,大小为3

System.out.print(“score[0]=”+score[0]);

System.out.print(“\tscore[1]=”+score[1]);

System.out.print(“\tscore[2]=”+score[2]);

}

}

堆栈内存的解释

数组操作中,在栈内存中保存的永远是数组的名称,只开辟了栈内的空间,数组是永远无法使用的,必须有指向的对内存才可以使用,要想开辟新对内存空间必须使用new关键字,之后就是将对内存的使用权交给对应的栈内存,而且一个堆内存空间可以同时被多个栈内存空间指向,比如一个人可以有多个名字,人就相当于对内存,名字就相当于栈内存

声明数组的同时分配内存空间

声明数组的同时非配内存

数据类型 数组名[]=new 数据类型[个数]

int score[]=new int[10];

声明一个元素个数为10的整形数组score,同时开辟依靠内存空间工期使用

java中,由于整形数据类型占用的空间为4个byte,而整个数组score可保存的元素有10个。所以上例中占用的内存共有4*10=40个字节

数组的访问

数组中元素的表示方法

想要访问数组里的元素可以利用索引来完成,java的数组索引标号由10开始,以一个score[10]的整形数组为例,score[0]代表第一个元素

一直向下,最后一个为score[9]

取得数组的长度

在java中取得数组的长度(也就是数组元素的长度)可以利用数组名称.length完成,

数组名称.length–返回一个int类型的数据

package com.qn.array;

public class Test {

public static void main(String[] args) {

int score[]=null;//声明数组

score=new int[3];//开辟空间,大小为3

System.out.println(score.length);

}

}

6693587346f4edadd25aac94967eea21.png

结果

数组的静态初始化之前的数组,所采用的都是动态初始化,所有的内容在数组声明的时候并不具体的指定,而是以默认值的形式出现

静态初始化是指在数组声明后直接为数组指定s体的内容

如果想要直接在声明的时候给数组赋初始值,可以采用大括号完成,只要在数组的生命格式后面加上初值的赋值即可,

数据类型 数组名 []={初始值0,初始值1,初始值3,。。.。初始值n};

package com.qn.array;

public class Test {

public static void main(String[] args) {

int score[]={1,2,3,4,5,6};//使用静态初始化声明数组

System.out.println(score.length);

}

}

结果

范例求出数组中的最大值和最小值

package com.qn.array;

public class Test {

public static void main(String[] args) {

int score[]={45,12,8,23,89,56};//使用静态初始化声明数组

int max=0;

int min=0;

max=min=score[0];

for (int i = 0; i 《 score.length; i++) {

if(score[i]》max){

max=score[i];

}

if(score[i]

min=score[i];

}

}

System.out.println(“最大值:”+max);

System.out.println(“最小值:”+min);

}

}

结果

范例排序,在操作中排序是比较常用的

从大到小

package com.qn.array;

public class Test {

public static void main(String[] args) {

int score[]={45,12,8,23,89,56};//使用静态初始化声明数组

int temp=0;

for (int i = 0; i 《 score.length; i++) {

for (int j = 0; j 《 score.length-1; j++) {

if(score[i]》score[j]){

temp=score[i];

score[i]=score[j];

score[j]=temp;

}

}

}

for (int i = 0; i 《 score.length; i++) {

System.out.print(score[i]+“\t”);

}

}

}

结果

这个时候不要被i值所迷惑 if(score[i]》score[j]){

这一步主要知识为了比较,实际上完成之后输出的时候是根据j的值排序的

二维数组

如果可以把一维数组当做几何中的一条线图形,那么二维数组就相当于一个表格

A B

1 姓名 年龄

2 齐宁 21

3 齐燕 23

4 齐威 26

二维数组声明的方式和以为数组的类似,内存分配也一样是用new这个关键字

其实声明与分配内存的格式如下

动态初始化

数据类型 数组名[][];

数组名=new 数据类型[行的个数][列的个数];

声明并初始化数组

数据类型 数组名[][]=new 数据类型[行的个数][列的个数];

静态初始化

二维数组的存储

声明二维数组score 同时开辟一段内存空间

int score[][]=new int[4][3];

整体数据score可保存的元素是4*3=12个,在java中,int数据类型所占用的空间为4个字节,因此该整形数组占用的内存共为4*12=48个字节

事例

package com.qn.array;

public class test1 {

public static void main(String[] args) {

int score[][] = new int[4][3];

score[0][1] = 30;

score[1][0] = 31;

score[2][1] = 32;

score[2][2] = 33;

score[3][1] = 34;

score[1][1] = 35;

for (int i = 0; i 《 score.length; i++) {

for (int j = 0; j 《 score[i].length; j++) {

System.out.print(score[i][j]+“\t”);

}

System.out.println(“”);

}

}

}

4ed845a378e16d376b580a14c7d1fa01.png

结果

二维数组静态初始化

用到的时候才会开辟空间,不用的(红色部分)则不开辟空间

多维数组

一般只是用到二维数组

三维数组简单了解

package com.qn.array;

public class test1 {

public static void main(String[] args) {

int score[][][]={

{

{5,1},{6,7}

},

{

{9,4},{8,3}

}

};

System.out.print(score[0][0][0]+“\t”);

System.out.print(score[0][0][1]+“\t”);

System.out.print(score[0][0][0]+“\t”);

System.out.print(score[0][0][1]+“\t”);

System.out.print(score[1][0][0]+“\t”);

System.out.print(score[1][0][1]+“\t”);

System.out.print(score[1][1][0]+“\t”);

System.out.print(score[1][1][1]+“\t”);

}

}

以上这篇java中数组的定义及使用方法(推荐)就是小编分享给大家的全部内容了,希望能给大家一个参考。

打开APP阅读更多精彩内容

点击阅读全文

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/157023.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • windows版TensorFlow最优安装,使用AVX2指令集

    windows版TensorFlow最优安装,使用AVX2指令集通常我们运行TensorFlow会报告如下信息,意思是你的CPU支持AVX2指令集,但TensorFlow的二进制版本没有使用2019-02-1415:44:41.989265:IT:\src\github\tensorflow\tensorflow\core\platform\cpu_feature_guard.cc:141]YourCPUsupportsinstruction…

  • Pycharm2022激活-激活码分享

    (Pycharm2022激活)这是一篇idea技术相关文章,由全栈君为大家提供,主要知识点是关于2021JetBrains全家桶永久激活码的内容https://javaforall.cn/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~0HKLM1UCCY-eyJsaWNlb…

  • mysql和sqlyog安装_MySQL与sqlyog安装教程图文详解[通俗易懂]

    mysql和sqlyog安装_MySQL与sqlyog安装教程图文详解[通俗易懂]1.MySQL1.1MySQL安装mysql-5.5.27-winx64下载(1)欢迎安装(2)协议接受(3)安装模式选择Typical:表示一般常用的组件都会被安装,默认情况下安装到C:ProgramFilesMySQLMySQLServer5.5下。Complete:表示会安装所有的组件。此套件会占用比较大的磁盘空间。Custom:表示用户可以选择要安装的组件,可以更改默认按照的路径…

  • java定时器配置_java定时器实现如何配置?「建议收藏」

    java定时器配置_java定时器实现如何配置?「建议收藏」定时器在一些时候会起到不可忽视的作用,本篇文章我们就来通过一些例子详细了解一下定时器的实现。例1:importjava.util.TimerTask;publicclassTimeTastextendsTimerTask…{//在这里写你要定时执行的方法publicvoidrun()…System.out.println(“HelloWorld!”);}}importj…

  • 如何在matlab中画二元函数的图像,Matlab画怎么画这个二元函数图像「建议收藏」

    如何在matlab中画二元函数的图像,Matlab画怎么画这个二元函数图像「建议收藏」www.mh456.com防采集。二元函数可以用mesh或者surf函数画图。1、首先打开matlab。2、在matlab当前目录空间右键。3、然后点击new->M-File。4、然后将文件命令为hello.m。5、然后双击该文件,输入[Rmdm]=meshgrid(15:5:50,1:10);6、然后添加f=0.034488*(Rm.^1.9400).*(10^-0….

  • 详细设计的工具——PAD图[通俗易懂]

    详细设计的工具——PAD图[通俗易懂]目录一、PAD图的概念二、PAD图的基本符号三、PAD图的优点四、PAD图的应用一、PAD图的概念PAD图(ProblemAnalysisDiagram),由日本日立公司1973年发明以后,已得到一定程度的推广。它用二维树形结构的图来表示程序的控制流,将这种图翻译成程序代码比较容易。它既克服了传统的流程图不能清晰表现程序结构的缺点,又不像N-S图那样受到把全部程序约束在一个方框内的限制,这就是其优势所在。二、PAD图的基本符号(a)顺序;(b)选择;(c)C

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号