java基本组成第4篇、数组

数 组

1.数组的概念:就是一种容器,可以同时存放多个数据值。

2.数组的好处:程序会自动给数组中的元素分配从0开始的下标,方便操作

3.数组的格式:

定义数组的有两种

动态初始化(指定长度):在创建数组的时候,直接指定数组当中的数据元素个数。
静态初始化(指定内容):在创建数组的时候,不直接指定数据个数多少,而是直接将具体的数据内容进行指定。

动态初始化基本格式(指定长度):
元素类型[] 数组名=new 元素类型[数组长度];                  
 int[] a=new int[3];        

静态初始化基本格式(指定内容):

标准格式:元素类型[]  数组名=new 元素类型[]{元素,元素,......};      
int[] a=new int[]{1,5,9};            
简化格式:元素类型 数组名={元素,元素,......}
int[] a={1,5,9};     

Java程序在运行时需要给内存分配空间。为了提高运算效率又对空间进行了不同区域的划分,因为每一片区域都有了特定的处理数据和内存的方式。

4.堆栈:

在计算机领域,堆栈是一个不容忽视的概念,堆栈是一种数据结构。堆栈都是一种数据项按序排列的数据结构,只能在一端(称为栈顶(top))对数据项进行插入和删除。在单片机应用中,堆栈是个特殊的存储区,主要功能是暂时存放数据和地址,通常用来保护断点和现场。要点对比:指令队列,先进先出(FIFO—first in first out)。堆栈,先进后出 (FILO—First-In/Last-Out)

堆栈是一种存储部件,即数据的写入跟读出不需要提供地址,而是根据写入的顺序决定读出的顺序。

注:栈就是一条流水线,而流水线中加工的就是方法的主要程序,在分配栈时,由于程序是自上而下顺序执行,就将程序指令一条一条压入栈中,就像流水线一样。而堆上站着的就是工作人员,他们加工流水线中的商品,由程序员分配:何时加工,如何加工。而我们通常使用new运算符为对象在堆上分配内存(C#,Java),堆上寻找对象的任务交给句柄,而栈中由栈指针管理。

栈内存:用于存储局部变量,当数据使用完毕内存会自动释放;

堆内存:1:数组和对象,用过new关键字创建的对象实体都存放在堆内存中。
              2:每个实体都有内存地址。
              3:实体中的变量都有默认的初始化值。
              4:如果实例不在被使用java会自动启动垃圾回收器

6.操作数组:

通过for循环逐个取出数组中的值   

int[] array={15,20,5,3,6,7,9,8,14}; 
for(int a=0;a<array.length;a++){
    System.out.println(“array[”+a+”]=”+array[a]);   
}

在数组中提供了一个可以直接获取数组长度的属性  ”length“我们只需要通过 “数组名.length”可以直接获取数组个数如下:

int[]  array={15,20,5,3,6,7,9,8,14}; 
for(int a=0;a<array.length;a++){
    System.out.println(“array[”+a+”]=”+array[a]);   
}

获取数组中的最大值

int[]  array={15,20,14,8,9,10,32};
     int max=array[0];
        for(int a=1;a<array.length;a++){
        if(max < array[a]){
        max=array[a];
        }
}
System.out.println(max);

获取数组中的最小值

int[]  array={15,20,14,8,9,10,32};
     int max=array[0];
    for(int a=1;a<array.length;a++){
        if(max > array[a]){
	max=array[a];
    }
}
System.out.println(max);

7.数组的排序:

选择排序:从0下标开始,依次和后面元素比较,小的往前放,第一次完毕,最小值出现在了最小下标处。

 int[]  array={15,20,14,8,9,10,32};
    for(int a=0;a<array.length-1;a++){
    for(int b=a+1;b<array.length;b++){
        if(array[a]>array[b]){
	int  bijiao=array[a];
	array[a] =array[b];
	array[b] =bijiao;
	}
}
               

冒泡排序:相邻的两个元素进行比较如果符合条件就换位。

int[]  array=new int[]{15,20,14,8,9,10};
    for(int a=0;a<array.length-1;a++){
    for(int b=0;b<array.length-a-1;b++){
        if(array[b]>array[b+1]){
            int aa=array[b];  
            array[b] =array[b+1];
            array[b+1] =aa;
        }             
    }
}

快速排序:快速排序就是运用了java中给我们提供的一个类”Arrays”下面的sort方法来实现升序排序,此方法需要导入“import java.util.Arrays;” 包。

int[]  array={15,20,14,8,9,10,32};
    Arrays.sort(array);
    for(int c=0;c<array.length;c++){
        System.out.println(array[c]);
    }

上一篇:java基本组成第3篇、方法

 

 

 

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值