数组是具有相同类型的一组数据的集合。例如,球类的集合——足球、篮球、乒乓球等;在程序设计中,可以将这些集合称之为数组。数组中的每个元素具有相同的数据类型。在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. 全面剖析Redis Cluster原理和应用 (good)
  2. Android开发--环境的配置
  3. python socket epoll_python 关于epoll的学习
  4. 腾讯 WXG | 技术研究-NLP算法三面复盘
  5. 基于element ui的收起展开检索条件效果
  6. 【机器人】四元数与旋转矩阵的转换关系
  7. Autolisp:利用AuoCAD之Lisp编程案例之智能加工齿轮的演示程序
  8. Ubuntu fatal: 无法访问 ‘https://github.com/xxxxx/xxxxx‘:Failed to connect to github.com port 443: 连接超时
  9. PRML读书会第五章 Neural Networks(神经网络、BP误差后向传播链式求导法则、正则化、卷积网络)...
  10. android自动识别文字,Android文字识别tesseract ocr -训练样本库 识别字库
  11. 用墨刀设计原型,易被忽略的8种玩法。
  12. 如何删除子域信任关系
  13. 未来10年,5个C/C++吃香的细分领域技术
  14. #SORA#celery研究笔记
  15. 硬盘分区丢失的文件数据怎么恢复?
  16. LaTeX中一些常用符号及编写技巧
  17. 邻接矩阵的c语言算法思路,C语言邻接矩阵的实现
  18. 2021-2027全球与中国电子邮件营销自动化工具市场现状及未来发展趋势
  19. 速度环加位置环进行电机控制
  20. Java 评委打分题目

热门文章

  1. PHP实现简易的MVC框架
  2. 关于数加服装ERP软件/系统的功能模块与应用的介绍
  3. OSI与TCP/IP各层的结构与功能
  4. 关于office2013打开后始终显示正在配置问题的解决方案集锦
  5. jsp文字上下居中显示_怎么把jsp的文字居中
  6. docker日常操作
  7. 成都网络推广浅析怎样让网站的文章能够快速收录?
  8. Management By Objectives - MBO - 目标管理
  9. 克33+9爆利拉德阿德32分 马刺24分大胜开拓者
  10. OSS: cURL error: Empty reply from server (52)