Java基础| 数组

目录

目录

一维数组

1.一维数组的声明

声明一个数组就是要确定数组名、数组的维数和数组元素的数据类型。一维数组的声明格式:类型标识符[ ] 数组名。例如:

double[] myList;
float[] name;
double[] score;

2.一维数组的初始化

用new初始化二维数组

用new运算符初始化数组时,只指定数组元素的个数,为数组分配存储空间,并不给数组元素赋初值。用new运算符初始化数组的格式是:数组名 = new 类型标识符[元素个数]或者是类型标识符 数组名[] = new 类型标识符[元素个数]。例如:

int[] score;
score = new int[10];

int[] score = new int[10];
赋初值初始化数组

可以在声明数组的同时给数组元素赋初值,所赋初值的个数决定数组元素的数目。赋值的格式是:类型标识符 数组名[] = {赋值表},其中赋值表是用逗号隔开的初始值,例如:

int[] score = {1,2,3,4,5,6,7,8,9};

注意在Java中数组的下标也是从0开始的,即score[0] = 1

多维数组

1.二维数组的声明

二维数组的声明方式与一维数组相似,只是要给出两对方括号。格式是:类型标识符[][] 数组名。举例来说:

int score[][];
int num[][];

2.二维数组的初始化

二维数组的意义是类似于矩阵的行列。它的初始化有两种方式,下面来分别介绍。

用new初始化二维数组

用new运算符初始化二维数组,只指定数组的行数和列数,为数组分配空间而并不为数组元素赋初值。赋值的格式是:数组名 = new 类型标识符[行数][列数];举例来说:

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

int a = new int[3][4];
赋初值初始化数组

可以在声明数组的同时给数组元素赋初值,所赋初值的个数决定数组元素的数目。赋值的格式是:类型标识符 数组名[][] ={ {赋值表},{赋值表},{赋值表}......},其中赋值表是用逗号隔开的初始值,例如:

int grade[][] = {{1,2,3},{4,5,6},{7,8,9}};
/*该二维数组的初始值是分为4组,所以是由4行元素;由于每一组中是有3个元素
所以该数组是有3列*/

数组的基本操作

1.数组的复制

如果要将一个数组的所有元素复制到另一个数组,则可以通过循环语句对逐个元素进行赋值,也可以直接将一个数组赋给另一个数组。

public class Test{
    public static void main(String args[]){
      int[] a = {1,2,3,4,5};
      int[] b = new int[5];
      for(int i=0;i<5;i++){
          b[i]=a[i];
      }
    }
}

2.数组的输出

数组的输出通常也是使用循环来使得逐个元素进行输出,例如:

public class Test{
    public static void main(String args[]){
      int[] a = {1,2,3,4,5};
      for(int i=0;i<5;i++){
          System.out.println(a[i]);
      }
    }
}

数组参数

在Java中是允许方法的参数是数组。但是在使用数组参数时,需要注意以下事项:
(1)在形参表,数组名后面的括号不能够省略,但不需要给出数组元素的个数。
(2)在实参中,数组名后面不需要括号。
(3)数组做参数时,传递的是地址而不是值。

//求平均值
public class Test{
    static float arrayAverage(int[] d){
        float average = 0;
        for(int i=0;i<d.length;i++){
            average = average+d[i];
        }
        average = average/d.length;
        return average;
    }

    public static void main(String args[]){
        int[] a = {1,2,3,4,5};
        System.out.println(arrayAverage(a));
    }
}

字符串

1.创建字符串

字符串变量是String类的对象。如果要使用字符串变量,可以使用String类来实现。声明字符串变量的格式String 变量名;而初始化字符串变量的格式是:变量名 = new String(" ");,例如:

String s;
s = new String("China");

字符串在声明完之后也可以直接赋值,例如:

String s;
s = "China";

2.字符串操作

访问字符串

在String类中有很多成员方法,下面来介绍一些常用的方法。

(1)int length()
length()方法是返回字符串的长度,返回值的数据类型是int。例如:

String s = "Hello";
System.out.println(s.length());  //输出为5

(2)char charAt(int index)
charAt(int index)方法的功能是返回字符串第index个字符,返回类型是char。例如:

String s = "Hello";
System.out.println(s.charAt(0));  //返回的是H

(3)int indexOf(char ch)
indexOf(int ch)方法是返回字符串中字符ch第一次出现的位置,返回类型是int。

String s = "Hello";
System.out.println(s.indexOf(e));  //返回的是1
字符串比较

在Java中字符串的比较是从首字符开始逐个向后比较对应字符,如果发现了一对不同的字符,比较过程结束,该对字符的大小关系便是两个字符串的大小关系。

下面介绍一些用于进行字符串比较的几个常用的成员方法:

(1)equals(Object obj)
方法equals(Object obj)的功能是将该字符串与obj表示的字符串进行比较,如果两种相等返回布尔类型true,否则返回false。

String s = "Hello";
s.equals("hello");  //因为H!=h,所以返回false

(2)compareTo(String str)
compareTo(String str)的方法是将该字符串与str表示的字符串进行大小比较,返回值为int。如果该字符串比str表示的字符串大,返回正值,否则返回负值,相等时返回0。

String s = "Hello";
s.compareTo("hello");  //返回的值为正

3.字符串数组

如果要表示一组字符串,可以通过字符串数组来实现,实现的方法和普通的数组类似。

String[] str = new String[4];
str[0] = "BJ";
str[1] = "SH";
str[2] = "CD";
str[3] = "WH";
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,509评论 6 504
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,806评论 3 394
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,875评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,441评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,488评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,365评论 1 302
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,190评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,062评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,500评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,706评论 3 335
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,834评论 1 347
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,559评论 5 345
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,167评论 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,779评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,912评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,958评论 2 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,779评论 2 354

推荐阅读更多精彩内容