数组

数组的基本概念

所谓的数组就是若干个相同数据类型的元素按一定的顺序排列的集合。在java语言中,数组元素可以由基本数据类型的量组成,也可以由对象组成。

栈内存和堆内存

java语言把内存分为两种,栈内存和堆内存。

  • 堆内存:堆内存用来存放由new运算符创建的数组或对象,在堆中分配的内存,由java的垃圾回收器来自动管理。

  • 栈内存:在堆中创建一个数组或对象后,同时还在栈中定义了一个特殊的变量,在栈中的这个变量的取值等于数组或对象在堆内存中的首地址。

    数组的特点

  • 数组是相同数据类型元素的集合

  • 数组中的各元素是哟先后顺序的,它们在内存中按照这个先后顺序连续存放在一起

  • 数组元素用整个数组的名字和它自己在数字中的顺序位置来表示。

一维数组

一维数组是最简单的数组,其逻辑结构时线性表。使用一维数组需要经过定义初始化应用等过程

一维数组的定义

java一维数组的定义需要三个步奏:

  1. 声明数组
  2. 分配空间
  3. 创建数组元素并赋值

格式:

1
2
3
4
数据类型   数组名;
数组名 = new数据类型[个数];
/*============或者写为==============*/
数据类型[] 数组名 = new 数据类型[个数]

注意“[]”指明变量是一个数组类型变量,java语言可以将“[]”放在数组名前,也可以像C一样,把“[]”放在数组名后边。但与C语言不同,java在定义数组变量时,不为数组元素分配空间,因此“[]”中不用给出数组长度,但必须在为其分配过内存空间后才能使用

说明:数组用new运算符分配内存空间的同时,数组的每个元素都会自动赋一个默认的值:整数为0,实数为0.0,字符为‘\0’,boolean型为false,引用型为null。

多维数组

java语言中并没有真正的多维数组。所谓的多维数组,就是数组元素也是数组

二维数组

二维数组的声明方式与一维数组类似,内存的分配也一样是用new运算符。声明与分配内存的格式如下:

1
2
3
4
数据类型[][]数组名;
数组名 = new数据类型[行数][列数]
/*==================================================================*/
数据类型[][]数组名 = new 数据类型[列数][行数]

与C语言要求二维数组是一个矩阵不同,java语言的二维数组不一定是规则的矩阵

二维数组的定义

如果要创建一个数组,而且该二维数组还是不是规则的矩阵,则需要先建立高层维数

获得二维数组长度的方法

不仅仅是二维,对任意维度的数组若要获得其长度,只需在数组名后加.length属性即可;若要取得数组中某行元素的个数,则必须在数组名后加上下标,再加上.length

1
2
x.length;    //计算数组x的长度
x[0].length;//计算数组x第一行的长度

注意:与一维数组相同,用new运算符来为数组申请内存空间时,很容易在数组各维数的指定中出现错误,二维数组必须要求指定高层维数

注意:和一维数组一样,ava在定义数组变量时,不为数组元素分配空间,因此“[]”中不用给出数组长度,但必须在为其分配过内存空间后才能使用

字符串

字符串的定义

字符串就是一系列字符的序列。在java语言中字符串是用一对双引号(” “)括起来的字符序列

字符串的分类

字符串分为两大类:第一种:在创建后就不能对其进行修改了;第二种:在创建后依然可以对其进行修改

  • 对于不可以进行修改的字符串,在java语言中用String类
  • 对于可以进行修改的字符串,在java语言中用StringBuilder类

字符串常量的建立

  • 字符常量是用(’ ‘)括起来的单个字符
  • 字符串常量是用(“ ”)括起来的字符序列

字符串定义时的格式

第一种

1
2
3
4
String 变量名;
变量名 = new String("字符串");
"================================================================================="
String 变量名 = new String("字符串");

第二种

由于字符串是引用型变量,所以其存储方式与数组的储存方式基本相同

1
str = "hello world";

String类的常用方法

java语言使用String类方法的方法为

1
字符串变量名.方法名();
常用方法 功能说明
public int length() 返回字符串的长度
public boolean equals(Object anObject) 将给定字符串与当前字符串相比较,若两字符串相等,则返回true,否则返回false
public String substring(int beginIndex) 返回字符串中从beginIdex开始到字符串末尾的子串
public String substring(int beginIndex,int endIndex) 返回Index指定位置的字符
public char charAt(int idex) 返回index指定位置的字符
public int idexOf(String str) 返回str在字符串中第一次出现的位置
public int compareTo(String anotherString) 若调用该方法的字符串大于参数字符串,则返回大于0的值;若相等,则返回0;若小于,则返回小于0的数
public String replace(char oldChar,char newChar) 以newChar字符替换字符串中所有oldChar字符
public String trim()
常用方法 功能说明
public String toLowerCase() 将字符串中的所有字符都转换为小写字符
public String toUpperCase() 将字符串中的所有字符都转换为大写字符
Donate
  • Copyright: Copyright is owned by the author. For commercial reprints, please contact the author for authorization. For non-commercial reprints, please indicate the source.

扫一扫,分享到微信

微信分享二维码
  • Copyrights © 2015-2023 dwx
  • Visitors: | Views:

请我喝杯咖啡吧~

支付宝
微信