java是世界上最好的语言之数组

云惠网小编 2022年1月17日07:19:09
评论
5676字阅读18分55秒
摘要

1.数组概述数组是一个最简单的数据结构数组的定义:数组是相同类型数据的有序集合。数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成。其中,每一个数据称作为一个数组元数,每一个数组元数可以通过一个下表来访问他们!2.数组声明创建首先必须声明数组变量,才能在程序中使用数组。下面是声明数组变量的语法:变量类型 变量的名字 =变量的值数组类型 比如int[]dateType[]arrayRefVar;//首选的方法或dateType ar…

广告也精彩

2: 静态初始化
数据类型 [ ][ ]   数组名 = {{元素1,元素2....},{元素1,元素2....},{元素1,元素2....}.....};

6.Arrays类(关于数组的工具类)

5.多维数组

public class java1 {
public static void main(String[] args) {
int[] nums = new int[5];
nums[0] = 1;
nums[1] = 6;
nums[2] = 55;
nums[3] = 15;
nums[4] = 45;
System.out.println(Arrays.toString(nums));
Arrays.sort(nums);
System.out.println(Arrays.toString(nums));
}
}

 

3.二分查找

(初始化时由程序猿显示指定每个数组元素的初始值,由系统决定数组的长度)

数组的使用具体介绍

数组是相同类型数据的有序集合。

数组的定义:


public static void main(String[] args) {
int[] nums;//1,声明一个数组
nums=new int[10];//2,创建一个数组
//3,给数组中元素赋值
nums[0]=1;
nums[1]=2;
nums[2]=3;
nums[3]=4;
nums[4]=5;
nums[5]=6;
nums[6]=7;
nums[7]=8;
nums[8]=9;
nums[9]=10;
System.out.println(nums[0]);
//4,计算所有元素的和
int sum =0;
for (int i=0;i<nums.length;i++)
{
sum =sum+nums[i];
}
System.out.println("总和为:"+sum);
}

四个基本特点

public static void main (String[] args){
int [] a=new int[2];
System.out.println(a[2]);
}

当我们想把数组修改一下,然后返回一个新的数组的时候使用!

我们要从数组里取出一些数据或者下标进行操作时使用

dateType[]arrayRefVar;//首选的方法
或dateType array RefVar[];//效果相同,但不是首选的方法

在数组中查找指定元素并返回其下标

数组可以做参数传递给方法。

3.二分查找

    int []arr = {10,20,30,40,50};
System.out.println(Arrays.binarySearch(arr, 0,3,40));
//输出:-4 (从0到3位(不包括)找40,找不到,从-1开始数,返回-4)

内存结构:

2.数组声明创建

4.数组使用

而可以对数据对象进行一些基本的操作。

1: 动态初始化
数据类型 数组名 [ ][ ] = new 数据类型[m][n]
数据类型 [ ][ ]  数组名 = new 数据类型[m][n]
数据类型 [ ]   数组名 [ ] = new 数据类型[m][n]

2.动态初始化

声明与创建:

int [] a=new int[2]
a[0]=1;
a[1]=2;

[下面我们来声明一个数组并创建一个数组,然后引用数组元素并求元素的和]

记住就行,操作固定!

基本格式:

两种初始化方法:

3.数组的默认初始化

内存结构:

3.数组中的元素可以是任何数据类型,包括基本类型和引用类型。

数组类型 比如:int[],是存储整数型的数组。

数组作返回值

                                                                                                                                           

二者区别跟一维数组的动态初始化和静态初始化相同,详见上方!

而且Arrays类中的方法都是static修饰的静态方法,在使用的时候可以直接使用类名进行调用!

3.数组的默认初始化

Java 8 中文版 - 在线API中文手册 - 码工具 

For-Each循环(即增强for循环)

4.元素填充

4.数组使用

  public static void main(String[] args) {
int[]arrays ={1,2,3,4,5};
//JDK1.5,没有下标
for (int array : arrays) {
System.out.println(array);
}
}
    int[] arr = new int[5];//新建一个大小为5的数组
Arrays.fill(arr,4);//给所有值赋值4
String str = Arrays.toString(arr); // Arrays类的toString()方法能将数组中的内容全部打印出来
System.out.print(str);
//输出:[4, 4, 4, 4, 4]

数组的一些基本使用:

2.其元素必须是相同类型,不允许出现混合类型。

获取二维数组长度:

声明与创建:

3数组创建的底层原理之三种初始化及内存分析:

就是咱们可以对数组进行操作

下标的合法区间:【0,length-1】,如果越界就会报错;

 

而"不用"使用对象来调用(注意:是"不用" 而不是 "不能")

目录

 如果数组包含多个带有指定值的元素,则无法保证找到的是哪一个。

举例:int [ ][ ]  arr=new  int [5][3];  也可以理解为“5行3例”

1.数组概述

数组本身就是对象,java中对象是在堆中的,因此数组无论保存原始类型还是其他对象类型,数组对象本身就是在堆中的

多维数组可以看成是数组的数组,比如二维数组就是一个特殊的一个一维数组.

1.打印数组

数组值arr[x][y]表示指定的是第x行第y列的值。
在使用二维数组对象时,注意length所代表的长度。
数组名后直接加上length(如arr.length),所指的是有几行(Row)。

(包含默认初始化)

(创建+赋值:即创建数组的时候就要给数据!)

变量类型 变量的名字 =变量的值

2.动态初始化

	int[] arr = {10,20,30,40,50};
System.out.println(Arrays.binarySearch(arr, 30));
//输出:2 (下标索引值从0开始)
dateType[]arrayRefVar =new dateType[arraySize];

Arrays.fill(); //填充数组

 

数组是引用类型,它的元素相当于类的实例变量,因此数组一经分配空间,其中的每个元素也被按照实例变量同样的方式被隐式初始化。

4.内存分析

一般用来打印一些结果时使用

进阶使用:

注意:使用二分搜索法来搜索指定的数组,以获得指定的值。必须在进行此调用之前对数组进行排序(通过sort方法等)。如果没有对数组进行排序,则结果是不确定的。

括号里的内容也是动态初始化和静态初始化的区别!


二维数组

1.给数组赋值:通过 fifill 方法。

数组作方法入参

数组边界

4.查找数组元素:通过 binarySearch 方法能对排序好的数组进行二分查找法操作。

3.比较数组:通过 equals 方法比较数组中元素值是否相等。

两种初始化方法:

指定索引后加上length(如arr[0].length),指的是该行所拥有的元素,也就是列(Column)数目。

    public static void main(String[] args) {
int[] arrays ={1,2,3,4,5};
//打印全部的数组元素
for(int i=0;i< arrays.length;i++){
System.out.println(arrays[i]);
}
System.out.println("========");
//计算所有元素的和
int sum=0;
for(int i=0;i<arrays.length;i++){
sum+=arrays[i];
}
System.out.println("sum"+sum);
System.out.println("============");
//查找最大元素
int max=arrays[0];
for(int i=1;i< arrays.length;i++)
if(arrays[i]>max){
max=arrays[i];
}
System.out.println("max"+max);
}

运行结果为:

二维数组

1.打印数组

2.数组声明创建

	int []arr = {10,20,30,40,50};
System.out.println(Arrays.binarySearch(arr, 0,3,30));
//输出:2 (从0到3位(不包括)找30,找到了,在第2位,返回2)

java语言使用new操作符来创建数组,语法如下:

5.多维数组

int a[][]=new int[2][5];

数组的一些基本使用:

 因为二维数组只有两个下标都知道才能定位具体位置!所以后面两个数!

数组作方法入参

其中,每一个数据称作为一个数组元数,每一个数组元数可以通过一个下表来访问他们!

数组边界

1.静态初始化

数组的使用具体介绍

2.数组也是对象。数组元素相当于对象的成员变量。

arrays.length

数组的定义:

public static void main(String[]args){
int [][] arr=new int[][]{{4,5,6,8},{2,3},{1,6,9}};
System.out.println(arr.length);//输出行数
System.out.println(arr[0].length);//输出列数
}

(默认赋值:int型默认值为0,string型默认值为null(空))

大家好,我是躺在床上混子日的躺平哥,今天我们来学习java中的数组,希望给位大佬多多指教!

具有一下常用功能:

3.数组长度是确定的,不可变的。如果越界,则会报上方的红色语句!

4.内存分析

	int[] arr = new int[5];//新建一个大小为5的数组
Arrays.fill(arr, 2,4,6);//给第2位(0开始)到第4位(不包括)赋值6
String str = Arrays.toString(arr); // Arrays类的toString()方法能将数组中的内容全部打印出来
System.out.print(str);
//输出:[0, 0, 6, 6, 0]

4.元素填充

静态初始化可用于不规则二维数组的初始化

在使用数组前要先掌握数组的四个基本特点

下面的图比较容易理解 

数组作返回值

普通的for循环(用的最多)

数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成。

 小结:

	int[] arr = {10,20,30,40,50};
System.out.println(Arrays.binarySearch(arr, 36));
//输出:-4 (找不到元素,返回-x,从-1开始数,如题,返回-4)

举例:int [ ][ ]  arr={{22,15,32,20,18},{12,21,25,19,33},{14,58,34,24,66},};

1.数组是相同数据类型(数组类型可以为任意类型)的有序集合。

数组的元素是通过索引访问的,数组索引从0开始。比如a[0],a[1],a[2],a[3],a[4],a[5] 这0,1,2,3,4,5,就是索引!

 java.util.Arrays 类能方便地操作数组. 使用之前需要导包!

例如:

1.其长度是确定的。数组一旦被创建,他的大小就是不可以改变的。

2.对数组排序:通过 sort 方法,按升序。

基本格式:

数组(Array),是多个相同类型数据按一定顺序排列的集合,并使用一个名字命名,并通过编号的方式对这些数据进行统一管理。

(动态初始化就是在初始化的时候指定数组长度(这时已经分配内存))

1.静态初始化

2.数组排序

public static void sort(int[] a) :对指定的 int 型数组按数字升序进行排序。

想一下我们之前是不是学过scanner类,他是接收键盘输入的一个类,而Arrays类是操作数组的类。说白了java的学习就是在学习一个又一个的类!

进阶使用:

6.Arrays类(关于数组的工具类)

四个基本特点

4.数组变量属于引用类型,数组也可以看成是对象,数组中的每个元素相当于该对象的成员变量

int[] a={1,2,3};
Man[] mans ={new Man(1,1),new Man(2,2)};
public class java1 {
public static void main(String[] args) {
int[] nums = new int[5];
nums[0] = 1;
nums[1] = 2;
nums[2] = 3;
nums[3] = 4;
nums[4] = 5;
System.out.println(Arrays.toString(nums));
}
}

由于数组对象本身并没有什么方法可以供我们调用,但API中提供了一个工具类Arrays供我们使用,从

数组的概述:

3数组创建的底层原理之三种初始化及内存分析:

获取二维数组长度:

//打印数组元素
public static void printArray(int[] array) {
for (int i = 0; i < array.length; i++) {
System.out.print(array[i] + " ");
}
}

return后的是返回值

首先必须声明数组变量,才能在程序中使用数组。下面是声明数组变量的语法:

1.数组概述及定义

2.数组排序

数组一定是排好序的,否则会出错。找到元素,只会返回最后一个位置

Arrays.binarySearch(); //二分查找法找指定元素的索引值(下标)

数组是一个最简单的数据结构。

//反转数组
public static int[] reverse(int[] arrays) {
int[] result = new int[arrays.length];
//反转操作
for (int i = 0, j = result.length - 1; i < arrays.length; i++, j--) {
result[j] = arrays[i];
}
return result;
}

获取数组长度操作:

本文转自 https://blog.csdn.net/yiuiukk/article/details/122494732

腾讯云618
云惠网小编
SpringCloud -- Config、Bus解析 java

SpringCloud — Config、Bus解析

1、Config1.1、概述简介1. 分布式面临的问题微服务意味着要将单体应用中的业务拆分成一个个子服务,每个服务的粒度相对较小,因此系统中会出现大量的服务。由于每个服务都需要必要...
Java数据结构-了解复杂度 java

Java数据结构-了解复杂度

2.实例分析与计算  四.写在最后  // 计算斐波那契递归fibonacci的时间复杂度 int fibonacci(int N) { return N < 2 ? N : fibonacci...
Java数据结构-认识顺序表 java

Java数据结构-认识顺序表

目录二.顺序表1.概念及结构2.顺序表的实现打印顺序表获取顺序表的有效长度在pos位置新增元素判断是否包含某个元素查找某个元素对应的位置获取/查找pos位置的元素给pos位置的元素...
腾讯云618

发表评论