首页 > 编程语言 >Java方法

Java方法

时间:2023-07-16 19:33:08浏览次数:52  
标签:Java int System 返回值 方法 public out

0x01 认识方法

1、什么是方法

方法是一种语法结构,它可以把一段代码封装成一个功能

2、为什么要用方法

以方便重复调用。方法提高了代码的复用性,让程序的逻辑更清晰。

0x02 方法的使用

1、方法的定义及其调用

修饰符  返回值类型  方法名( 形参列表 ){
	法体代码(需要执行的功能代码)
	return 返回值;
}
public class MethodDemo {
    public static void main(String[] args) {
        int sum = add(10, 20);  //调用方法,方法必须调用才可以跑起来
        System.out.println(sum);
    }

    public static int add(int a, int b) {
        int c = a + b;  //方法的执行代码
        return c;  //返回值
    }
}

方法的修饰符:暂时都使用public static 修饰。

方法申明了具体的返回值类型,内部必须使用return返回对应类型的数据。

形参列表可以有多个,甚至可以没有; 如果有多个形参,多个形参必须用“,”隔开,且不能给初始化值。

image-20230716144339591

2、方法的其他写法

方法定义时:返回值类型、形参列表可以按照需求进行填写

如果方法不需要返回结果,返回值类型必须申明成void(无返回值), 此时方法内部不可以使用return返回数据。

方法如果没有参数,或者返回值类型申明为void可以称为无参数、无返回值的方法,依次类推。

//  打印3行Hello World(使用方法)
public static void print(){
	System.out.println("Hello World");
	System.out.println("Hello World");
	System.out.println("Hello World");
}

3、方法的注意点

方法的编写顺序无所谓。

方法与方法之间是平级关系,不能嵌套定义。

方法的返回值类型为void(无返回值),方法内则不能使用return返回数据,如果方法的返回值类型写了具体类型,方法内部则必须使用return返回对应类型的数据。

return语句下面,不能编写代码,因为永远执行不到,属于无效的代码。

方法不调用就不执行, 调用时必须严格匹配方法的参数情况。

有返回值的方法调用时可以选择定义变量接收结果,或者直接输出调用,甚至直接调用;无返回值方法的调用只能直接调用。

方法如果没有形参列表,调用的时候则不能传入参数值,否则报错。

0x03 方法的案例

1、计算1-n的和返回

需求:定义一个方法,方法中计算出 1-n的和并返回。

import java.util.Scanner;

public class MethodDemo {
    public static void main(String[] args) {

        //需求:定义一个方法,方法中计算出 1-n的和并返回。
        Scanner sc = new Scanner(System.in);
        System.out.print("请输入n的值: ");
        int n = sc.nextInt();
        int sum = get_sum(n);
        System.out.println("1到n的和为: " + sum);
    }

    public static int get_sum(int n) {
        int sum = 0;
        for (int i = 1; i <= n; i++) {
            sum += i;
        }
        return sum;
    }
}

2、判断整数是奇数还是偶数

需求:拿一个整数,然后调用方法,把整数交给方法,在方法中输出该数为奇数还是偶数

import java.util.Scanner;

public class MethodDemo {
    public static void main(String[] args) {

        //需求:拿一个整数,然后调用方法,把整数交给方法,在方法中输出该数为奇数还是偶
        Scanner sc = new Scanner(System.in);
        System.out.print("请输入一个整数: ");
        int number = sc.nextInt();
        judge(number);
    }

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

0x04 方法在计算机中的执行原理

方法是放在方法区中的,被调用的时候,需要进入到栈内存中运行

image-20230716162227662

image-20230716162240741

0x05 Java的参数传递机制

1、基本类型的参数传递

image-20230716164713911

image-20230716164658306

2、引用类型的参数传递

image-20230716164643218

0x06 方法重载

同一个类中,出现多个方法名称相同,但是形参列表是不同的,那么这些方法就是重载方法。

方法重载的作用:可读性好,方法名称相同提示是同一类型的功能,通过形参不同实现功能差异化的选择,这是一种专业的代码设计

image-20230716164952406

同一个类中,多个方法的名称相同,形参列表不同,其他无所谓

形参的个数、类型、顺序不同。不关心形参的名称。

0x07 return单独使用

return; 可以立即跳出并结束当前方法的执行。

public class MethodDemo {

    public static void main(String[] args) {
        System.out.println("开始");
        chu(10, 0);
        System.out.println("结束");
    }

    public static void chu(int a, int b) {
        if (b == 0) {
            System.err.println("您的数据有误!!不执行!!");
            return; // 直接结束当前方法
        }
        int c = a / b;
        System.out.println("除法结果是:" + c);
    }
}

标签:Java,int,System,返回值,方法,public,out
From: https://www.cnblogs.com/charonlight/p/17558385.html

相关文章

  • 学习java第4天
    HelloWorld随便新建一个文件夹,存放代码新建一个java文件-文件后缀名为.java-Hello.java-[注意点]系统可能没有显示文件后缀名,我们需要手动打开编写代码publicclassHello{publicstaticvoidmain(String[]args){System.out.print("Hello,......
  • Java流程控制
    Java流程控制用户交互Scanner通过Scanner类来获取用户的输入基本语法:Scanners=newScanner(System.in);通过Scanner类的next()与nextLine()方法获取输入的字符串,在读取前我们一般需要使用hasNext()与hasNextLine()判断是否还有输入的数据next():一定要读取到有效字......
  • python魔术方法模拟篇
    6,模拟篇__call____len____length_hint____getitem____setitem____delitem____reversed____contains____iter____missing____enter__和__exit____call__方法所谓的callable就是可以以函数调用的形式来使用的对象,那想让一个类的对象成为callable,我们需要给它定义这个......
  • spire 的nested exception is java.lang.NoSuchMethodError
    解决"spire的nestedexceptionisjava.lang.NoSuchMethodError"的步骤概述在解决"spire的nestedexceptionisjava.lang.NoSuchMethodError"这个问题之前,我们首先需要了解什么是NoSuchMethodError错误。NoSuchMethodError错误表示在运行时找不到所需的方法。这通常是......
  • required a bean of type 'java.util.concurrent.ConcurrentHashMap' that could
    如何解决"requiredabeanoftype'java.util.concurrent.ConcurrentHashMap'thatcould"错误问题概述在开发过程中,有时我们会遇到SpringBoot应用程序启动时出现"requiredabeanoftype'java.util.concurrent.ConcurrentHashMap'thatcould"错误的问题。这个错......
  • HTML5的Video标签的属性,方法和事件汇总
    HTML5的Video标签的属性,方法和事件汇总 常用屬性與方法:获取视频元素:varvideoElement=document.getElementById("videoPlay");获取设置音量大小:videoElement.volume获取设置当前播放的位置:videoElement.currentTime播放视频:videoElement.play()暂停视频:videoElement.p......
  • Docker部署Java应用[转]
    练习要求:在CentOSLinuxrelease7.7.1908(Core)中,先拉一个Centos镜像,然后在光秃秃的centos镜像基础上把项目环境搭建好,然后再提交到自己的docker仓库里。 操作环境:虚拟机中安装好的CentOSLinuxrelease7.7.1908(Core) 一、安装并启动Docker 1.更新yumyum-yu......
  • Java-多线程-八股文
    线程安全的理解?线程安全说的是,当多个线程并发访问互斥资源时,读写互斥资源的代码逻辑能正常处理,获得正确结果,不会互相干扰的情况。守护线程的理解?守护线程是与普通线程相区分的概念,用户一般使用的就是普通线程,普通线程有自身独立的生命周期,而守护线程的生命周期取决于普通......
  • Java-Day-32( 多用户即时通信系统 —— 文件传输 + 服务器推送新闻 + 离线留言 )
    Java-Day-32多用户即时通信系统文件传输思路:客户端里先把文件读取到客户端为字节数组,把文件对应的字节数组封装到message对象,内含文件内容、sender、getter,将message对象发送给服务端拆解message对象获取getterid,获取客户端被指定的接收用户的通信线程,把message转......
  • Java-JVM-八股文
    线程共享区堆区与方法区是所有线程共享的栈区:主要存放基本数据类型与对象引用(仅限局部变量,成员变量不管是不是基本数据类型都存放于堆)堆区:主要存放对象实例与数组[我的理解就是,由代码操作生成的对象或者说引用类型存放于堆]方法区:类信息(class文件)、静态变量与静态方......