本文目标:学习使用数组

一、什么是数组

是一个可以存放多个同一类型的数据容器。

例如:int类型数组只能存int类型、String类型只能存String




java double数组 json java json数组怎么赋值_java double数组 json


二、数组的特点

上面阐述数组是一个容器,问题来了?

1.怎么知道某个元素在数组位于那个位置--------通过下标来数

2.数组到底可以存多少个?---------可以声明数组的长度

1.数组的下标:从0开始


java double数组 json java json数组怎么赋值_java double数组 json_02


2.数组的长度一旦声明,则不可更改

三、数组的声明

数组有两种声明方式:分别是静态初始化和动态初始化

1.静态初始化:

数组里面的每个下标对应的位置都存放了元素

于是我们知道了:

-----数组的长度

-----数组里面每个具体元素

格式:

数据类型  数组名[]=new 数组名[]{元素1,元素2,元素3};可以简写成如下:数据类型  数组名[]={元素1,元素2,元素3};

例如:

int arr1[]={12,34,45,56};//这是数组1String arr2={"盖伦","赵信"};//这是数组2

通过观察静态声明数组,发现:

数组长度看得到,上面数组1长度为4,数组2长度为2

数组里面每个具体的值都知道,例如:

数组1下标为0的位置,存的值是12

数组2下标为1的位置,存的值是"赵信"

2.动态初始化:

创建数组的时候,只声明了数组的长度,但是里面具体的每个下标位置都是空的。

我们只能知道:数组的长度

格式:

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

例如:

//声明一个int类型 长度为5的数组int arr1[]=new int[5]//声明一个double类型长度为3的数组double arr2[]=new double[5];

四、数组的访问和遍历

上面,我们知道如何去创建数组了,下面我们演示如何访问数组

格式:

数组名[下标值]

列如

//访问的是下标值为2,的元素  //别忘了,下标从0开始数arr1[2]

示例代码1:

public class ArrayDemo1 {public static void main(String[] args) {//1.创建个数组--有数据String arr1[]={"上海","成都","广州"};//2.访问数组-赋值String city=arr1[1];//3.输出结果System.out.println(city);//成都}}

这样一个个下标去访问,效率比较慢,我们可以结合前面的循环来访问数组:

public class ArrayDemo2 {public static void main(String[] args) {//1.准备数组String arr1[]={"上海","成都","广州"};//2.循环遍历for (int i = 0; i < arr1.length; i++) {//3.循环输出每次访问的结果System.out.println(arr1[i]);}}}

五、数组的求和、最值

求{12,34,45,56}的和与最小值

//求和的程序public class ArrayDemo3 {public static void main(String[] args) {//1.准备数组、和int arr1[]={12,34,45,56};int sum=0;//2.开始遍历-依次取出--累加for (int i = 0; i < arr1.length; i++) {sum+=arr1[i];}//3.输出结果System.out.println(sum);}}

求最小值的程序

public class ArrayDemo4 {public static void main(String[] args) {//1.准备数组--设最小值为数组下标第0位int arr1[]={12,34,45,56};int min=arr1[0];//2.遍历依次取出 与最小值比--小的赋值给最小值for (int i = 0; i < arr1.length; i++) {if(min>arr1[i]){min=arr1[i];}}//3.输出结果System.out.println(min);}}

六、数组的排序

准备一堆数字:{23,12,3,45}

排序:从小到大排(正序)、从大到小排 (倒叙)

排序步骤:正序

1.导包------import   java.util.Arrays;2.调方法-----Arrays.sort(数组名)3.遍历数组

实现代码:

import java.util.Arrays;public class ArrayDemo5 {public static void main(String[] args) {//1.准备数组int arr1[]={12,34,45,56};//3.调用方法Arrays.sort(arr1);//4.遍历数组for (int i = 0; i < arr1.length; i++) {//5.依次输出System.out.println(arr1[i]);}}}

效果:


java double数组 json java json数组怎么赋值_数组_03


七、冒泡排序实现

冒泡排序的特点:

1. 从左到右,两两相比,如果前面比后面大,则互相交换位置

2. 每趟找出最高值

图解:


java double数组 json java json数组怎么赋值_System_04


实现代码:

int arr[] = {2, 15, 112, 34, 156, 98};//1.for循环趟数  for (int i = 0; i < arr.length-1; i++) {//2.for循环 每趟比较几次for (int j = 0; j < arr.length-1-i; j++) {//3.如果比后面大  则交换位置if(arr[j]>arr[j+1]){//4.换值int temp=arr[j];arr[j]=arr[j+1];arr[j+1]=temp;}}//5.输出排序后的数组}for (int j = 0; j < arr.length; j++) {System.out.println(arr[j]);}

八.往期推荐

  • 自学JAVA第1天
  • 自学JAVA第2天
  • 自学JAVA第3天
  • 自学JAVA第4天
  • 自学java第5天
  • 自学java第6天
  • 自学java第7天:循环的一些练习