数组【难点-引用数据类型-堆】

数组【难点-引用数据类型-<堆>】

学习路线----数据如何存储

  • 变量

  • 数组

  • 类和对象

  • 对象数组

  • 集合 List Set Map…

  • IO流 文件操作

  • XML文件(解析比较麻烦)

  • 数据库(Database)

    • RDB:MySQL
    • NoSQL:Redis
  • 数据库的集群

  • 数据库水平拆分、垂直拆分

  • HBase 大数据存储

变量的数据类型

基本数据类型:

引用数据类型:数组、类(String是类的一种)

1.理解数组的作用

发现的问题:变量在使用它只能使用基本数据类型,存储值只能存储简单的数据/单一的数据。如果想同时存储更多的数据,它无法实现,同样关于变量的操作比计较简单,我们需要寻找一种能够同时存储更多数据的,并且操作更加丰富的数据类型。

2.掌握数组的定义

数组:一组数据、数据的组合。

有限个相同类型的变量的集合,就被称为数组。

数组中的变量被称为是数组的分量或元素。

它是一种引用数据类型,它的数据是存储在JVM中的堆中的。基本数据类型一般都是存储在栈中。

3.掌握数组的基本使用

数组:

  • 数据类型

  • 数组名(变量名)

  • 数组的长度(存储了多少个变量)

  • 数组的元素(多个变量)

    byte short int long:0
    
    float double:0.0
    
    boolean:false
    
    char:\U0000  一个空格
    
    string:
    
  • 数组的下标(索引)

数据类型【】数组名 =new 数据类型【数组长度】;

数据类型【】数组名 = {元素1,元素2,元素3...};

length 数组的长度

获取数组中的所有数据:(遍历)

4.掌握数组的常用操作

4.1 求最大/小值

public class Deom{
    public static void main(String[] args){
        Scanner input = new Scanner(System.in);

// 存储成绩
double[] scores = new double[5];
for(int i = 0; i < scores.length; i++) {
    System.out.print("请输入第"+(i+1)+"位学生成绩:");
    scores[i] = input.nextDouble();
}
double max = scores[0]; 
double min = scores[0];
for(int i = 1; i < scores.length; i++) {
    if(max < scores[i]) {
        max = scores[i];
    }
    if(min > scores[i]) {
        min = scores[i];
    }
}
System.out.println("最高分:"+max);
System.out.println("最低分:"+min);
    }
}

多维数组

一、引用数据类型的名称

java中的数据类型分类:

  • 基本数据类型:数据存储是在栈中的(栈中的数据线程不共享,独立的)
    • 数值型:整数型(byte short int long) 浮点型(float double)
    • 非数值型:char boolean
  • 引用数据类型:数据存储是在堆中的(堆中数据线程共享)为了更好的利用
二、数组工具类Arrays

工具类:提升生产效率,帮助我们解决以往比较麻烦内容的一个东西。将数组的一些常见操作实现的比较容易

// 1.直接将数组展示位字符串
String shu = Arrays.toString(arr);
System.out.println(shu);
// 2.数组的升序排序--从小到大
System.out.println(Arrays.toString())
// 3.实现将指定数组中的内容 复制到一个指定长度的新数组中
double[] shu = Arrays.copyOf(arr, 6);
System.out.println(Arrays.toString(shu));
// 4.在arr中寻找指定数字的位置
int shu = Arrays.binarySearch(arr,5);
System.out.println(shu);
// 5. 将一个数组内填充为一个指定的值
double[] arr2 = new double[3];
Arrays.fill(arr2, 8);
System.out.println(Arrays.toString(arr2));
// 6.比较两个数组的内容
double[] shu = {2,3,4,5,9};
double[] shu1={2,3,4,5,9,8,6};
System.out.println(Arrays.equals(shu1, shu));
三、掌握冒泡排序

八大排序要了解

冒泡排序算法的口诀:相邻元素做比较,两两比较小靠前

重复比较,需要考虑循环:外层循环控制行数,内层循环控制每行的内容。

                                           外层循环控制轮数,内层循环控制每轮的比较。

公式:外层循环n-1,内层循环n-1-i。

四、多维数组(二维数组)

多维数组:在java的内存模型并不存在多维数组,但是语法层面上支持。 意味着本质还是一维数组

// 多维数组语法
1 数据类型[][] 数组名 = new 数据类型[x][x];
2 数据类型[][] 数组名 = {{},{},{},{},{}};
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值