Java语法基本篇:java处理数组

      关于Java的一些简单的语法主要包括数据类型、算术运算符以及算术表达式、关系运算符和关系表示式以及逻辑运算符和逻辑表达式的使用,这些都很常见,有C/C++学习经验来说大部分都是相通的,下面就介绍java如何处理数组。

1. 对数组进行赋值,将数组元素输出

public class arraryTest
{
    public static void main(String[] args)
    {
        int[] a;                                          //声明了一个整型数组

        a=new int[10];                                    //告诉该数组拥有10个元素
        int i;
        for(i=0;i<10;i++)                                 //通过 for循环赋值
        {
            System.out.println("a["+i+"]="+(i*i));
        }
    }

下面是程序结果:

a[0]=0
a[1]=1
a[2]=4
a[3]=9
a[4]=16
a[5]=25
a[6]=36
a[7]=49
a[8]=64
a[9]=81

2. 数组排序和索引

public class SearchArray
{
    public static void main(String[] args)
    {
        int[] array = {2, 4, 6, 1, 3, 5, 9, 11, -5, 30, 100};
        Arrays.sort(array);
        int index = Arrays.binarySearch(array, 11);
        System.out.println(Arrays.toString(array));
        System.out.println("The index of 11 is "+index);
        index = Arrays.binarySearch(array, 10);
        System.out.println("The index of 10 is "+index);    
    }
}

以下是此段程序输出如下:

[-5, 1, 2, 3, 4, 5, 6, 9, 11, 30, 100]
The index of 11 is 8
The index of 10 is -9

       需要注意的是在使用java的sort()方法以及binarySearch()方法需要前提在文件开始处导入import java.util.Arrays;

toString()方法就是将对象转化为字符串,以字符串形式输出。

3. 数组长度length

public class arrary2
{
    public static void main(String[] args)
    {
        int[] a=new int[]{1,2,3,4,5};
        int[] b=new int[]{2,3,4,5,6,7,8};
        for(int i=0;i<a.length;i++)
        {
            System.out.println("a["+i+"]="+a[i]);
        }
        for(int j=0;j<b.length;j++)
        {
            System.out.println("b["+j+"]="+b[j]);
        }
        System.out.println("a数组的长度是:"+a.length);
        System.out.println("b数组的长度是:"+b.length);
    }
}

      以上程序在输出数组元素以外还能使用length方法知道数组的长度,如本例中a数组的长度是:5 b数组的长度是:7

下面是著名的斐波那契数列java程序(用数组实现)

public class arraryTest4
{
    public static void main(String[] args)
    {
        int[] f=new int[100];                            //声明了一个整形数组,拥有20个元素
        f[0]=0;
        f[1]=1;
        for(int i=2;i<f.length;i++)
        {
            f[i]=f[i-1]+f[i-2];
            System.out.println("f["+i+"]="+f[i]);
        }
    }
}

结束输出如下(给出前20项)

f[2]=1
f[3]=2
f[4]=3
f[5]=5
f[6]=8
f[7]=13
f[8]=21
f[9]=34
f[10]=55
f[11]=89
f[12]=144
f[13]=233
f[14]=377
f[15]=610
f[16]=987
f[17]=1597
f[18]=2584
f[19]=4181
f[20]=6765
...

4 java处理二维数组

      在实际情况中很多时候一维数组不满足开发人员的使用需求,可能需要用到二维或者更高维数组。先看下面这个例子:

///使用两个数组分别代表空间中的x和y轴
///通过循环语句将对应的每一个坐标上的元素输出
public class arraryTest5 {
    public static void main(String[] args) {
        // 声明 二维数组
        char[][] a;
        // 告诉一维是4个元素,二维是10个元素
        a = new char[4][10];
        // 为一维赋值
        a[0] = new char[10];
        a[1] = new char[10];
        a[2] = new char[10];
        a[3] = new char[10];
        // 通过索引为二维赋值
        a[0][0] = 65;
        a[1][0] = 67;
        a[2][0] = 69;
        a[3][0] = 71;
        // 通过嵌套for循环为二维赋值
        for (int i = 0; i < a.length; i++) {
            for (int j = 1; j < a[i].length; j++) {
                a[i][j] = (char) (a[i][j - 1] + 1);
                System.out.print(a[i][j - 1]);
            }
            System.out.println();
        }
    }
}

输出结果如下:

ABCDEFGHI
CDEFGHIJK
EFGHIJKLM
GHIJKLMNO

      创建一个二维数组表示行和列,给每一行的第一个元素赋初值,之后用for循环给整个数组进行赋值操作。最后输出得到以上字符输出。

      在这里说一下,理解数组(特别是高维数组以二维数组为例)在内存中的存放有利于对数组的操作,在C语言里面使用指针进行多维数组处理也比较灵活(虽然java里面没有指针一说),在这里数组是先进行行存储再进行列存储的,并且地址连续。高维数组的使用最主要的是将实际情况中的功能分析后映射成数组模型,灵活使用。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值