java学习笔记(2023/2/3)--数组

数组

语法格式:

eg:

int[] arr;  //意思是定义了一个整型数组,数组名是arr

int arr[]; //意思是定义了一个整型变量,变量名是arr数组

一般推荐用第一个

数组的初始化:

java里面的数组都必须要初始化。什么是初始化?初始化就是数组为里面的元素分配内存空间并且为它赋值。

初始化的方法分为:动态初始化,静态初始化。

动态初始化:

初始化只需要指定长度即可。初始值由系统分配(int型默认0,浮点型默认0.0,char型默认null,布尔类型默认为false)

语法格式:

数据类型[] 变量名=new 数据类型[数组长度]

eg:int[] arr=new int[5]

静态初始化:

自己指定元素,长度由系统指定

数据类型 []变量名=new 数据类型[]{元素1,元素2}

数据类型[] 变量名={元素1,元素2}

单个数组访问原理

jdk内存空间可分为:栈空间,堆空间,方法区,本地方法栈

栈空间:储存的是局部变量

堆空间:储存对象(数组也是对象)的空间。可以存放很多个new出来的对象

eg:int [] arr=new int[4];

如果输出的arr,表示的是数组存放的地址,访问的是栈内存储存的数组arr地址。如果输出的是arr[索引],原理是通过数组名arr在栈空间里找到数组地址,再去堆内存找到这个数组,再通过索引找到对应的值。

arr=null表示数组的地址为空,访问则会出错

冒泡排序

通过逐个比较前后两者的大小

 System.out.println("冒泡排序后的结果");
        for(int i=0;i<arr.length-1;i++)
        {
            for(int j=0;j<arr.length-i-1;j++)
            {
                if(arr[j]>arr[j+1])
                {
                    int temp=arr[j];
                    arr[j]=arr[j+1];
                    arr[j+1]=temp;
                }
            }
        }

选择排序

首先从头开始找到比它大(小)的作比较,直到遍历结束交换

System.out.println("选择排序");
        for (int i=0;i<arr.length;i++)
        {
            int min=i;
            for(int j=i+1;j<arr.length-i;j++)
            {
                if(arr[min]<arr[j])
                {
                    min=j;
                }
            }
            if(min!=i)
            {
                int temp=arr[min];
                arr[min]=arr[i];
                arr[i]=temp;
            }
        }

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值