Java编程在方法中哪些时候需要参数

目录
  • Java在方法中什么时候需要参数
  • Java中类的无参,带参方法重点总结
    • 类的方法定义类的某种行为(或功能)
    • 方法的返回值(两种情况)
    • 成员变量和局部变量
    • 成员变量和局部变量的区别
    • 定义带参数的方法
    • 调用带参数的方法
    • 小结

Java在方法中什么时候需要参数

可能有很多人在学习Java的过程中,在构建方法时总是不知道何时该写参数,何时不写,那么接下来我们写一个最简单的例子来说明有参数的重要性。

如图中的例子,如果我们要计算b和c的值,只需要在调用add()方法的时候把b和c替换成你想计算的数就行了。其它的方法可以以此类推。

Java中类的无参,带参方法重点总结

类的方法定义类的某种行为(或功能)

步骤一:定义方法名以及返回值类型

步骤二:编写方法体

定义类的方法:

public   返回值类型  方法名()  {
           //方法的主体
}

方法的返回值(两种情况)

1. 如果方法具有返回值,方法中必须使用关键字return返回该值,返回值类型为该返回值的类型

public class Student{
    String name = "张三";
    public String  getName(){
            return name;
  }
   //……
}

语法:return 表达式;

作用: 跳出方法、返回结果;

2. 如果方法没有返回值,返回值类型为void

public class Student{
    String name = "张三";
    public void getName(){
    }
   //……
}

方法调用:执行方法中包含的语句

对象名.方法名();

方法之间允许相互调用,不需要知道方法的具体实现,实现重用,提高效率

情况 举例
Student类的方法a( )
调用Student类的方法b( ),
直接调用
public void a( ) {
b( ); //调用b( )
}
Student类的方法a( )
调用Teacher类的方法b( ),
先创建类对象,然后使用“.”调用
public void a( ) {
Teacher t = new Teacher( );
t.b( ); //调用Teacher类的b()
}

成员变量和局部变量

变量声明的位置决定变量作用域

变量作用域确定可在程序中按变量名访问该变量的区域

成员变量和局部变量的区别

1. 作用域不同

局部变量的作用域仅限于定义它的方法

成员变量的作用域在整个类内部都是可见的

2. 初始值不同

Java会给成员变量一个初始值

Java不会给局部变量赋予初始值

注意:

1. 在同一个方法中,不允许有同名局部变量;在不同的方法中,可以有同名局部变量

2. 在同一个类中,成员变量和局部变量同名时,局部变量具有更高的优先级

定义带参数的方法

<访问修饰符>  返回类型  <方法名>(<形式参数列表>) {
     //方法的主体
}

访问修饰符:该方法允许被访问调用的权限范围;返回类型:方法返回值的类型;形式参数列表:传送给方法的形参列表

public class StudentsBiz {
String[ ] names = new String[30];   
public void addName(String name) {   (没有返回值)
//增加学生姓名                   (一个形式参数)
}
public void showNames() { //显示全部学生姓名
                }
}

调用带参数的方法

对象名.方法名(参数1, 参数2,……,参数n)   (实参列表)

public static void main(String[] args) {
        StudentsBiz st = new StudentsBiz();      (先实例化对象,再使用方法)
        Scanner input = new Scanner(System.in);
        for(int i=0;i<5;i++){
            System.out.print("请输入学生姓名:");
            String newName = input.next();
            st.addName(newName);      (实参的类型、数量、顺序都要与形参一一对应)
        }
        st.showNames();
    }

小结

形参和实参

  • 方法定义处,参数叫做形式参数,也叫形参(主要约束参数的类型的)
  • 形参名字可以随便取,但是要符合驼峰命名规则,同时要有意义
  • 方法调用处,参数叫做实际参数,也叫实参
  • 实参名字也可以随便取,但是遵循驼峰命名规则,同时也要有意义
  • 实参和形参的类型必须一致,名字可以一致,也可以不一致
  • 方法有没有返回值,和方法有没有参数,没有任何关系
  • 方法参数可以有一个,也可以有多个,多个参数之间用逗号隔开(形参和实参都是这样)
  • 形整和实参数量一定要一致,数据类型一定要一致

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • java构造器 默认构造方法及参数化构造方法

    目录 1.构造器 1.1 权限修饰符是public 1.2 显示定义构造器 1.构造器 构造器也叫构造方法.构造函数,是一种特殊类型的方法,负责类中成员变量(域)的初始化.构造器的用处是在创建对象时执行初始化,当创建一个对象时,系统会为这个对象的实例进行默认的初始化. 有两种类型的构造方法: 1.默认构造方法(无参数构造方法) 2.参数化构造方法 1.1 权限修饰符是public 权限修饰符是public,表示内部属性能被其他类访问到. java默认的构造方法是无参的. Java编译器会自动创建

  • java实现表单必填参数验证的方法

    一. 概述 在开发后端接口, 通常都会涉及检验参数必填校验, 一般我们的处理都是很粗暴的写个if()判断, 然后抛异常. 本文将介绍通过代理的思想, 用注解优雅的处理非空判断 二. 实现过程 最终想要的效果->在方法的参数加个注解或者参数的属性里加个注解, 注解可以自定义报错信息, 就可以实现自动非空校验 2.1 编写注解 @Target({ElementType.FIELD}) //作用的位置 @Retention(RetentionPolicy.RUNTIME) //作用域 @Documen

  • 论java如何通过反射获得方法真实参数名及扩展研究

    前言 前段时间,在做一个小的工程时,遇到了需要通过反射获得方法真实参数名的场景,在这里我遇到了一些小小的问题,后来在部门老大的指导下,我解决了这个问题.通过解决这个问题,附带着我了解到了很多新的知识,我觉得有必要和大家分享交流一下. 示例 咱们先来看这样一个小的demo: 这是一个很简单的小demo,里面就是一个简简单单的类Test1,Test1有一个包含两个参数的方法test,在Test1的main方法中通过射来获得test方法的所有参数的名字,并将其输出到标准流.我本以为这个demo的运行结

  • java中有无参数和返回值的方法详解

    目录 java有无参数和返回值 以下的例子要细细查看 方法的返回值和参数 1.返回值 2.参数 java有无参数和返回值 首先,定义一个土豪类(LocalTyrant) 属性:name moeney smoke 行为一:(无参数无返回值): 行为二:(无参数有返回值): 行为三:(有参数有返回值): 行为四:(有参数无返回值): 以下的例子要细细查看 慢慢分析,切不可急于求成 package cm.tr; class LocalTyrant{ String name; int money; St

  • Java系统变量参数获取设置System.getProperties()的方法

    1.获取 String osName =System.getProperties().getProperty("os.name"); System.out.println(osName); 结果输出:Windows 10 2.设置 System.setProperty("jdbc.drivers","xxx"); 这时系统变量才会输出jdbc.drivers系统变量名 3.常用参数 package com.sd3e.projectmanager.

  • Java编程在方法中哪些时候需要参数

    目录 Java在方法中什么时候需要参数 Java中类的无参,带参方法重点总结 类的方法定义类的某种行为(或功能) 方法的返回值(两种情况) 成员变量和局部变量 成员变量和局部变量的区别 定义带参数的方法 调用带参数的方法 小结 Java在方法中什么时候需要参数 可能有很多人在学习Java的过程中,在构建方法时总是不知道何时该写参数,何时不写,那么接下来我们写一个最简单的例子来说明有参数的重要性. 如图中的例子,如果我们要计算b和c的值,只需要在调用add()方法的时候把b和c替换成你想计算的数就

  • java编程调用存储过程中得到新增记录id号的实现方法

    本文实例讲述了java编程调用存储过程中得到新增记录id号的实现方法.分享给大家供大家参考,具体如下: 关于ms sql server2000的存储过程,主要作用是在表test中插入一条记录,然后得到新增加记录的id号. test表三个字段: ID:自动增长 yhm:用户名 字符串类型 kl: 密码   字符串类型 那么在java程序中如何调用这个存储过程才能实现,得到新增加记录的id号 存储过程如下: CREATE PROCEDURE yh_insert @yhm varchar(50),@k

  • Java编程删除链表中重复的节点问题解决思路及源码分享

    一. 题目 在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针. 二. 例子 输入链表:1->2->3->3->4->4->5 处理后为:1->2->5 三. 思路 个人感觉这题关键是注意指针的指向,可以定义一个first对象(值为-1,主要用于返回操作后的链表),first.next指向head,定义一个last同样指向first(主要用于操作记录要删除节点的前一个节点),定义一个p指向head,指向当前节点.

  • 浅谈Java编程ToString()方法重写的意义

    上一篇文章我们介绍了java tostring方法重写代码示例,接下来,我们简单聊聊java编程tostring()方法重写的意义. 1.toString()就是是重写,对于一般的对象来说都会有这个方法,其实这个方法的目的,主要就是将对象按字符串的方式输出出来:打个比方,比如一个People类,里边有name,age这两个属性, 如果你People p = new People(); p.toString(); 这么做的话,默认输出就是一个内存地址. 那么你会想到重写ToString():这个方

  • Java编程—在测试中考虑多态

    面向对象编程有三大特性:封装.继承.多态. 封装隐藏了类的内部实现机制,可以在不影响使用的情况下改变类的内部结构,同时也保护了数据.对外界而已它的内部细节是隐藏的,暴露给外界的只是它的访问方法. 继承是为了重用父类代码.两个类若存在IS-A的关系就可以使用继承.,同时继承也为实现多态做了铺垫.那么什么是多态呢?多态的实现机制又是什么?请看我一一为你揭开: 所谓多态就是指程序中定义的引用变量所指向的具体类型和通过该引用变量发出的方法调用在编程时并不确定,而是在程序运行期间才确定,即一个引用变量倒底

  • Java 图文并茂讲解主方法中的String[] args参数作用

    目录 一.作用 二.在控制台传入参数 三.在IntelliJ IDEA中传入参数 总结 一.作用 主方法就是程序的入口,那么里面的String[] args参数是什么意思呢? String[]表示的是字符串类型的数组,args表示的是传入的参数名,所以整体的意思就是主方法main(String[] args)可以接收一个字符串类型的数组,数组名字为args.(相当于入参) args这个数组是留给用户的,用户可以在外部输入参数,这个参数会被自动转换为"Sting[] args"传入主方法

  • Python requests.post方法中data与json参数区别详解

    在通过requests.post()进行POST请求时,传入报文的参数有两个,一个是data,一个是json. data与json既可以是str类型,也可以是dict类型. 区别: 1.不管json是str还是dict,如果不指定headers中的content-type,默认为application/json 2.data为dict时,如果不指定content-type,默认为application/x-www-form-urlencoded,相当于普通form表单提交的形式 3.data为s

  • Python requests.post()方法中data和json参数的使用方法

    目录 json和dict requests.post() post请求中json和data的区别 json和dict python中的dict类型要转换为json格式的数据需要用到json库: import json <json> = json.dumps(<dict>) <dict> = json.loads(<json>) 需要注意的是: python中并没有json类型这一说法,通过json.dumps(<dict>)转换的字典对象,最后得

  • Java编程实现游戏中的简单碰撞检测功能示例

    本文实例讲述了Java编程中的简单碰撞检测功能.分享给大家供大家参考,具体如下: 今天在家正在写一个坦克大战的小游戏来玩,遇到了一个简单的圆和圆的碰撞检测的小问题, 碰撞检测的过程处理主要有以下三步: 1.碰撞检测(Collision Detection):返回两个或多个物体是否发生碰撞的布尔判断. 2.碰撞确定(Collision Determination):找到物体之间实际相交位置. 3.碰撞响应(Collision Response):针对两个物体之间的碰撞决定采取何种操作. 下面是关于

  • Java多线程run方法中直接调用service业务类应注意的问题及解决

    目录 多线程run方法中直接调用service业务类应注意 图解如下 多线程知识点 线程启动的四种方式 使用@Aysnc注解实现多线程 用户线程与守护线程的区别 线程的六种状态 Java锁的可重入性 线程池的四种拒绝策略 sleep和wait的区别 为什么wait(),notify(),notifyAll()在对象中,而不在Thread类中 多线程run方法中直接调用service业务类应注意 Java多线程run方法里边使用service业务类会产生java.lang.NullPointerE

随机推荐