博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
对数组的初步学习
阅读量:3967 次
发布时间:2019-05-24

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

数组

数组是表示多个相同类型变量的集合(在一个数组中所存放的所有元素的类型必须一致),可以使用共同的名字引用它,属于复杂数据类型.Java数组是固定的不能扩展数组是存放在堆中的,所以在声明数组时,需要定义数组的长度,即在堆中开辟出一个空间【数组的长度一旦声明,不能修改;如果需要修改则需要自行编程实现,这里实际是新创建一个数组,长度是修改后的长度,也就是说替换之前的数组】

数组的声明格式:

(1.)类型[] 变量名

(2.)类型 变量名 []

数组的赋值:

(1.)动态赋值过程:真正的含义是需要先去申请一个堆空间。然后对堆空间中的内容进行一个一个赋值的过程

类型[]  变量名  =  new  类型[容量]

(2.)静态赋值过程

类型[]  变量名  ={};

(3.)动静混合赋值过程:

类型[]  变量名  = new  类型[容量];			变量名      =   new   类型{};

数组的初始化

数组中的元素可以通过下标进行访问,访问的语法为: 数据变量的名称[下标]

数组中的所有元素将被初始化为零。数组的下标是从0开始的,除过数据库是从1开始,其余都是从0开始;

就对于一维数组而言:

定义了数组之后,即开辟了堆中的空间后 ,即不赋初值,但是数组中默认为0;也就是说现在输出一下数组。显示的不为null而是0

对数组的操作

(1.)定位

(2.)求长

(3.)替换

二维数组

定义:以一维数组为元素的一维数组

声明格式:

(1.)类型 【】 【】 变量名 	(2.)类型   变量名 【】 【】

小练习

1.)数组的反转

package cutestFox01;//数组的反转import java.util.Arrays;public class Test009 {	public static void main(String[] args) {		int[] array = {1,2,3,4,5,6,7,85,78,17,171,8,9};		for(int i=0;i

(2.)定义一个二维数组,对其里面的值按从大到小的格式输出

package cutestFox01;import java.util.Arrays;public class Test013 {	public static void main(String[] args) {		int arrays[][] = { { 1, 2, 3, 4, 5, 6 }, { 6, 5, 4, 7, 1, 46 }, { 1, 1, 1, 1, 1 }, { 0 }, { 1 },				{ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }, { 100, 1 }, { 1, 1, 1, 1, 1, 10000000 } };		for (int i = 0; i < arrays.length; i++) {			for (int j = 0; j < arrays.length; j++) {				int sumI = 0;				int sumJ = 0;				for (int m = 0; m < arrays[i].length; m++) {					sumI += arrays[i][m];				}				for (int m = 0; m < arrays[j].length; m++) {					sumJ += arrays[j][m];				}				if (sumI > sumJ) {					int[] temp = arrays[i];					arrays[i] = arrays[j];					arrays[j] = temp;				}			}		} 		for (int i = 0; i < arrays.length; i++) {			for (int j = 0; j < arrays[i].length; j++) {				System.out.print(arrays[i][j] + " ");			}			System.out.println();		}	}}

(3.)利用二维数组 实现关灯小游戏

package cutestFox01;import java.util.Scanner;//关灯public class Test014 {	public static void main(String[] args) {		int [][] arrays = {				{0,0,1,0,0},				{0,1,1,1,0},				{0,0,1,0,0},				{0,0,0,0,0},		};					for(int i=0;i
=0) { arrays[r-1][c] = 1-arrays[r-1][c]; }if(r+1
=0) { arrays[r][c-1] = 1-arrays[r][c-1]; }if(c+1

转载地址:http://tgcki.baihongyu.com/

你可能感兴趣的文章
Android&nbsp;Sensor传感器系统架构初探
查看>>
Android&nbsp;Sensor传感器系统架构初探
查看>>
Sensor传感器源码的阅读与应用开发…
查看>>
Sensor传感器源码的阅读与应用开发…
查看>>
Android传感器编程入门
查看>>
Android传感器编程入门
查看>>
Android的传感器HAL层的书写---基…
查看>>
Linux下android内核编译
查看>>
emulator使用方法
查看>>
emulator使用方法
查看>>
C&nbsp;语言&nbsp;undefined&nbsp;reference&nbsp;to&nbsp;&#039;s…
查看>>
动态链接库
查看>>
工作队列的初始化(INIT_WORK的参…
查看>>
生成和使用动态链接库和静态链接库…
查看>>
linux工作队列(转)
查看>>
工作队列的初始化(INIT_WORK的参…
查看>>
sysfs&nbsp;and&nbsp;/proc/bus/usb/device
查看>>
linux工作队列(转)
查看>>
跟我一起写udev规则(译)
查看>>
sysfs&nbsp;and&nbsp;/proc/bus/usb/device
查看>>