黑马程序员---Java数组

                                                    关于Java中的数组
                  --------- android培训java培训、java学习型技术博客、期待与您交流! ------------

一.

数组概念:同一种类型数据的集合。其实数组就是一个容器。用于存放;一系列(若干份)类型相同的数据,数组一旦定义,长度不可变

数组的好处:可以自动给数组中的元素从0开始编号,方便操作这些元素。

格式: 元素类型[] 数组名 = new 数组类型[元素个数或数组长度];  int [] arr = new int [5];或者int [] arr = new int[] {3,1,4,5,6};

//===========================================================

二.

数组中有一个属性可以直接获取到数组元素个数, .length

 

public static int getMax(int [] arr){

    int max = arr[0];

    for(int i=1; i<arr.length; i++){

          if(max <a[i]){

               max = a[i];

}

}

    return max;

}

 //===========================================================

三.

数组的常见操作

数组的定义:静态和动态
栈内存
堆内存
class Demo
{
public static void main (String args[])
{
//静态定义
int[] arr = {23,4,67,198,3};
//int arr[] = {23,4,67,198,3};
//动态
int arr2[] = new int[10]; //自动初始化
int arr3[] = new int[]{1,3,5,7};//
/ /数组的访问
int num3 = arr[2];
System.out.println(num3);
System.out.println(arr2[4]);
//为数组的元素赋值
arr2[2] =500;
System.out.println(arr2[2]);
//如何获取数组的长度,每个数组都有一个固定的属性是length
int len = arr.length;
System.out.println("数组arr的长度"+len);
//遍历数组的元素,将元素依次取出来打印
for(int i=0; i<arr.length; i++)
System.out.println(arr[i]);
//               //如果数组为null,那么在访问时会抛java.lang.NullPointerException空指针异常
// int[] arr4 = null ;
// System.out.println(arr4.length);
// 访问数组时注意,角标的取值范围为0-length-1,
// 超出这个范围就会抛java.lang.ArrayIndexOutOfBoundsException角标越界异常
// System.out.println(arr[5])
System.out.println("---------------------------------");
listArr(arr);
}

/ /遍历数组的元素,输出
static void listArr(int[] arr)
{
//定义一个容器StringBuffer
StringBuffer sb = new StringBuffer();
for(int i=0; i<arr.length; i++)
sb.append(arr[i]+",");
sb.delete(sb.length()-1, sb.length());// 不会遭成角标越界
System.out.println(sb);
//System.out.println(arr[i]+",");
}
        

        //求一个数中的最大数
思路:
1.定义一个变量max用于记住最大数,初始值为第一个元素
2.遍历数组,让每个元素都和max比较,如果比max大,将该元素的值给max
3.返回max
*/
        static int getMaxNum(int[] arr)
    {
        int max = arr[0];
        for(int i=1; i<arr.length; i++)
        {
            if(arr[i]>max)
                max = arr[i];
        }
        return max;
    }

/* 交换数组的两个元素
1.定义一个临时变量temp,值为pos1位置的元素
2.让pos1位置的元素的值等于pos2位置的元素
3.让pos2位置的元素的值等于temp
*/
        static void exchange(int[] arr, int pos1, int pos2)
        {
            int temp = arr[pos1];
            arr[pos1] = arr[pos2];
            arr[pos2] = temp ;
        }

        
}

//====================================================

多维数组
二维数组:数组的每一个元素又是一个数组

class Demo
{
public static void main(String args[])
{
int[][] arr = {{1,2,3},{4,5},{6,7,8,9}};
System.out.println(arr.length);
//遍历所有的元素
//遍历整个数组
for(int i=0; i<arr.length; i++)
{
//遍历每个元素(数组)
for(int j=0; j<arr[i].length; j++)
{
System.out.print(arr[i][j]+ " ");
}
}
//int arr1 [][] = new int[5][10];
int[][] arr2 = new int[3][];
arr2 [0] = new int[4];
arr2 [1] = new int[8];
arr2 [2] = new int[11];
}
}
                                 ---------  android培训 java培训 、java学习型技术博客、期待与您交流! ------------
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值