java基础 第三章 数组

补充知识:

JVM内存模型:

1、栈(stack):局部变量

2、堆(heap): new出来的东西

3、方法区(method area):类的信息,常量池,静态池

4、程序计数器

5、本地方法栈

 

GC 垃圾回收器 主要接受堆里的东西

 

3.1 基本知识

3.1.1 什么是数组

容器

特征:

1、装的东西必须是同类型

2、容器的大小

3.1.2 数组的作用

装东西

3.1.3 数组的使用:数组的大小一旦给定就不可以更改

数组的声明:

int[] b;

数组的初始化:

静态初始化:

Int[] b;   b = new int[]{1,2,3};  // int[] b = {4,5,6};

动态初始化:

b = new int[3]; int[] b = new int[3];

数组的访问:

获取数组中的值:

下标:

数组名[下标]

设置数组中的值:

数组名[下标] = ;

打印数组:Arrays.toString(数组名)

数组的遍历:

使用循环

数组的长度:数组名.length;length是属性,不是方法;

3.1.4 二维数组

声明:int[][] a;

初始化:

静态初始化:

a = {{1,2},{3},{4,5,6}};

动态初始化:

不管怎么样,至少要分配一维

a = new int[3][2];

a = new int[3][];

a[0] = new int[2];

a[1] =  new int[3];

数组的拷贝:System.arraycopya0b0length);

数组的打印:Arrays.toString(a);

数组的排序:Arrays.sort(a);

 

3.1.5 数组与算法

排序算法

1、选择排序法(选出一个后与后面的逐次比较,然后排序)

2、冒泡排序法(相邻的两个进行比较、排序)

3、折半查找法(取中值进行查找目标)


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
一:数组 1:一维数组:(JAVA中的数组类似于C中的指针形式的数组)  定义:type var_name[]: 如 int a[]; float b[]; int month_days[];  使用:var_name=new type[size];如 a=new int[10]; month_days=new int[12];java的专业用法。  也可以在定义时,直接赋值如:int a[]={1,2,3,4,5};(这一点与C相同);   其它与C语言中的数组概念相同,包括利用数组下标赋值、取值以及内存中的存储方式等。  与C语言不同,数组也是类(对象),有许多方法可调用(如长度等) 二:多维数组(二维数组)  定义:int two[][]=new int[4][5];//类似于一维数组;  二维数组的另几种定义方法: 1:int two[][]={{1,2,3,4},{0,0,0,0},{3,4,5,6}}三行四列的二维数组(与C相同) 2:int two[][]=new int[4][]; two[0]=new int[5]; two[1]=new int[5]; two[2]=new int[5]; two[3]=new int[5]; 也可: two[0]=new int[1]; two[0]=new int[2]; two[0]=new int[3]; two[0]=new int[4]; 注意:数据也是对象: int n[]=new int[10]; int x=n.length; System.out.println("n数组的长度: " +x);结果为10; 总结:数组相当于C语言中的指向数组的指针, 数据的初始化有二种形式工:定义是赋值,或初始化(NEW运算后)赋值二种形式。 数据也是对象。 数组的copy; 如:int a[]=new int[10]; int b[]=new int[10]; for(int i=0;i<10;i++)a[i]=i; for(int i=0;i<10;i++)b[i]=a[i]; b=a; 介绍一个JAVA类:ArrayList类; java.util.ArrayList:动态数组; 主要方法:

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值