首页 > 编程语言 >Java学习笔记--对象数组,方法参数,命令行参数,快速生成方法

Java学习笔记--对象数组,方法参数,命令行参数,快速生成方法

时间:2024-11-24 15:01:22浏览次数:8  
标签:arr Java String -- Person int 参数 方法 public

目录

一,对象数组

Person p = new Person();

二,方法参数

1.基本数据类型做方法参数传递

2.引用数据类型做方法参数传递

三,命令行参数

四,快速生成方法

1.快速生成方法

2.快速将一段代码抽取到一个方法中 


一,对象数组

Person[] arr = new Person[3];

Person p = new Person();

之前我们经常使用的数组不止可以拿来储存数字,还可以储存各种各样的数据,包括对象 

1.需求:定义一个长度为3的数组,存储3个Person对象,遍历数组,将三个Person对象中的属性值获取出来

创建一个Person类

public class Person {
    private String name;
    private int age;


    public Person() {
    }

    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
}

使用快捷键非常快速,先alt+ins生成一个无参的,一个有参的,和get,set方法

现在编写测试类Demo01ObjectArray

public class Demo01ObjectArray {
    public static void main(String[] args) {
        /*
           Person p = new Person();

           1.定义一个存储int型数据的数组:int[]
           2.定义一个存储double型的数组:double[]
           3.定义一个存储String型的数组:String[]
           4.定义一个存储Person型的数组:Person[]
         */
        //定义数组
        Person[] arr = new Person[3];

        //创建三个对象
        Person p1 = new Person("张三",20);
        Person p2 = new Person("李四",22);
        Person p3 = new Person("王五",30);

        //将三个对象保存到数组中
        arr[0] = p1;
        arr[1] = p2;
        arr[2] = p3;

        /*
           遍历
           当i = 0  arr[0] 就是 p1对象
           当i = 1  arr[1] 就是 p2对象
           当i = 2  arr[2] 就是 p3对象
         */
        for (int i = 0; i < arr.length; i++) {
            //Person p = arr[i];
            System.out.println(arr[i].getName()+"..."+arr[i].getAge());
        }
    }
}

先开辟空间,再创建数组对象,调用方法,再将对象保存在数组中,然后遍历显示name和age

二,方法参数

1.基本数据类型做方法参数传递

基本类型做方法参数传递,传递的是值,不是变量本身
方法运行:压栈
方法运行完毕:弹栈 -> 释放栈内存

示例:方法中的值与main方法中的值

public class Demo01Param {
    public static void main(String[] args) {
        int a = 10;
        int b = 20;
        method(a,b);
        System.out.println(a);//10
        System.out.println(b);//20
    }
    public static void method(int a,int b){
        a+=10;
        b+=20;
        System.out.println(a);//20
        System.out.println(b);//40
    }
}

运行结果

2.引用数据类型做方法参数传递

引用数据类型做方法参数传递时,传递的是地址值

示例:方法中的值与main方法中的值

public class Demo02param {
    public static void main(String[] args) {
        int[] arr = {10,20};
        method(arr);
        System.out.println(arr[0]);//20
        System.out.println(arr[1]);//40
    }

    public static void method(int[] arr){
        arr[0]+=10;
        arr[1]+=20;
        System.out.println(arr[0]);//20
        System.out.println(arr[1]);//40
    }


}

运行结果

三,命令行参数

通过命令行给main方法的形参传递的实参称为命令行参数

以下演示两种方式给main函数传递实参

第一种:在Notepad++中使用

首先,在你的分区中新建一个文本文档,然后把它命名为TestCommandParam,记得把text改成java,然后保存

输入以下代码进行main函数中参数数组args的遍历

public class TestCommandParam{
	//形参:String[] args
	public static void main(String[] args){
		for(int i=0; i<args.length; i++){
			System.out.println("第" + (i+1) + "个参数的值是:" + args[i]);
		}
	}
}

接下来win+r输入cmd打开命令提示符窗口

注意,这是在运行方式打开的窗口,所以进去后不能直接操作,要先切盘(输入你程序所在的盘符,比如我在E盘就打E:)

然后输入javac TestCommandParam.java

再输入java TestCommandParam ....... ,后面就是要赋的值

第二种:在IDEA里进行赋值

首先创建一个类,输入前面代码

然后点击右上角小锤子右边的方框,选择编辑配置

大部分情况会出现左边一栏没有当前类的情况,但不用担心,选择浏览项目

在搜索框里面搜索当前类点击添加就好,然后点击应用或ok

接下来传参,在这个方框中填写

然后应用或ok

执行

这样有什么用呢?我们以后如果做了一个项目,想测试某些功能,我们可以在页面上设计一个按钮,按钮绑定了这个功能,但这样太麻烦了,需要一个页面,需要服务器,这时就可以用main方法测试。举个栗子:

编一个有参无返回值方法,传两个字符串,在main里面调用方法,并传递args数组的组值

public class Demo04param {
    //形参:String[] args
    public static void main(String[] args){
        method(args[0],args[1]);

    }


    public static void method(String s1,String s2){
        System.out.println(s1+s2);
    }
}

用上述方法给main函数赋实参

运行

何不直接写参数呢?在这个情况下确实是脱裤子放屁。

但如果我们的角度不是想测试这个方法可行不可行,而是我们本就想测这个值本身的可行性呢,那就说得通了

四,快速生成方法

1.快速生成方法

初学者要求先定义,再调用;不是初学者,就可以先调用,再定义方法
  a.快捷键:alt+回车

这个方法能够生成所有之前提到的四种方法(无参无返回值方法,有参无返回值方法,无参有返回值方法,有参有返回值方法)

所有的只需要按下alt+回车


就自动生成

2.快速将一段代码抽取到一个方法中
 

a.选中要抽取的方法
  b.按ctrl+alt+m      

比如以下代码,快速选中你想提取的部分

使用快捷键

点击齿轮小按钮,可以改名,改修饰符

标签:arr,Java,String,--,Person,int,参数,方法,public
From: https://blog.csdn.net/THRUSTER11111/article/details/143946823

相关文章

  • C语言基础算法讲解
    C语言基础算法剖析算法是C语言学习中绕不过去的坎。官方定义来讲,算法就是为解决一个问题采取的方法步骤。算法蕴含的内容远不是一篇文章能讲清的,我暂时也没能力讲清,本文只是帮助初学者初步了解一些经典的算法一.排序排序是C语言最经典的算法之一,本文在这里初步介绍四种......
  • 心觉:写作,是一次从心出发的觉醒之旅
    每日一省写作240/1000天最近,我回顾了自己的写作旅程,触动非常深写作,原本我只是想深度思考,解决自己心中的困惑有时候甚至是我抒发情绪、排解压力的一种方式,但它却在无意间成为了我重新认识自己、改变生活的一个契机我特别的惊讶,小小的写作竟然还有如此惊人的力量起初,我只......
  • 矩阵消元 elimination
    矩阵消元elimination​ 我们考虑一个方程组:\[\left\{\begin{matrix}x&+2y&+z&=&2\\3x&+8y&+z&=&12\\&4y&+z&=&2\end{matrix}\right.\]同之前一样,考虑\(A\symbfitx=b\)形式,得到:\[A=\begin{bmatrix}1&2&......
  • 【C++】类(一):定义抽象数据类型
    类这部分内容对应于C++Primer第五版的第七章全部内容。原书当中的内容包括:7.1定义抽象数据类型;7.2访问控制与封装;7.3类的其它特性;7.4类的作用域;7.5构造函数再探;7.6类的静态成员;类的基本思想是数据抽象(dataabstraction)和封装(encapsulation)。数据抽象是一种依赖......
  • Java基于SpringBoot+Vue的超市进销存管理系统
    1.技术栈技术:SpringBoot+Vue环境:JDK1.8IDEAMySQL5.7前后端分离项目2.主要功能3.效果截图4.系统文档1w字+5.说明资料获取联系我哟( ̄▽ ̄)~*......
  • 2024-2025-1 20241415 《计算机基础与程序设计》第九周学习总结
    2024-2025-120241415《计算机基础与程序设计》第九周学习总结作业信息这个作业属于哪个课程2024-2025-1-计算机基础与程序设计这个作业要求在哪里2024-2025-1计算机基础与程序设计第九周作业这个作业的目标操作系统责任,内存与进程管理,分时系统,CPU调度,文件、文件......
  • (附源码)springboot新时代文明实践中心志愿服务管理系统的设计与实现-计算机毕设 28965
     springboot新时代文明实践中心志愿服务管理系统的设计与实现摘   要随着新时代文明实践中心志愿服务的兴起,为提升志愿服务管理效率与质量,设计开发了基于SpringBoot的志愿服务管理系统。该系统涵盖了Java开发语言、MySQL数据库,主要面向管理员、社工组织者和志愿......
  • 三、jmeter几类线程组介绍
    基本线程组(BasicThreadGroup)特点:这是最常用的线程组类型,它提供了基本的参数设置来模拟用户行为。可以简单直观地设置线程数(即并发用户数)、准备时长(Ramp-UpPeriod)、循环次数和延迟时间。参数含义及应用场景:线程数:用于确定模拟的并发用户数量。例如,在测试......
  • 1、单例模式
    模式解释百度:这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。单例模式是一种创建型设计模......
  • 动态规划(一)——基本工具(上)第三章节之区间DP
    问题导入我们来看一个最最简单的区间DP问题:求每个区间[i…j]......