一维数组知识点总结

数组的基本概念及作用

数组是相同数据类型元素的集合

数组本身是引用数据类型,即对象。但是数组可以存储基本数据类型,也可以存储引用数据类型。

一维数组

数组的创建

数组的声明的两种方式:

数据类型  [ ]    数组名字                            例如:int    [ ]    a;

数据类型    数组的名字[ ]                           例如:int   a   [ ];    

为了避免混淆,建议大家使用第一种声明方式。

数组创建的三种方法:

声明数组的同时,根据指定的长度分配内存,但数组中元素值都为默认的初始值

                 int []  array0 = new int[5];

声明数组并分配内存,同时将其初始化

                 int []  array1 = new int[ ]{1,2,3,4,5};

 和前面一种方式相同,仅仅只是语法的表达不同,这种方式相对简略

                 int [ ] array2 ={1,2,3,4,5};

数组的创建也可以分为动态和静态两种:

动态创建数组(没有为元素赋值,只规定了数组长度,可以结合for循环进行赋值)

                int [ ] array3 =new int [5];

静态创建数组,在创建的同时,为每个元素都赋予初值

                int [ ] array4=new int[ ]{1,2,3,4,5};

数组的长度:length属性

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

   System.out.println(b.length);

数组的迭代

数组的迭代有两种方式:

第一种:for循环

for(int i=0;i<b.length;i++){
    System.out.println(b[i]);
}

第二种:增强for循环(for-each循环)

    for(声明语句:表达式){

            //代码句子

    }

声明语句:声明一个新的局部变量,此变量的类型与要遍历的数组元素类型相同。其作用范围限定在循环语句块,该值要与此时数组元素的值相等。

表达式:表达式是要访问的数组名,或者是返回值为数组的方法

在遍历数组时,使用for-each是一种相对简便的方式

for(int x:b){
   
     System.out.println(x);
}

 冒泡排序

如下图的演示:

     原数组

    第一次循环

  第二次循环

 第三次循环

 算法思想:

1.创建数组,声明数组并对数组元素进行初始化。

2.确定数组的长度,用二重循环实现,外层循环作用范围数组长度-1(因为数组的索引),内层循环作用范围为数组长度-1-当前外层循环达到的次数。

3.排序完成,打印数组即可。

代码实现: 

public class Demo1{
   public static void main(String []args){
int [] array = {1,11,8,4,3};
int temp=0;
//通过二重循环,排序
for(int i=0;i<array.length-1;i++){
   for(int  j=0;j<array.length-1-i;j++){
         if(array[j]>array[j+1]){
             temp=array[j+1];
             array[j+1]=array[j];
             array[j]=temp;
      }
   }
}
//打印数组
for(int x:array){
      System.out.print(x+" ");
    }

  }

}

 选择排序

算法思想:
1.从待排序的数组元素中,选出最小or最大的元素,标记此下标。

2.将标记下标的数组元素与此刻的首位元素进行交换。

3.重复上述步骤,直到排序结束。

代码实现:

public class Demo1 {
    public static void main(String[] args) {
        int[] b={2,4,5,1,7,12};
        int temp=0;
        for(int i=0;i<b.length-1;i++){
            for(int j=i;j<b.length-1-i;j++){
                if (b[i] > b[j+1]) {
                    temp=b[i];
                    b[i]=b[j+1];
                    b[j+1]=temp;
                }
            }
        }
        System.out.println(Arrays.toString(b));




    }
}

第一次写博客,有很多东西都不知道,如果有问题欢迎提出~~

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值