数组是具有相同类型的一组数据的集合。例如,球类的集合——足球、篮球、乒乓球等;在程序设计中,可以将这些集合称之为数组。数组中的每个元素具有相同的数据类型。在Java中同样将数组看做是一个对象,虽然基本数据类型不是对象,但是由基本数据类型组成的数组却是对象。一维数组实质上是一组相同类型数据的线性集合,当在程序中需要处理一组数据,或者传递一组数据时,可以用这种类型的数据。
####1. 创建一维数组
数组作为对象允许使用new关键字进行内存分配。在使用数组之前,必须首先定义数组变量所属的类型。一维数组的创建有两种形式。

a. 先声明,再用new运算符进行内存分配

声明一维数组有以下两种方式:

数组元素类型 数组名字[];
数组元素类型[] 数组名字;

数组元素类型决定了数组的数据类型。它可以是Java中任意的数据类型,包括简单类型和组合类型。数组名字为一个合法的标识符,符号“[ ]”指明该变量是一个数组类型变量。单个"[ ]"表示要创建的数组是一个一维数组。

int arr[]; //声明是int型数组,数组中的每个元素都是int型值
String str[]; //声明String数组,数组中的每个元素都是String型数值

声明数组后,还不能立即访问他的任何元素,因为声明数组只是给出了数组名字和元素的数据类型,要想真正的使用数组,还要为它分配内存空间。在为数组分配空间时必须指明数组的长度,为数组分配内存的语法格式为:

数组名字  = new 数组元素的类型[数组元素的个数];

数组名字:被连接到数组变量的名称。
数组元素的个数:指定数组中的个数,即数组的长度。

使用new关键字分配数组时,必须指定数组元素的类型和数组元素的个数,即数组的长度。

//为数组分配内存
arr = new int[5];

以上代码表示要创建一个有5个元素的整型数组,并且将创建的数组对象赋给引用变量arr,即引用变量arr引用这个数组。如下图所示:

在图中arr为数组名称,方括号“[ ]" 中的值为数组的下标。数组通过下标来区分数组中的不同元素。数组的下标是从0开始的。由于创建的数组arr中有5个元素,因此数组中元素的下标为0~4.
使用new关键字为数组分配内存时,整型数组中各个元素的初始值都为0。
#####2. 声明的同时为数组分配内存
这种创建数组的方法是将数组的声明和内存的分配合在一起执行。语法如下所示:

数组元素的类型 数组名 = new 数组元素的类型[数组元素的个数];
//声明并为数组分配内存
int month[ ] =new int[12];

上面代码创建数组month,并指定了数组的长度为12。

####2. 初始化一维数组

数组与基本数据类型一样可以进行初始化操作。数组的初始化操作可分别初始化数组中的每个元素。数组的初始化有以下两种形式:

int arr[]=new int[]{1,2,3,4,5}; //第一种初始化方式
int arr2[] ={12,34,29,22}; //第二种初始化方式

从中可以看出,数组的初始化就是包括大括号之内用都好分开的表达式列表。用括号( , )分割数组中的元素,系统自动为数组分配一定的空间。用第一种初始化方式,将创建5个元素的数组,依次为1、2、3、4、5。第二种初始化方式,会创建4个元素的数组,依次为12、34、29、22。

####3. 使用一维数组
在Java集合中一维数组是常见的一种数据结构。通过使用一维数组来对其进一步了解。

public class Day{//创建类public static void main(String[] args){//主方法//创建并初始化一维数组int day[]=new int[]{31,28,31,30,31,30,31,30,31,31,30,31};//利用for循环将信息输出for(int i=0; i <12;i++){//输出的信息System.out.println((i+1)+"月有"+day[i]+"天");}}
}

运行结果如下:

//声明
int[] a;
int b[];//创建数组对象
a = new int[4];
b = new int[5];//动态初始化:
for(int i=0;i<a.length;i++){a[i]=i*12;
}//静态初始化
int c[]= {23,43,56,78}; //内存中开辟空间的同时赋值;长度是4,索引范围是0~3Car[] cars = {new Car("奔驰"),new Car("宝马"),new Car("奥迪")};Car c2 = new Car("奔驰");//接下来,可以验证上面的两个奔驰是否相等
System.out.println(c2== cars[0]);

我们可以看到一个结果是:false,可以得出是不相等的。

Java字符串就是Unicode字符序列,例如串“Java”就是4个Unicode字符J,a,v,a组成的。Java没有内置的字符串类型,而是在标准的Java类库中提供了一个预定义的类String,每个用双引号括起来的字符串都是String类的一个实例。

public class TestString{public static void main(String[] args){String str = new String("abcd");String str2 = new String("abcd");System.out.println(str.charAt(2));System.out.println(str2.equals(str)); //比较内容是否相等 System.out.println(str2== str);           String str3 = "def";sString str4 = "def"'System.out.println(str3.equals(str4));System.out.println(str3 == str4);       String str6 = "abcd,ede,dede,de,deded";//按逗号进行切割String[] strArray  = str6.split(",");for(i=0;i<strArray.length;i++){System.out.println(strArray[i]);}String str7 = "  aa  bb  ";//去除首尾空格进行计算String str77 = str7.trim();System.out.println(str77.length());  }
}

补充String中的几个方法:

public class TestString{public static void main(String[] args){//忽略大小写的区别System.out.println("Abc".equalsIgnoreCase("abc"));//从左向右进行查找System.out.println("Abcbd".indexOf('b'));//从左向右进行查找,找到最后一个的System.out.println("Abcbd".lastIndexOf('b'));//以什么开始System.out.println("Abcbd".startsWith('Ab'));//以什么结束System.out.println("Abcbd".endsWith('bd'));//转小写System.out.println("Abcbd".toLowerCase());//转大写System.out.println("Abcbd".toUpperCase());}
}

一维数组的创建及使用相关推荐

  1. C语言数组讲解(1)一维数组的创建和初始化。

    目录 一维数组的创建和初始化. 1.1 数组的创建 1.2数组的初始化 1.3 一维数组的使用 1.4 一维数组在内存中的存储 1.5数组名的意义 1.1数组的创建 数组的定义:在C语言中有各种数据类 ...

  2. matlab寻访一维数组,MATLAB 一维数组的创建和寻访

    3.2 一维数组的创建和寻访 3.2.2 一维数组的子数组寻访和赋值 [ * 例 3.2.2 -1 ]子数组的寻访( Address ). rand('state',0) %把均匀分布伪随机发生器置为 ...

  3. MATLAB一维数组的创建与元素提取

    1.一维数组(向量)的创建 1.1直接输入法 从键盘直接输入元素,列与列之间的数据用逗号或空格分隔,行与行之间的数据用分号分隔. #生成列向量* a=[1;2;3] #生成列向量 b=[1,2,3] ...

  4. pandas中series一维数组的创建、索引的更改+索引切片和布尔索引+dataframe二维数组的创建、基本属性、索引方法(传统方法和lociloc)、nan操作、排序+案例

    目录 一.为什么要学习pandas? 二.pandas的常用数据类型 1.series--一维的且带标签的数组 (1)创建一维数组 (2)通过列表形式创建的series带标签数组可以改变索引,传入索引 ...

  5. Matlab之创建等间隔一维数组

    测试算法时,我们会用到的一维数组. 例如:创建一个1~5以0.5为间隔的一维数组,或者创建一个1~5且间隔9个数的一维数组 通常做法: A=1:0.5:5; 使用函数: B=linspace(1,5, ...

  6. 【C语言精讲】——创建数组、使用数组(一维数组、二维数组)

    目录 一.一维数组的创建和初始化 1.1数组的创建 1.2数组的初始化 数组字符串的创建 strlen和sizeof的区别 1.3一维数组的使用 计算数组元素的个数 用指针访问数组(代替下标引用操作符 ...

  7. java正确定义一维数组_java一维数组定义,创建一维数组详解

    前面给大家介绍了一下什么是java数组,下面要接着给大家介绍的就是java一维数组定的定义以及创建一维数组方面的知识. 数组当中的每个元素都只带有一个下标的时候,这样的数组就是一维数组,一维数组实质上 ...

  8. 技术图文:Numpy 一维数组 VS. Pandas Series

    背景 Numpy 提供的最重要的数据结构是 ndarray,它是 Python 中 list 的扩展. Pandas 提供了两种非常重要的数据结构 Series和DataFrame. Numpy 中的 ...

  9. 1.2 一维数组的定义、赋值和初始化

    当数组中每个元素都只带有一个下标时,这种数组就是"一维数组".一维数组(one-dimensional array)实质上是一组相同类型数据的线性集合,是数组中最简单的一种数组. ...

最新文章

  1. ggClusterNet---一条代码完成全内容微生物网络
  2. linux无法运行病毒,{转}为什么linux系统不容易中病毒?
  3. python实现图形旋转_python轻松实现图片旋转
  4. Java的语法格式是什么?有哪些需要注意?
  5. 【解题报告】Leecode 35. 搜索插入位置——Leecode刷题系列
  6. 关键字typedef、关键字using、auto类型说明符和declytpe类型指示符
  7. javascript中基本包装、算数运算符、递增递减运算符、赋值运算符、比较运算符、逻辑运算符、运算符优先级
  8. CSS中调用JS函数和变量
  9. 信用评分卡 (part 3of 7)
  10. 显示器尺寸对照表_电脑显示器尺寸对照表(电脑显示器尺寸一览表)
  11. bodymovin导出没有html5,AE脚本-导出json格式的Web动画工具 Bodymovin v5.7.1 + 使用教程...
  12. A/Btest:组间的差异性检验,统计功效以及反选样本量,附python底层实现代码
  13. Unity实现瞄准镜效果之美
  14. 绝对水题(一些没有被穷举遗忘的角落)
  15. Linux下Mysql启动、关闭、重启指令
  16. 出现Cannot refer to the non-final local variable guoDeGang defined in an enclosing scope
  17. 开源高星精选,10个2022企业级Python测试项目,再不学习今年就没了
  18. ELK技术栈-Logstash的详细使用
  19. 注意力机制——ECANet(Efficient Channel Attention Network)
  20. 【面经】迅游、深科技(长城开发)——C++开发

热门文章

  1. 【优麒麟 UbuntuKylin】他来了他来了!麒麟移动应用环境上线了!
  2. 图片处理系列一Android照片墙应用实现(绝对不崩溃)
  3. 以下c语言程序片段用于估测cpu的cache参数,阿里巴巴笔试题
  4. echarts实现省份地图
  5. java开源bs系统_WCP是一套BS架构的开源知识管理系统、知识库系统。它.PDF
  6. Pregel: A System for Large-Scale Graph Processing
  7. 做网站用空间好还是服务器好,做网站如何选择正确的空间服务器
  8. AD2019网络标号批量改名
  9. Android 忆童年 DVD 待机动画
  10. android 磨砂玻璃效果