day 4 自闭的一天

数组概述

数组的概念:用来保存一组具有相同数据类型的数据的一种存储结构。

注意:数组也是一种数据类型,数组类型,属于引用数据类型

数组的定义语法:

1、 数据类型[ ] 数组名=new 数据类型[数组中存储数据个数];-----推荐使用该语法

2、 数据类型 数组名[ ]=new 数据类型[数组中存储数据个数];

获取数组的长度:数组名.length

获取数组元素:数组名[下标 ]

3、 数据类型[] 数组名={值1,值2,…值n};

4、 数据类型[] 数组名=new 数据类型[]{值1,值2,…值n};

数组原理内存图

内存概述

内存是计算机中的重要原件,临时存储区域,作用是运行程序。我们编写的程序是存放在硬盘中的,在硬盘中的程序是不会运行的,必须放进内存中才能运行,运行完毕后会清空内存。Java虚拟机要运行程序,必须要对内存进行空间的分配和管理.

Java 虚拟机的内存划分

为了提高运算效率,就对空间进行了不同区域的划分,因为每一片区域都有特定的处理数据方式和内存管理方式

  • JVM 的内存划分

区域名称 作用
寄存器 给CPU使用,和我们开发无关
本地方法栈 JVM在使用操作系统功能的时候使用,和我们开发无关。
方法区 存储可以运行的class文件
堆内存 存储对象或者数组,new来创建的,都存储在堆内存
方法栈 方法运行时使用的内存,比如main方法运行,进入方法栈中执行

数组在内存中的存储

  • 一个数组内存图

public static void main(String[] args) {
   int[] arr = new int[3];  
   System.out.println(arr);//[[email protected]  
}

以上方法执行,输出的结果是[[email protected],这个是什么呢?是数组在内存中的地址。new出来的内容,都是在堆内存中存储的,而方法中的变量arr保存的是数组的地址

数组元素的打印

向数组中插入一个元素

需求说明:按照如下操作向数组中插入元素,实现效果如图所示:

(1)将成绩保存在数组中;

(2)通过比较找到插入位置;

(3)该位置元素往后移一位;

(4)插入新成绩;

 

思路:1、要添加新成绩的数组必须是有序

​ 2、查找新添加元素的插入位置

​ 3、将位置腾出来

​ 4、腾出来的位置放入新元素

、冒泡排序

需求说明:冒泡排序时注意以下关键点:

(1)5个数字如何存放:(数组,数组.length = 5)

(2)控制比较多少轮:(外层循环,循环变量 i)

(3)控制每轮比较多少次:(内层循环,循环变量 j)

(4)交换数据;

Arrays类排序数组

需求说明:正确使用Arrays的sort()方法为数组进行排序,效果如下图所示。降序排列的写法可以参考for(int i=scores.length-1;i>=0;i--){}

Public class Demo1{
    Public static void main(String[] args){
int[] scores=new int[5];
        Scanner input = new Scanner(System.in);
        System.out.println("请输入五个学员的成绩:");
        for (int i = 0; i < scores.length; i++) {
            scores[i]=input.nextInt();
        }
        
        System.out.println("排序前的成绩:");
        for (int i = 0; i < scores.length; i++) {
            System.out.print(scores[i]+"\t");
        }
            Arrays.sort(arr);
            System.out.println("学员成绩按照升序排序后的结果:");
        for (int num : arr) {
            System.out.print(num+"\t");
             }
            System.out.println("学员成绩按照降序排序后的结果:");
for (int i =arr.length-1; i >=0; i--) {
            System.out.print(arr[i]+"\t");
        }
}
}

冒泡排序

口诀:N个数据来排序,外层循环N-1,内层循环N-1-I N:数组长度

猜你喜欢

转载自blog.csdn.net/yasuoi/article/details/88558738
0条评论
添加一条新回复