黑马程序员_学习记录04:数组

22 篇文章 0 订阅
1 篇文章 0 订阅
------- android培训java培训、期待与您交流! ----------

一、数组

class ArrayDemo

{

   public static void main(String[] args)

   {

     int[] x=new int[3];

     int y[]=new int[3];

     int[] arr=new int[]{3,1,5,6,4,}; 

   }

}

Java内存结构

栈内存:数据使用完毕,会自动释放。

堆内存:数据都有默认初始值,根据数据类型确定。(0

x=null;——x不再指向数组,值为空。

数组的操作:

获取数组中的元素,通常会用到遍历。

class  arra

{

public static void main(String[] args) 

{

 int[] arr={3,4,7};

     for(int x=0;x<3;x++)

      {

         System.out.println("arr["+x+"]="+arr[x]+";");

       }

}

}

数组中有一个属性可以直接获取数组元素个数——length——使用方式:数组名称.length=

/*

获取数组中的最大值。

思路:

1.逐一比较。int max=arr[0];

2.将临时变量初始化为0,其实是在初始化为数组中任一角标。int max=0;

*/

二、排序——

1.选择排序

内循环结束一次,最值出现在头角标位置上。

class  arry

{

public static void main(String[] args) 

{

int arr[]={1,4,3,454,6,7};

for (int x=0;x<arr.length-1; x++ )

{

for (int y=x+1;y<arr.length;y++ )

{

if (arr[x]>arr[y])

{

int temp=arr[x];

arr[x]=arr[y];

arr[y]=temp;

}

}

}

for (int x=0;x<arr.length ;x++ )

{

          System.out.println(arr[x]);

}

}

}

2.冒泡排序

相邻的两个元素比较,如果符合条件换位。

内循环结束一次,最值出现在最后位。

public static void main(String[] args) 

{

int arr[]={2,43,6,7,98,6,456};

for (int x=0;x<arr.length-1 ;x++ )

{

for (int y=0;y<arr.length-x-1 ;y++ )

{

if (arr[y]<arr[y+1])

{

int temp=arr[y];

arr[y]=arr[y+1];

arr[y+1]=temp;

}

}

}

for (int x=0;x<arr.length ;x++ )

{

System.out.print(arr[x]+"'");

}

}

3.Arrays.sort(arr);

4.我们可以发现无论什么排序,都需要对满足条件的元素进行位置置换。

所以可以把这部分相同的代码提取出来,单独封装成一个函数。

public static void swap(int[] arr,int a,int b) 

{

int temp=arr[a];

arr[a]=arr[b];

arr[b]=temp;

}

三、查表法十进制—十六进制

查表法:将所有元素临时存储起来,建立对应关系。每一次&15后的值作为索引去查建立的表,就可以找到对应的元素。

class  toHex

{

public static void main(String[] args) 

{

toHex(60);

}

public static void toHex(int num)

{

char[] chs={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};

for (int x=0;x<8 ;x++ )

{

int temp=num&15;

System.out.println(chs[temp]);

num=num>>>4;

}

}

}

四、二维数组

int[][] arr=new int[3][4];//定义了名称为arr的二维数组。二维数组中有三个一维数组。

            //每个一维数组中有四个元素。

int[] x,y[]; //x一维,y二维.

------- android培训java培训、期待与您交流! ----------

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值