博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java数组
阅读量:5111 次
发布时间:2019-06-13

本文共 2391 字,大约阅读时间需要 7 分钟。

---------siwuxie095

   

   

   

   

   

1、数组的定义

   

数组是有序数据的集合,数组中的每个元素具有相同的数组名和下标来做唯一标识

   

   

   

2、数组的分类

   

1)一维数组:最常用

2)二维数组:较常用

3)多维数组:很少使用,不好控制和理解

   

   

   

3、数组的优点

   

不使用数组定义100个整型变量:int i1,int i2,int i3 … int i100;

   

使用数组:int i[100]; (伪代码)

   

   

   

4、数组的声明及内存分配

   

1)声明形式一:type arrayName[];

2)声明形式二:type[] arrayName;

   

为数组分配内存空间,如果不分配内存,将不能访问它的任何元素

   

使用 new 关键字,来为数组分配内存空间(或称为 实例化)

   

   

如果没有初始化,则int类型的默认值为 0,String类型的默认值为 空

   

   

   

5、数组的静态初始化

   

数组初始化分为两种方式:

(1)动态初始化

(2)静态初始化

   

之前创建的数组,采用的方式都是动态初始化,即所有的内容不会具体指定,都是默认值

   

如:int score[]=new int[3];

   

静态初始化是指:在数组创建之初直接指定其内容,没有使用 new 关键字

   

如:int score[]={2,4,5,8};

   

   

   

6、数组的使用

   

如:

   

package com.siwuxie095.array;

   

public class ArrayDemo01 {

   

/**

* int型数组的最大值、最小值

*/

public static void main(String[] args) {

//数组的静态初始化

int score[]={

23,45,65,34,27};

int max,min;

max=min=score[0];

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

if (score[i]>max) {

max=score[i];

}

if (score[i]<min) {

min=score[i];

}

}

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

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

}

   

}

   

运行一览:

   

   

   

再如:

   

package com.siwuxie095.array;

   

public class ArrayDemo02 {

   

/**

* 冒泡排序:

* 当水烧开时,下方产生的气泡向上浮动时,

* 气泡会越来越大,最大值在上面(由来)

*/

public static void main(String[] args) {

//数组的静态初始化

int score[]={

13,32,77,28,69,45,56};

//数组长度要减一,7个数字只需要排序6次即可

//因为只剩下一个数字时就不需要比对了

for (int i = 0; i < score.length-1; i++) {

//双层for循环

for (int j = i+1; j < score.length; j++) {

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

int temp=score[i];

score[i]=score[j];

score[j]=temp;

}

}

 

System.out.print(""+(i+1)+"次排序:");

for (int j = 0; j < score.length; j++) {

System.out.print(score[j]+" ");

}

System.out.println();

 

}

}

   

}

   

运行一览:

   

   

   

   

   

7、二维数组介绍以及使用

   

如果把一维数组看成是线性图形,那么二维数组就是一个平面图形

   

二维数组的声明和一维数组类似,内存分配也是使用 new 关键字

   

声明与分配内存:

声明:type arrayName[][];

初始化:arrayName[][] = new type[行][列];

   

如:

   

package com.siwuxie095.array;

   

   

public class ArrayDemo03 {

   

public static void main(String[] args) {

int score[][]=new int[5][5];

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

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

System.out.print(score[i][j]+" ");

}

System.out.println();

}

}

   

}

   

运行一览:

   

   

   

二维数组静态初始化

type arrayName[][]={

{values},{values},{values}};

   

   

如:

   

   

代码:

   

package com.siwuxie095.array;

   

public class ArrayDemo04 {

   

public static void main(String[] args) {

int score[][]={

{
100,90},{
67,70},{
50,78,80}};

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

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

System.out.print(score[i][j]+" ");

}

System.out.println();

}

}

}

   

运行一览:空出的位置在内存空间中也是空的

   

   

   

   

   

【made by siwuxie095】

转载于:https://www.cnblogs.com/siwuxie095/p/6546042.html

你可能感兴趣的文章
iOS11新特性之导航栏和largeTitle的设置
查看>>
hibernate联合主键不便之处(转)
查看>>
货币体系
查看>>
Makefile
查看>>
net.ipv4.tcp_tw_recycle
查看>>
printf格式控制符的完整格式
查看>>
Java 语法 索引 ----- 异常
查看>>
Rommel - C# 浅谈 接口(Interface)的作用
查看>>
Linux企业级项目实践之网络爬虫(11)——处理http请求头
查看>>
ISV客户博客系列:Windows Azure上的Softlibrary 和 Kern4Cloud
查看>>
Windows Azure-2.5天免费深度技术训练营——面向软件工程师和架构师
查看>>
云与移动有何共同点?
查看>>
【leetcode】Count Primes
查看>>
LTE引理——解决数论竞赛题的利器
查看>>
国外论坛问题集
查看>>
Bek Trak Trik for wireless WPA/WPA2 & SSH & email
查看>>
CMurphi入门笔记(六)——规则,起始状态和不变式
查看>>
[LeetCode] Number of Lines To Write String
查看>>
[LeetCode] Can Place Flowers
查看>>
Leaf——美团点评分布式ID生成系统 UUID & 类snowflake
查看>>