方法与数组

方法与数组:

方法的定义和使用:

  • 是什么:以看成是一个可以完成独立功能的代码块,可以反复使用,每次使用都是独立的。
  • 类 对象 方法的关系。 pg:System.out.println
  • 方法的定义:
    在这里插入图片描述
  • 调用:使用函数名加对应的参数即可

方法的重载:函数名相同,参数不同

可变参数:长度可变的参数,实际上是数组。python中叫做元组。

命令行传参:在这里插入图片描述


数组的定义的三种方式:
int[ ] array= 0; 之后在赋值。
int[ ] b = new int[10];
int[ ] c = {1,2,3,5,4};
在这里插入图片描述
二维数组:本质也是一维。
在这里插入图片描述
Arrays类:

Java中的Arrays类是一个工具类,它提供了一些静态方法来操作数组。

以下是Arrays类的一些常用方法:

1. `sort(T[] a)`: 对数组进行排序。可以指定升序或降序排序,也可以使用自定义的比较器。

2. `equals(Object a, Object b)`: 判断两个数组是否相等。

3. `binarySearch(T key, T[] a, int fromIndex, int toIndex)`: 在有序数组中查找指定的元素。如果找到,返回元素的索引;否则返回一个负数。

4. `fill(T[] a, T val)`: 将数组的所有元素设置为指定的值。

5. `toString(T[] a)`: 将数组转换为字符串表示形式。

6. `indexOf(Object o, int fromIndex)`: 返回指定元素第一次出现的索引,从指定的索引开始搜索。

7. `lastIndexOf(Object o, int fromIndex)`: 返回指定元素最后一次出现的索引,从指定的索引开始搜索。

8. `length(T[] a)`: 返回数组的长度。

9. `get(int index)`: 返回指定索引处的元素。

10. `set(int index, T element)`: 将指定索引处的元素替换为指定的元素。

11. `add(T[] a, T element)`: 将指定的元素添加到数组末尾。

12. `remove(int index)`: 移除指定索引处的元素。

13. `clear()`: 清空数组。

稀疏数组:
在这里插入图片描述

package org.lyh.practice;

public class testArrayGame {
    public static void main(String[] args) {
        //    稀疏数组:以时间换空间
//        下棋游戏。1:代表白棋。 2:代表黑棋。
        int[][] qb = new int[11][11];
        qb[1][1] = 1;
        qb[2][2] = 2;
        for(int[] is : qb){
            for(int i : is){
                System.out.print(i+"\t");
            }
            System.out.println();
        }

        //遍历棋盘,统计棋子
        int sum = 0;
        for(int i=0;i<11;i++){
            for(int j=0;j<11;j++){
                if(qb[i][j]>0){
                    sum+=1;
                }
            }
        }

//        创建稀疏数组,存放有效值(每个棋子的位置)行,列,值。
        int[][] xsArrary = new int[sum+1][3];

//        第一行放有效值的数量,和棋盘规模
        xsArrary[0][0] = 11;
        xsArrary[0][1] = 11;
        xsArrary[0][2] = sum;

        for(int i=0;i<11;i++){
            for(int j=0;j<11;j++){
                if(qb[i][j]>0){
                    xsArrary[i][0] = i;
                    xsArrary[i][1] = j;
                    xsArrary[i][2] = qb[i][j];
                }
            }
        }

        System.out.println("---------------");

        for(int[] is : xsArrary){
            for(int i : is){
                System.out.print(i+"\t");
            }
            System.out.println();
        }

        System.out.println("还原");

        int[][] hy = new int[xsArrary[0][0]][xsArrary[0][1]];

        for(int i=1;i<xsArrary.length;i++){
            for(int j=0;j<xsArrary[0].length;j++){
                hy[xsArrary[i][0]][xsArrary[i][1]] = xsArrary[i][2];
            }
        }

        for(int[] is : hy){
            for(int i : is){
                System.out.print(i+"\t");
            }
            System.out.println();
        }

    }
}

结果:

D:\Java\jdk1.8.0_101\bin\java.exe "-javaagent:D:\idealu\IntelliJ IDEA 2020.3.3\lib\idea_rt.jar=51912:D:\idealu\IntelliJ IDEA 2020.3.3\bin" -Dfile.encoding=UTF-8 -classpath "D:\Java\jdk1.8.0_101\jre\lib\charsets.jar;D:\Java\jdk1.8.0_101\jre\lib\deploy.jar;D:\Java\jdk1.8.0_101\jre\lib\ext\access-bridge-64.jar;D:\Java\jdk1.8.0_101\jre\lib\ext\cldrdata.jar;D:\Java\jdk1.8.0_101\jre\lib\ext\dnsns.jar;D:\Java\jdk1.8.0_101\jre\lib\ext\jaccess.jar;D:\Java\jdk1.8.0_101\jre\lib\ext\jfxrt.jar;D:\Java\jdk1.8.0_101\jre\lib\ext\localedata.jar;D:\Java\jdk1.8.0_101\jre\lib\ext\nashorn.jar;D:\Java\jdk1.8.0_101\jre\lib\ext\sunec.jar;D:\Java\jdk1.8.0_101\jre\lib\ext\sunjce_provider.jar;D:\Java\jdk1.8.0_101\jre\lib\ext\sunmscapi.jar;D:\Java\jdk1.8.0_101\jre\lib\ext\sunpkcs11.jar;D:\Java\jdk1.8.0_101\jre\lib\ext\zipfs.jar;D:\Java\jdk1.8.0_101\jre\lib\javaws.jar;D:\Java\jdk1.8.0_101\jre\lib\jce.jar;D:\Java\jdk1.8.0_101\jre\lib\jfr.jar;D:\Java\jdk1.8.0_101\jre\lib\jfxswt.jar;D:\Java\jdk1.8.0_101\jre\lib\jsse.jar;D:\Java\jdk1.8.0_101\jre\lib\management-agent.jar;D:\Java\jdk1.8.0_101\jre\lib\plugin.jar;D:\Java\jdk1.8.0_101\jre\lib\resources.jar;D:\Java\jdk1.8.0_101\jre\lib\rt.jar;D:\ideal project new\out\production\ideal project new" org.lyh.practice.testArrayGame
0	0	0	0	0	0	0	0	0	0	0	
0	1	0	0	0	0	0	0	0	0	0	
0	0	2	0	0	0	0	0	0	0	0	
0	0	0	0	0	0	0	0	0	0	0	
0	0	0	0	0	0	0	0	0	0	0	
0	0	0	0	0	0	0	0	0	0	0	
0	0	0	0	0	0	0	0	0	0	0	
0	0	0	0	0	0	0	0	0	0	0	
0	0	0	0	0	0	0	0	0	0	0	
0	0	0	0	0	0	0	0	0	0	0	
0	0	0	0	0	0	0	0	0	0	0	
---------------
11	11	2	
1	1	1	
2	2	2	
还原
0	0	0	0	0	0	0	0	0	0	0	
0	1	0	0	0	0	0	0	0	0	0	
0	0	2	0	0	0	0	0	0	0	0	
0	0	0	0	0	0	0	0	0	0	0	
0	0	0	0	0	0	0	0	0	0	0	
0	0	0	0	0	0	0	0	0	0	0	
0	0	0	0	0	0	0	0	0	0	0	
0	0	0	0	0	0	0	0	0	0	0	
0	0	0	0	0	0	0	0	0	0	0	
0	0	0	0	0	0	0	0	0	0	0	
0	0	0	0	0	0	0	0	0	0	0	

Process finished with exit code 0
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值