我是靠谱客的博主 慈祥马里奥,最近开发中收集的这篇文章主要介绍数组,传递参数1.数组2. 二维数组,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

数组,二维数组,传递参数

  • 1.数组
    • 1.2 数组的基本要素:
    • 1.3 使用数组四步走:
      • 1.3.1静态赋值:边声明边赋值
      • 1.3.2数组的复制和逆序
      • 1.3.3使用System.arraycopy复制数组
  • 2. 二维数组
    • 2.1初始化:
      • 2.1.1动态初始化
      • 2.1.2静态初始化
      • 2.1.3二维数组的遍历
    • 命令行参数:
    • 2.2传递参数
      • 2.2.1使用方法

1.数组

什么是数组:数组是一个变量,存储相同数据类型的一组数据

声明一个变量就是在内存空间划出一块合适的空间
声明一个数组就是在内存空间划出一串连续的空间

1.2 数组的基本要素:

  1. 数组名称:用于区分不同的数组,也叫标识符
  2. 元素类型:数组元素的数据类型
  3. 数组元素:向数组中存放的数据
  4. 元素下标:对数组元素进行编号,数组中的元素通过数组中的下标进行访问,从0开始

1.3 使用数组四步走:

  1. 声明数组: 数据类型【】 数据名; 例如 int[] a;(一般采用)或 int a[];
  2. 分配空间:数据名=new 数据类型【长度】 例如:a=new int[5];
  3. 赋值 :数据名【下标】= 数值; 例如: a[0]=8;
  4. 处理数据: a[0]=a[0]*10; 得到 a[0]= 80;

1.3.1静态赋值:边声明边赋值

数据类型【】 数据名= new 数据类型【】{元素1,•••••,元素n};
数据类型【】 数据名={元素1,•••,元素n};
列如:

     int[] score={88,56,30};
      for(int i=0;i<5;i++){
        a[i]=input.nextInt();
         }

1.3.2数组的复制和逆序

数组的复制使用到克隆方法:使用.clone()的工具
例如:
//复制数组(相当于新建了一个数组),将object 类型强制转换成 int[ ] 类型

  int[] newRand = (int[])rand.clone();

逆序:也是定义了一个新数组
例如:
//要先声明和定义好新数组的长度

for(int i= 0 ;i<score1.length ;i++) {
         newScore2[i]=score1[score.length-i-1];
        }

1.3.3使用System.arraycopy复制数组

  1. System.arraycopy方法
System.arraycopy(from, fromIndex, to, toIndex, count)

from为源数组
fromIndex为源数组起始下标
to为目的数组
toIndex为目的数组起始下标
count为复制的元素个数
例如:

int c[] = {1,2,3,4};
int d[] = new int[4];
System.arraycopy(c, 0, d, 0, 4);

2. 二维数组

二维数组:元素为一维数组的数组
定义:(三种方法)
1. 元素类型 数组名[][]
2. 数据类型[] 数组名[]
3. 元素类型[][] 数组名(推荐使用);
如: int[][] iArray;

2.1初始化:

2.1.1动态初始化

  数据类型[][]数组名=new数据类型[m][n];
      m:表示二维数组中的一维数组个数
      n:表示一维数组中的元素个数

2.1.2静态初始化

数据类型[][] 数组名=new数据类型[][]{{元素…},{元素…},{元素…}};
简化格式
数据类型[][] 数组名={{元素…},{元素…},{元素…}}

2.1.3二维数组的遍历

二维数组在空间上不一定是连续的,且数组的形状可以是任意的。可用二重循环遍历数组,代码片段为:

//在二维数组中,array.length表示的是二维数组的元素个数
 //而array[i].length表示的是二维数组中第i+1个一维数组的元素个数
 
 for (int i = 0; i < array.length; i++) {  
   	for (int j = 0; j < array[i].length; j++) 	{
   		//do some operation on array[i][j]
   	}
   }

命令行参数:

main方法都可以传入参数,这被称为命令行参数。
语法
java 字节码文件 参数1 参数2 参数3

2.2传递参数

Main方法的声明与众不同,它具有String[]类型参数args。很明显的,args是一个字符串数组。main方法就像一个带参数的普通方法。可以通过传递实参来调用一个普通方法。那么问题来了,能给main方法传递参数吗?如果能怎么传递呢?

//在类example5中写了字符串strings传递给example55,调用了example55的main方法
public class examp5 {
public static void main(String[] args) {
     //定义字符串数组
   String[] strings = {"nanjing","beijing","shanghai"};
    //调用example55文件的main函数
    //在方法定义中关键字为static是静态方法,可以直接使用类名调用
   example55.main(strings);
 }
}

//类example55中的源文件
public class example55 {
public static void main(String[] args) {
   //字符串数组的遍历
  for (int i = 0; i < args.length; i++) {
   System.out.println(args[i]);
   }
}

2.2.1使用方法

向main方法传递字符串,运行程序时,可以从命令行给main方法传递字符串参数。
先编译example55.java文件得到example55.class文件
在这里插入图片描述在执行example55.class文件,但是提醒我找不到文件。是因为在windows系统中不能识别eclipse软件中的包
在这里插入图片描述
在这里插入图片描述把这个包删了就可使用
如:
在这里插入图片描述

最后

以上就是慈祥马里奥为你收集整理的数组,传递参数1.数组2. 二维数组的全部内容,希望文章能够帮你解决数组,传递参数1.数组2. 二维数组所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(53)

评论列表共有 0 条评论

立即
投稿
返回
顶部