JavaSE学习(五):数组及其基础操作

第一 数组

1.1 数组定义

将具有相同数据类型的数据集中再一个容器中,这个容器我们称之为数组。数组也是引用数据类型中的一种。

1.2 数组的声明的方式

1、方式一:

数据类型[] 数组名 = new 数据类型[数组的长度];

2、方式二:

数据类型[] 数组名 = {数值1,数值2...};

3、方式三:

数据类型[] 数组名 = new 数据类型[] {数值1,数值2....};

1.3 Java中的三种注释方式

方式一:单行注释

//   解释当前行代码

方式二:多行注释

/*注释内容*/   解释一段内容

方式三:文档注释

/**注释内容*/   解释当前类的内容

例程:Demo1.java

 1 /**文档注释:
 2  * @author:Kanekiyi
 3  *
 4  * 代码功能:数组声明的三种方式
 5  *
 6  * */
 7
 8 public class Demo1 {
 9     /*
10      * 注释方法二之多行注释
11      */
12     public static void main(String[] args){
13
14         //1、先声明后初始化
15         int[] arr1 = new int[3];
16
17         //2、声明的时候进行初始化操作
18         String[] arr2 = {"期间","  ","www"};
19         int positon = Arrays.binarySearch(arr2, "www");
20
21         System.out.println( positon);   //数组的地址
22
23         //3、将12合起来
24         int[] arr3 = new int[] {1,2,3};   //注意[]内不能有内容
25
26     }
27
28 }

二节 数组的操作

2.1 数组的获取

1:通过数组的下标来访问数组,从0开始,0表示数组中的第一个数据。也就是 数组名[0]表示数组中的第一个数据。

2:通过length属性表示数组的长度

数组名.length 可以获取数组的长度。数组的最后一个元素可以用:

数组名[数组名.length-1]来获取

3:数组的输出

通过函数 Arrays.toString[数组名] 来输出数组

思考:数组大小可以改变吗?

数组的大小一旦确认后就不能改变。如果发生了改变将不是原来的数组地址,会开辟新的空间来指作为创建新的数组地址。

可以通过数组的扩容和缩容来实现改变数组的大小。

2.2 数组的扩容和缩容

调用方法:

Arrays.copyOf(原数组,新的数组长度);

注:数组的扩容或缩容都是再原来的数组的末尾增加或减少数组值。

例程:Demo2

 1 package com.auto.javase;
 2
 3 import java.util.Arrays;
 4 /**
 5  *
 6  * @项目名称:javaSEDay06m
 7  * @模块功能:数组的扩容缩容
 8  * @模块版本:
 9  * @JDKVersions:JDK 8.0
10  * @author:  Kanekiyi
11  * @time: 8月 7   下午1:49:26
12  */
13 public class Demo2 {
14     public static void main (String[] args) {
15
16         //1、通过数组的下标来访问数组数据
17         int[] arr = new int[3];
18         arr[0] = 1;
19         arr[1] = 2;
20         arr[2] = 3;
21         //arr[4] = 6;   //如果超过数组长度会报异常
22         System.out.println("数组的长度"+arr.length);
23
24         //2、通过Arrays.toString(arr)来输出数组值
25         System.out.println( Arrays.toString(arr) );
26
27         //3、数组的扩容
28         arr = Arrays.copyOf ( arr,5 );
29         System.out.println( "数组的地址"+arr);   //数组的地址
30
31         arr[4] = 6;
32         System.out.println("扩容后的数组为"+ Arrays.toString(arr) );
33          //在原来的长度基础上增加长度
34         arr = Arrays.copyOf ( arr,arr.length+8 );
35         arr[8] = 16;
36         System.out.println("扩容后的数组为"+ Arrays.toString(arr) );
37
38         //数组的地址
39         System.out.println( "数组的地址"+arr);
40
41         //4、数组的缩容
42         arr = Arrays.copyOf(arr,arr.length-10);
43         System.out.println("缩容后的数组为"+ Arrays.toString(arr) );
44
45         System.out.println( "数组的地址"+arr);  //数组的地址
46
47         arr = Arrays.copyOf(arr,1);
48         System.out.println("缩容后的数组为"+ Arrays.toString(arr) );
49         System.out.println( "数组的地址"+arr);  //数组的地址
50
51     }
52 }

2.3 数组的默认值

数组中数组的默认值

整数类型:0

浮点类型:0.0

字符类型:\u0000

布尔类型:false

引用数据类型:null

例程:Demo4.java

 1 package com.auto.javase;
 2
 3 import java.util.Arrays;
 4
 5 /**
 6  * 数组中的数据类型的默认值
 7  *
 8  */
 9 public class Demo4 {
10      public static void main(String[] args) {
11     int[] arr1=new int[2];
12     double[] arr2=new double[2];
13     char[] arr3=new char[2];
14     boolean[] arr4=new boolean[2];
15     String[] arr5=new String[2];
16     System.out.println(Arrays.toString(arr1));
17     System.out.println(Arrays.toString(arr2));
18     System.out.println(Arrays.toString(arr3));
19     System.out.println(Arrays.toString(arr4));
20     System.out.println(Arrays.toString(arr5));
21     }
22 }

2.4 数组的遍历

方式一:

普通for循环实现

int[] arr = {...};

for(int i = 0; i<arr.length; i++){

  arr[i];

}

方式二:增强for循环实现

int[] arr = {...};

for(int num:arr){

  num;

}

int:num的数据类型;

num:每遍历一次的数据;

arr:要遍历的数组名称;

例程:Demo4.java

 1 package com.auto.javase;
 2
 3 import java.util.Arrays;
 4 /**
 5  *
 6  * @项目名称:javaSEDay06m
 7  * @模块功能:数组中的数据类型的默认值
 8  * @模块版本:
 9  * @JDKVersions:JDK 8.0
10  * @author:  Kanekiyi
11  * @time:  8月7日  下午1:52:15
12  */
13 public class Demo4 {
14     public static void main (String[] args) {
15
16         //1、通过数组的下标来访问数组数据
17         int arr1[] = new int[] {1,2,3,4};
18
19         for (int i = 0; i<arr1.length; i++) {
20             System.out.println(arr1[i]);
21
22         }
23
24         //2 增强for循环
25         for (int num:arr1) {
26             System.err.println(num);
27         }
28
29     }
30 }

2.5 数组的中的数据交换

方式:通过临时变量来达成二者的交换

例如:交换数组的最后一位与第一位

int[]  arr = {1,2,3,4};

int a = arr[arr.length-1];

arr[arr.length-1] = arr[0];

arr[0] = a;

例程Demo05.java

 1 package com.auto.javase;
 2
 3 import java.util.Arrays;
 4
 5 public class Demo5 {
 6     public static void main (String[] args) {
 7         /**
 8          *
 9          * 数组中的数据的交换,将数组中的最后一个元素与第二个元素进行交换
10          * */
11
12         int[]  arr = {1,2,3,4};
13         System.out.println( Arrays.toString(arr) );
14
15         int a = arr[arr.length-1];      //将最后一个数赋给引入的第三个数
16         arr[arr.length-1] = arr[1];     //将第二个数赋给最后一个数
17         arr[1] = a;                              //将引入的第三个数(原最后一个数)赋给第二个数
18         System.out.println( Arrays.toString(arr) );
19
20
21     }
22 }

练习将数组从正序改为倒序输出:

Text1.java

 1 package com.auto.javase;
 2
 3 import java.util.Arrays;
 4
 5 public class Text1 {
 6     public static void main(String[] args) {
 7
 8         int[]  arr = {1,2,3,4,5,6,7,8,9};
 9         System.out.println( Arrays.toString(arr) );
10
11         for (int i =0; i<arr.length/2; i++) {
12
13             int x = arr[arr.length-i-1];      //将最后一个数赋给引入的第三个数
14             arr[arr.length-i-1] = arr[i];     //将第二个数赋给最后一个数
15             arr[i] =x;
16
17         }
18
19         System.out.println( Arrays.toString(arr) );
20     }
21
22 }

原文地址:https://www.cnblogs.com/Kanekiyi/p/9501120.html

时间: 2024-10-07 13:45:51

JavaSE学习(五):数组及其基础操作的相关文章

【git学习五】git基础之git分支

1.背景 最早用github的时候,我傻傻的问舍友大神,git里面的branch是干什么的,他用了很直白的解释,我至今还记得."branch就是你可以自己建立一个分支,随便乱搞而不影响整个项目".git分支应该是git最nb的特色吧,分支的建立和合并都十分方便. 大体的原理是这样的(图借用progit),比如说我们有一个master,还有一个分支是testing,git用head指针标记哪个分支正在被执行操作. 2.分支管理 首先来说下我们的现有的master,它是一个readme文件

大数据学习之ubuntu的基础操作

时隔两个星期,学习了和复习了大数据的一些基本操作,第一系列是ubuntu的基础! 基础涉及到: 1.virtualBOX的安装和使用 2.FTP工具传输 3.root用户密码设置和vim的安装 4.创建用户并设置权限:这里使用Hadoop用户 5.ssh免密码登入的设置 6.Java环境的安装和配置 7.文件权限的修改和操作 原文地址:https://www.cnblogs.com/R-HLC0401/p/10085690.html

Maya学习笔记第一弹 —— 基础操作

软件: Maya 2016 : 参考教材: Maya 2016 中文版标准教程 ; 改变视图颜色 [窗口]|[设置/首项选择]|[颜色设置]|[3D视图]: 观察视图 旋转视图 Alt + 鼠标左键 : 移动视图 Alt + 鼠标中键 : 推拉视图 Alt + 鼠标右键 / 中键滚动 : 创建物体 [选择建模状态]|[创建]|[多边形基本体]|[球体] 点击后面那个小方格创建可以改变初始参数: 当然,创建完也可以修改 -- 选中物体,然后在右边点击展开 : 转换显示模式 线框模式 -- 数字 4

【Python数组及其基础操作】【Numpy ndarray】

一.创建数组 在python中创建数组最简单的办法就是使用array函数.它接受一切序列型的对象,然后产生一个含有传入数据的numpy数组.其中,嵌套序列(比如由一组等长列表组成的列表)会被转换为一个多维数组. 1.array函数: numpy.array(object, dtype = None, copy = True, order = None, subok = False ,ndmin = 0) object             数组或嵌套的数列 dtype             

Emacs学习心得之 基础操作

1.前言与学习计划2.Emacs基础操作 一. 前言与学习计划 本篇博文记录了Emacs的一些基础操作与概念,相关的阅读如下: (emacs tutorial 中文精简版 )    http://blog.chinaunix.net/uid-24386676-id-119687.html (emacs user's guide)  http://www.cbi.pku.edu.cn/chinese/documents/csdoc/emacs/ (学习Emacs系列教程 )  http://www

关于JS中数组的分析操作

JS数组的基础操作代码: <script type="text/javascript">        数组的三种定义    var arr1 = new Array();     var arr3 = Array(1,2,3.5,4,'5',false);     var arr2 = [1,2,3,4,'5',"aa",true];         var i;     var arr4 = [];    arr4[3] = 12;     arr4

JavaSE入门学习9:Java基础语法之数组

一数组的定义 数组可以理解为是一个巨大的"盒子",里面可以按顺序存放多个类型相同的数据,比如可以定义int型的数组 scores存储4名学生的成绩. 数组中的元素都可以通过下标来访问,下标从0开始.例如,可以通过scores[0]获取数组中的第一个元素76, scores[2]就可以取到第三个元素92. 二操作数组只需要四个步骤: 1声明数组 语法:数据类型[ ] 数组名:或者 数据类型 数组名[ ]: 其中,数组名可以是任意合法的变量名,如: 2分配空间 简单地说,就是指定数组中最多

[java学习笔记]java语言基础概述之数组的定义&amp;常见操作(遍历、排序、查找)&amp;二维数组

1.数组基础 1.什么是数组:           同一类型数据的集合,就是一个容器. 2.数组的好处:           可以自动为数组中的元素从零开始编号,方便操作这些数据. 3.格式:  (一旦创建,必须明确长度)          格式1:              元素类型   [ ]  数组名  =  new  元素类型  [元素个数即数组的长度]:              示例:int[] array = new int[5];          格式2:           

JavaSE入门学习6:Java基础语法之运算符和语句(上)

继续接着上篇:JavaSE入门学习5:Java基础语法(一)来看Java的基础语法. 五运算符 运算符是一种"功能"符号,用以通知Java进行相关的运算.比方.我们须要将变量age的值设置为20.这时候就 须要一个"=",告诉程序须要进行赋值操作. Java 语言中经常使用的运算符可分为例如以下几种:算术运算符,赋值运算符,比較运算符,逻辑运算符,条件运符. (1)算术运算符 算术运算符主要用于进行主要的算术运算.如加法.减法.乘法.除法等. Java 中经常使用的