〔004〕Java 基础之数组、方法

这篇具有很好参考价值的文章主要介绍了〔004〕Java 基础之数组、方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

▷ 静态初始化数组

  • 数组: 就是一个容器,用来存储一批 同种类型 的数据
  • 静态化数组: 就是预先填入数组的元素,知道数组有哪些值
  • 格式: 定义 数据类型[] 数组名 也可以写成 数据类型 数组名[]
  • 注意: 什么类型的数组只能存放什么类型的数据
package tiny.geeker;

public class Test {
    public static void main(String[] args) {
        // 定义整数类型的数组
        int[] arr = {1, 20, 32, 41, 54};

        // 定义字符串类型的数组
        String[] names = {"飞兔小哥", "博客专家", "天猫精灵测评官"};
    }
}

〔004〕Java 基础之数组、方法,《全套 Java 基础教程》,java,开发语言,经验分享,极限编程,数组,原理

▷ 静态初始化数组定义的三种方式

  • 方式一: 数组类型[] 数组名 = new 数组类型{元素一, 元素二, 元素三}
  • 方式二: 数组类型[] 数组名 = {元素一, 元素二, 元素三}
  • 方式三: 数组类型 数组名[] = {元素一, 元素二, 元素三}
package tiny.geeker;

public class Test {
    public static void main(String[] args) {
        // 定义数组的方式一
        String[] names = new String[]{"飞兔小哥", "博客专家", "天猫精灵测评官"};

        // 定义数组的方式二
        int[] age = {20, 25, 32};

        // 定义数组的方式三
        double height[] = new double[]{172.4, 168.9, 184.9};
    }
}

〔004〕Java 基础之数组、方法,《全套 Java 基础教程》,java,开发语言,经验分享,极限编程,数组,原理

▷ 数组的访问

  • 格式: 数组名[索引],其中索引是从 0 开始的
package tiny.geeker;

public class Test {
    public static void main(String[] args) {
        String[] names = new String[]{"飞兔小哥", "博客专家", "天猫精灵测评官"};
        System.out.println(names[0]);
        System.out.println(names[1]);
        System.out.println(names[2]);
    }
}

〔004〕Java 基础之数组、方法,《全套 Java 基础教程》,java,开发语言,经验分享,极限编程,数组,原理

▷ 数组的长度

  • 格式: 数组名.length,通过该程序可以获取数组中的元素个数
package tiny.geeker;

public class Test {
    public static void main(String[] args) {
        String[] names = new String[]{"飞兔小哥", "博客专家", "天猫精灵测评官"};
        System.out.println(names.length);
    }
}

〔004〕Java 基础之数组、方法,《全套 Java 基础教程》,java,开发语言,经验分享,极限编程,数组,原理

▷ 数组存储原理

  • 数组变量中存储的是数组在 内存中的地址,而数组是一种引用类型的数据,变量的地址指向了最终的数据
  • 就好像数组名是门牌号,只有通过门牌号才能找到家一样

〔004〕Java 基础之数组、方法,《全套 Java 基础教程》,java,开发语言,经验分享,极限编程,数组,原理

〔004〕Java 基础之数组、方法,《全套 Java 基础教程》,java,开发语言,经验分享,极限编程,数组,原理

▷ 数组的遍历

  • 遍历: 一个一个的访问数组的元素,可以通过 for 循环进行遍历
  • 比如在不知道数组中有多少元素的情况下,并且想计算元素加起来的和是多少
package tiny.geeker;

public class Test {
    public static void main(String[] args) {
        int ages[] = {10, 20, 30, 40};
        int count = 0;

        for (int i = 0; i < ages.length; i++) {
            count += ages[i];
        }

        System.out.println(count);
    }
}

〔004〕Java 基础之数组、方法,《全套 Java 基础教程》,java,开发语言,经验分享,极限编程,数组,原理

▷ 动态初始化数组

  • 动态化数组: 就是定义数组时不存入元素的具体值,只确定数组存储的数据类型和数组的长度
  • 适合开始不确定具体元素值,只知道元素个数的业务场景
  • 格式: 数据类型[] 数组名 = new 数据类型[长度]
package tiny.geeker;

public class Test {
    public static void main(String[] args) {
        String[] names = new String[3];

        names[0] = "飞兔小哥";
        names[1] = "博客专家";
        names[2] = "天猫精灵测评官";

        System.out.println(names[0]);
        System.out.println(names[1]);
        System.out.println(names[2]);
    }
}

〔004〕Java 基础之数组、方法,《全套 Java 基础教程》,java,开发语言,经验分享,极限编程,数组,原理

▷ 数组求最值

  • 比如给一个整型数组,求其中的最大值
  • 就是遍历数组,判断每个值如果比前一个值大,就把大的值赋值给变量
package tiny.geeker;

public class Test {
    public static void main(String[] args) {
        int age[] = {10, 20, 40, 30};
        int max = age[0]; // 定义最开始的值

        for (int i = 0; i < age.length; i++) {
            if (age[i] > max) max = age[i];
        }

        System.out.println("最大值为:" + max);
    }
}

〔004〕Java 基础之数组、方法,《全套 Java 基础教程》,java,开发语言,经验分享,极限编程,数组,原理

▷ 数组反转

  • 比如给一个整型数组 {10, 20, 40, 30} 将其反转变成 {30, 40, 20, 10}
  • 原理就是先将第一个元素和最后一个元素调换位置后,然后将第二个元素和倒数第二个元素进行交换,然后一直下去即可
  • 可以定义两个变量 i和j,其中 i 默认值从第一个元素向右移动,j 默认最后一个元素向左移动,每处理一次将其中两个元素位置进行互换即可

〔004〕Java 基础之数组、方法,《全套 Java 基础教程》,java,开发语言,经验分享,极限编程,数组,原理

▷ debug工具

  • 在写程序的时候,可以看到编辑器已经很直观的给你进行错误提示了
  • 但是如果想查看运行过程中,数值的变化情况,就需要用到编辑器的 debug 工具了
  • 首先,需要在 行号 上面打个断点,然后右键选择 debug 运行,点击运行按钮,即可在编辑器中看到数组的变化了,非常的清晰

〔004〕Java 基础之数组、方法,《全套 Java 基础教程》,java,开发语言,经验分享,极限编程,数组,原理

〔004〕Java 基础之数组、方法,《全套 Java 基础教程》,java,开发语言,经验分享,极限编程,数组,原理

▷ 方法

  • 方法: 是一种语法结构,把一段代码封装成一个功能,以便重复调用
  • 方法 可以提高代码的重复性,提高开发效率,也可以让程序的逻辑更加的清晰
  • 方法的定义格式: 修饰词 返回值类型 方法名(形参列表) { 代码; return 返回值; }
  • 注意: 方法如果申明了具体的返回值类型,那么内部 return 必须返回对应的数据类型
package tiny.geeker;

public class Test {
    public static void main(String[] args) {
        int count = sum(1, 2);
        System.out.println(count);
    }

    public static int sum(int a, int b) {
        return a + b;
    }
}

▷ 返回值

  • 如果定义的方法没有返回值,那么返回值的类型就需要定义成 void
  • 如果定义的方法有返回值,那么内部 return 必须返回对应的数据类型
  • 形参列表可以有多个,甚至没有;如果有多个形参,需要用逗号隔开,且不能给初始化值
package tiny.geeker;

public class Test {
    public static void main(String[] args) {
    	// 有返回值的方法
        int count = sum(1, 2);
        System.out.println(count);
        
        // 直接调用无返回值的方法
        say();
    }

    public static void say() {
        System.out.println("我是飞兔小哥");
    }

    public static int sum(int a, int b) {
        return a + b;
    }
}

▷ 求和

  • 1到n的和 是有返回值的,也就是需要打印最终的和
  • 由小学求和公式可知,求1到n的和的公式为:(1+n)*n/2
  • 因为最终的和是整数,所以需要定义返回类型为 int
package tiny.geeker;

public class Test {
    public static void main(String[] args) {
        int count = sum(100);
        System.out.println(count);
    }

    public static int sum(int n) {
        return (1 + n) * n / 2;
    }
}

〔004〕Java 基础之数组、方法,《全套 Java 基础教程》,java,开发语言,经验分享,极限编程,数组,原理

▷ 奇偶性

  • 判断一个数的奇偶性,只需要打印结果即可,不需要返回值的
  • 这个时候就可以将返回值的类型定义为 void
package tiny.geeker;

public class Test {
    public static void main(String[] args) {
        judge(51);
        judge(60);
    }

    public static void judge(int number) {
        if (number % 2 == 0) {
            System.out.println(number + "是一个偶数");
        } else {
            System.out.println(number + "是一个奇数");
        }
    }
}

〔004〕Java 基础之数组、方法,《全套 Java 基础教程》,java,开发语言,经验分享,极限编程,数组,原理

▷ 参数传递

  • 值传递: 指的是在传输实参给方法中的形参的时候,传输的是实参变量中存储的值的副本,修改副本中参数的值,并不会改变实参的值
  • 引用值传递: 传输给形参的时候,传的是实参的地址,修改值之后,会改变实参中的值,比如数组就是引用传递
package tiny.geeker;

public class Test {
    public static void main(String[] args) {
        // 值传递
        int a = 20;
        change(a);
        System.out.println(a);
    }

    public static void change(int a) {
        System.out.println(a);
        a = 520; // 修改值
        System.out.println(a);
    }
}

〔004〕Java 基础之数组、方法,《全套 Java 基础教程》,java,开发语言,经验分享,极限编程,数组,原理

package tiny.geeker;

public class Test {
    public static void main(String[] args) {
        // 引用值传递
        int a[] = {10, 20, 30};
        change(a);
        System.out.println(a[1]);
    }

    public static void change(int[] a) {
        System.out.println(a[1]);
        a[1] = 520; // 修改值
        System.out.println(a[1]);
    }
}

〔004〕Java 基础之数组、方法,《全套 Java 基础教程》,java,开发语言,经验分享,极限编程,数组,原理

▷ 方法重载

  • 方法重载: 是在一个类中,多个方法的 名称相同,但是它们的 形参列表不同,其他的不用管,比如修饰符、返回值类型等。
  • 形参列表的不同: 指的是形参的个数、类型、顺序不同,不关心形参的名称
  • 比如游戏中创建 NPC,并且给 NPC 设置血量
package tiny.geeker;

public class Test {
    public static void main(String[] args) {
        System.out.println(create("飞兔小哥"));
        System.out.println(create("飞兔小哥", 10000));
    }

    public static String create(String name) {
        return "创建了NPC:" + name;
    }

    public static String create(String name, int blood) {
        return "创建了NPC:" + name + ",血量为:" + blood;
    }
}

〔004〕Java 基础之数组、方法,《全套 Java 基础教程》,java,开发语言,经验分享,极限编程,数组,原理

▷ 案例:创建验证码

  • 指定程序生成 n 位数的验证码,然后程序会随机返回 n 位数的字符串
package tiny.geeker;

import java.util.Random;

public class Test {
    public static void main(String[] args) {
        String code = qrcode(5);
        System.out.println(code);
    }

    public static String qrcode(int n) {
        String code = "";
        Random r = new Random();

        for (int i = 0; i < n; i++) {
            int type = r.nextInt(3);
            switch (type) {
                case 0:
                    // 生成小数
                    code += r.nextInt(10);
                    break;
                case 1:
                    // 生成小写字母
                    char ch1 = (char) (r.nextInt(26) + 97);
                    code += ch1;
                    break;
                case 2:
                    // 生成大写字母
                    char ch2 = (char) (r.nextInt(26) + 65);
                    code += ch2;
                    break;
            }
        }
        return code;
    }
}

〔004〕Java 基础之数组、方法,《全套 Java 基础教程》,java,开发语言,经验分享,极限编程,数组,原理文章来源地址https://www.toymoban.com/news/detail-758049.html

到了这里,关于〔004〕Java 基础之数组、方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • JAVA数组元素反转的三种写法------JAVA入门基础教程

    int[] arr = new int[]{34,54,3,2,65,7,34,5,76,34,67}; for(int i = 0;i arr.length/2;i++) {     int temp = arr[i];     arr[i] = arr[arr.length - 1 - i];     arr[arr.length - 1 - i] = temp; } for(int i = 0;i arr.length;i++) {     System.out.print(arr[i] + \\\"t\\\"); } System.out.println(); //互换方法2 int[] newArr = new int[arr.length]; for(int i = arr.l

    2023年04月17日
    浏览(45)
  • 【NFT开发】设计师无技术基础保姆级开发NFT教程在Opensea上全套开发一个NFT项目+构建Web3网站

    提示:本文全套教程为去中心化NFT项目与国内山寨数字藏品完全不同 提示:本教程仅供学习使用 很多网友私信无技术基础如何开发一个完整的NFT项目,今天给大家带来一个保姆级教程仅需复制代码即可不需要任何技术基础。 提示:以下是本篇文章正文内容,下面案例可供参

    2024年01月16日
    浏览(63)
  • 【Java基础 3】Java 数组详解

    🍊 Java学习:社区快速通道 数组是相同数据类型的 多个数据的容器 。 这些元素按 线性顺序排列 。所谓线性顺序是指除第一个元素外,每一个元素都有唯一的前驱元素;除最后一个元素外,每一个元素都有唯一的后继元素。 (“简单理解就是:一个跟一个顺序排列”) 格

    2024年02月08日
    浏览(34)
  • java学习004

    PHP JAVA Array: array(1,2,3) ArrayListl Array: array(“name” = “jack”,“age” = 20) HashMap:Map map = new HashMap() 编译运行结果:

    2024年02月12日
    浏览(31)
  • Java版Word开发工具Aspose.Words基础教程:检测文件格式并检查格式兼容性

    Aspose.Words for Java是功能丰富的文字处理API,开发人员可以在自己的Java应用程序中嵌入生成,修改,转换,呈现和打印Microsoft Word支持的所有格式的功能。它不依赖于Microsoft Word,但是它提供了Microsoft Word通过其API支持的功能。 Aspose.Words for Java最新下载 https://www.evget.com/product/

    2024年02月14日
    浏览(53)
  • JAVA头哥作业07 Java入门 - 数组基础

    第1关:初识数组 编程要求 在 Begin-End 区域中定义一个 int 类型数组 scores ,录入三个值, 91 , 88 , 60 ,最后输出数组中的三个值,效果如图: 第2关:数组的使用 第3关:选择题(1) 1、 以下数组声明有误的是(C) A、int[] num; B、String num[]; C、double[] num=new double[]; D、String

    2024年02月06日
    浏览(36)
  • 【Java基础教程】(二十六)Java新特性篇 · 第六讲:注解——解码程序设计中的元数据利器,用小小的@符里做大大的开发~

    Java 注解(Annotation) 是Java语言中一种元数据形式,它提供了一种在代码中添加元数据的方式。注解为程序员提供了向代码中添加额外信息的能力,这些额外信息可以被编译器、工具或者运行时环境使用。 优点: 提供了一种 更加简洁和可读性强 的代码编写风格; 增强代码的

    2024年02月16日
    浏览(40)
  • Java基础 |数组排序

    所有知识点均来源于《Java从入门到精通》(第六版)。 他排序数组的过程中总将较小的数往前排,较大的数往后放,类似水中气泡往上升的动作,所以叫冒泡排序。 基本思想是对比相邻的元素值,如果满足条件就交换元素值,把较小的元素移动到数组前面,把较大的元素移

    2024年01月25日
    浏览(41)
  • Java基础(六)数组

    1. 数组 数组是具有相同数据类型且按照一定次序排列的一组变量的集合体。即一个变量名表示一批数据。 Java为数组在内存中分配一段连续的空间,这段空间中存储数据的个数是固定的。 数组元素 构成一个数组的每一个数据称为数组元素。 数组下标 下标是数组元素在数组中

    2024年02月14日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包