首页 > 编程语言 >Java方法

Java方法

时间:2023-07-15 23:44:10浏览次数:35  
标签:调用 Java 递归 参数 返回值 方法

Java方法

何为方法?

  • System.out.println(),那么它是什么呢?

  • Java方法是语句的集合,它们在一起执行一个功能。

    • 方法是解决一类问题的步骤的有序组合
    • 方法包含于类或对象中
    • 方法在程序中创建,在其他方法被引用
  • 设计方法的原则:方法的本意是功能块,就是实现某个功能的语句块的集合。我们设计方法的时候,最后保持方法的原子性,就是一个方法只完成1个功能,这样利于我们后期的扩展。

  • 回顾:方法的命名规则?


方法的定义和调用

方法的定义

  • Java的方法类似于其他语言的函数,是一段用来完成特定功能的代码片段,一般情况下,定义一个方法包含以下语法:

    • 方法包含一个方法头和方法体。下面是一个方法的所有部分:

      • 修饰符:修饰符,这是可选的,告诉编译器如何调用该方法,定义了该方法的访问类型。
      • 返回值类型:方法可能返回值。returnValueType是方法返回值的数据类型。有些方法执行所需的操作,但没有返回值。在这种情况下,returnValueType是关键字void。
      • 方法名:是方法的实际名称。方法名和参数表共同构成方法签名。
      • 参数类型:参数像是一个占位符。当方法被调用时,传递值给参数。这个值被称为实参或变量。参数列表是指方法的参数类型、顺序和参数的个数。参数是可选的,方法可以不包含任何参数。
        • 形式参数:在方法被调用时用于接收外界输入的数据。
        • 实参:调用方法是实际传给方法的数据。
      • 方法体:方法体包含具体的雨具,定义该方法的功能。
      修饰符 返回值类型 方法名(参数类型 参数名){
         	...
          方法体
          ...
          return 返回值;
      }
      

方法调用

  • 调用方法:对象名.方法名(实参列表)
  • Java支持两种调用方法的方式,根据方法是否返回值来选择。
  • 当方法返回一个值的时候,方法通常被当做一个值。例如:
int larger=max(30,40);
  • 如果方法返回值是void,方法调用一定是一条语句。
System.out.println("Hello,xiaohao!");

方法的重载

  • 重载就是在一个类中,有相同的函数名称,但形参不同的函数。

  • 方法的重载的规则:

    • 方法名称必须相同
    • 参数列表必须不同(个数不同、或类型不同、参数排列顺序不同等)。
    • 仅仅返回值类型不同不足以成为方法的重载。
  • 实现理论:

    • 方法名称相同时,编译器会根据调用方法的参数个数、参数类型等去逐个匹配,以选择对应的方法,如果匹配失败,则编译器报错。

命令行传参

  • 有时候你希望运行一个程序时候再传递给它消息。这要靠传递命令行参数给main()函数实现。
public class CommandLine{
    public static void main(String[] args){
        for(int i=0;i<args.length;i++){
            System.out.println("args["+i+"]:"+args[i]);
        }
    }
}
javac CommandLine.java
java ComandLine.class(全类名)

可变参数

  • JDK1.5开始,Java支持传递同类型的可变参数给一个方法。
  • 在方法声明中,在指定参数类型后加一个省略号(...)。
  • 一个方法中只能指定一个可变参数,它必须是方法的最后一个参数。任何普通的参数必须在它之前声明。
public static void printMax(double... numbers){
    if(numbers.length==0){
        System.out.println("No argument passed");
        return;
    }
    double result=numbers[0];
    
    //排序!
    for(int i=1;i<numbers.length;i++){
        if(number[i]>result){
            result=numbers[i];
        }
    }
    System.out.println("The max value is"+result);
}

递归

  • A方法调用B方法,我们很容易理解!

  • 递归就是:A方法调用A方法!就是自己调用自己

  • 利用递归可以用简单的程序来解决一些复杂的问题。它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需要少量的程序就可描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量。递归的能力在于用有限的雨具来定义对象的无线集合。

  • 递归结构包含两个部分:

    • 递归头:什么时候不调用自身方法。如果没有头,将陷入死循环。
    • 递归体:什么时候需要调用自身方法。

标签:调用,Java,递归,参数,返回值,方法
From: https://www.cnblogs.com/stx-xh6/p/17557249.html

相关文章

  • java的cmd命令行和jsch执行压测
    前言项目中用到了cmd命令去执行,但是发现一个问题就是,当需要切换用户和执行命令的时候特别的麻烦,所以后面又该用了jsch的连接方式,测试一下性能理想不理想,看看有劣势。相关配置ssh的连接数#cat/etc/ssh/sshd_config|grepMaxSessions#MaxSessions1000测试代码@GetMapping("/cmd"......
  • Java数组
    0x01认识数组1、什么是数组数组就是用来存储一批同种类型数据的容器。int[]arr={20,10,80,60,90};String[]names={"张三","李四","王二"};2、为什么要用数组假如用变量学生名字,然后完成随机点名功能,怎么实现?存在有什么问题?Stringname1="张誉";Stringnam......
  • java写入数据 加锁操作
    publicstaticvoidmain(Stringargs[]){ ConnectionconnMySQL=null; Statementstmt=null; StringstrJDBC_DRIVER="com.mysql.cj.jdbc.Driver";//java8的链接写法,java5把cj.去掉就行StringstrDB_URL="jdbc:mysql://localhost:3306......
  • JavaScript
    html<!DOCTYPEhtml><htmllang="en"xmlns="http://www.w3.org/1999/html"><head><metaname="author"content="weiyupeng"><metaname="time"content="2023/7/1020:23"......
  • java-base-two
    ArrayList扩容机制扩容一半(默认方式):当容量不足时,ArrayList将容量扩大为原来的1.5倍,即将原来的容量除以2,然后加上原来的容量。       如果新创建的集合有带初始值,默认就是传入的大小,在初始化时就会用传入的大小不会扩容,当大小不够后再去扩容。在方法中定义......
  • 吊打面试官的16000字JVM专属秘籍,又一个Java面试神器!
    前言吊打面试官的16000字JVM专属秘籍,总共包含三部分的内容,从基础到进阶带大家一步步深入理解JVM!学完就可以在简历上面直接写上精通JVM!因为篇幅限制这里只给大家做简单的一个介绍,也就是进行一个大点的梳理,每个大点下面又有很多细枝末节的技能知识需要大家好好学透,并且能够掌握吸收到......
  • Java 集合和流
    (目录)一、从集合中获取流JavaStreamAPI提供了一种更实用的编程方法来迭代和处理集合等元素。JavaStreamAPI是在Java8中添加到Java中的。流大部分是和Javalambda表达式一起使用,不熟悉lambda表达式的建议了解之后阅读。可以通过调用给定集合的方法从集合中获取流......
  • Java学习day04: 方法和数组
    我在B站上大学......
  • python魔术方法类构建篇
    本篇章的很多魔术方法都是跟class的建立有关的4,类构建篇__init_subclass____set_name____class_getitem__和__mro_entries____prepare____instancecheck__和__subclasscheck__ __init_subclass__方法__init_subclass__这个方法你要定义在基类里面,然后当你以这个类为基......
  • Java重要类型的转换
    类型转换由于Java是强类型语言,所以要进行有些运算的时候的,需要用到类型转换。低--------------------------------------------------------->高byte,short,char--->int-->long-->float-->double运算中,不同类型的数据先转化为同一类型,然后进行运算。 ......