一、什么是方法

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

    ①方法是解决一类问题的步骤的有序组合
    ②方法包含与类或对象中
    ③方法在程序中被创建,在其他地方被引用
  2.设计方法的原则:方法的本意是功能快,就是实现某个功能的语句块的集合。我们设计方法的时候,最好保持方法的原子性,就是一个方法只完成1个功能,这样利于我们后期的扩展。
  3.方法的命名规则:首字母小写的驼峰命名规则

   

二、方法的定义及调用

Java的方法类似与其它语言的函数,是一段用来完成特定功能的代码片段,一般情况下,定义一个方法包含一下语法:
  1.方法包含一个方法头和一个方法体。下面是一个方法的所有部分:
    ①修饰符:修饰符,这是可选的,告诉编译器如何调用该方法。定义了该方法的访问类型。
    ②返回值类型:方法可能会有返回值,return Value Type是方法返回值的数据类型。有些方法执行所需的操作,但没有返回值。在这种情况下。return Value Type的关键字是void
    ③方法名:是方法的实际名称。方法和参数表共同构成方法签名。
    ④参数类型:参数像是一个占位符。当方法被调用时,传递值给参数,这个值被称为实参或变参。参数列表是指方法的参数类型、顺序和参数的个数。参数是可选的,方法可以不包含任何参数。
      Ⅰ形式参数:在方法被调用时用于接收外界输入的数据。
      Ⅱ实参:调用方法时实际传给方法的数据。
    ⑤方法体:方法体包括具体的语句,定义该方法的功能。

  2.方法调用

    ①调用方法:对象名。方法名(实参列表)
    ②Java支持两种调用方法的方式,根据方法是否返回值来选择。
    ③当方法返回一个值的时候,方法调用通常被当做一个值。例如:

    

    ④如果方法返回值时void,方法调用一定是一条语句。

    

    ⑤拓展了解:值传递和引用传递,Java中都是值传递。

    ⑥比较两个数的大小:

    

三、方法重载

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

  2.方法的重载的规则:

    ①方法名称必须相同。
    ②参数列表必须不同(个数不同,或类型不同,参数排列顺序不同等)
    ③方法的返回类型可以相同也可以不相同
    ④仅仅返回类型不同不足以成为方法的重载
  3.实现理论:方法名称相同时,编译器会根据调用方法的参数个数,参数类型等去逐个匹配,已选择对应的方法,如果匹配失败,则编译器报错

四、命令行传参

  有时候你希望运行一个程序的时候再传递给它消息。这要靠传递命令行参数给main(),mian()方法是一个数组,可以把参数传给它,然后遍历出来。

五、可变参数

  1.jdk1.5开始,Java支持传递同类型的可变参数给出的一个方法。
  2.在方法声明中,在指定参数类型后加一个省略号(...)
  3.一个方法中只能指定一个可变参数,它必须是方法的最后一个参数,任何普通的参数必须在它之前声明。

    

六、递归

  1.A方法调用B方法,我们很容易理解,递归就是:A方法调用A方法,就是自己调自己
  2.利用递归可以用简单的程序来解决一些复杂的问题,它通常把一个大型的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可描述出解题过程所需要的多吃重复计算,大大地减少了程序的代码量。递归的能力在于用有限的语句来定义对象的无限集合。
  3.递归结构包括两个部分:
    ①递归头:什么时候不调用自身方法。如果没有头,将陷入死循环。
    ②递归体:什么时候需要调用自身方法。

    

Java方法定义及调用。的更多相关文章

  1. JAVA方法定义和调用

    类的方法代表的是实例的某种行为或功能 定义类的方法 访问修饰 类型 方法名(参数列表){ //方法体 } 1.把方法当作一个模块,是个“黑匣子”,完成某个特定的功能,并返回处理结果 2.方法分类“ 返 ...

  2. java方法---定义,调用

    定义,调用 1.方法的定义 方法就是一段用来完成特定功能的代码片段,类似于其它语言的函数. 方法用于定义该类或该类的实例的行为特征和功能实现.方法是类和对象行为特征的抽象. 方法很类似于面向过程中的函 ...

  3. 2.Java基础:方法定义和调用

    一.方法的定义 1.类的方法代表的是实力的某种行为(或功能) 方法的定义:方法类型 . 方法签名 . 方法体 2.定义类的方法 访问修饰符 类型 方法名(参数列表){ ///方法体 } 3.把方法当作 ...

  4. Java中方法定义和调用的学习

    方法其实就是若干语句的功能集合. 参数(原料):就是进入方法的数据.返回值(原产物):就是从方法中出来的数据. 定义方法的完整格式:修饰符  返回值类型  方法名称(参数类型 参数名称,...){ 方 ...

  5. java 第五章 方法定义及调用

    1.方法的定义 什么是方法 方法是完成某个功能的一组语句,通常将常用的功能写成一个方法 方法的定义 [访问控制符] [修饰符] 返回值类型 方法名( (参数类型 形式参数, ,参数类型 形式参数, , ...

  6. java数组遍历、java方法定义

    1.遍历数组for与foreach String [] test =  {"java","php","bootstrap","vu ...

  7. 200-Java语言基础-Java编程入门-005 | Java方法定义及使用

    一.方法概述和格式说明 为什么要用方法: 提高代码的复用性 什么是方法: 完成特定功能的代码块 方法的格式: 修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2...) {     方 ...

  8. 初识JAVA——方法声明和调用

      class TempConverter{ public static void main(String[]args) { changeTemp("132"); } //定义花摄 ...

  9. java 方法定义 调用

    一.定义 格式: 修饰符 返回值类型 方法名(参数){ return } 相比之下python方法的定义简单多了 public static 是修饰符 二.调用 方法名(); 注意:要在main方法中 ...

  10. Java方法通过RestTemplate调用restful接口

    背景:项目A需要在代码内部调用项目B的一个restful接口,该接口是POST方式,header中 Authorization为自定义内容,主要传输的内容封装在body中,所以使用到了RestTemp ...

随机推荐

  1. 重学SpringBoot. step4 Redis的应用

    Redis的应用 Redis支持的七种数据类型:字符串.散列.列表(链表).集合.有序集合.基数和地理位置,具体用Java怎么操作其实可以直接看redisTemplate的源代码. Redis引出来的 ...

  2. Vue34 VueX

    1 简介 Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式 + 库.它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化. vue官方搭配,专属使用 ...

  3. gitlabApi如何获取项目文件夹的commitId

      在我们做配置管理系统和gitlab系统集成的时候,有一个常见的场景,就是要获取某个文件的commitId,来记录本次配置文件提交的版本.这个通过gitlabApi很容易实现: GET /proje ...

  4. vue3语法糖+ts组件传值

    在开发中有些功能是通用的,而且逻辑大致相同,像这种东西可以封成一个组件,比较常用的就是函数封装,组件封装,组件封装是需要引入到页面使用的,所以通常它会有一些自己的方法,父子组件可以通过一些值来进行关联 ...

  5. 数字列表number,目标值target,找到number中两个不同数字之和等于target的数字,输出下标并顺序排列 ----笔试题记录扩展

    一.思路: 输入:数字列表number,目标值target 判断条件:数字列表中两个不同数字相加等于target 输出:符合条件的两个数字的下标,下标顺序排列 方法1: def list(number ...

  6. JZOJ 1075. 【GDKOI2006】新红黑树

    \(\text{Problem}\) A君和B君在玩一种叫做新红黑树的游戏,即在一棵由红枝和黑枝构成的树上轮流砍树枝,每次砍一枝,A君每次只能砍红枝,B君每次只能砍黑枝,当其中某人已经没有树枝砍的时候 ...

  7. JZOJ 3226. 【HBOI2013】ALO

    题目 网上自己搜 解析 区间异或很容易想到可持久化字典树 但本题的关键是如何高效率求出以某个数为区间最大值时这个区间的范围 依题我们知道区间最长可到比它第二大的位置(开区间) 所以我们如果能找到每个数 ...

  8. 推荐一个Dapper扩展CRUD基本操作的开源库

    在C#众多ORM框架中,Dapper绝对称得上微型ORM之王,Dapper以灵活.性能好而著名,同样也是支持各种数据库,但是对于一些复杂的查询,我们写原生的SQL语句问题不大,对于CRUD基本操作,我 ...

  9. Chai 3D之创建项目

    推荐:将 NSDT场景编辑器 加入你的3D开发工具链 1.构建应用目录   我们将设置使用 CHAI3D 构建应用程序所需的基本目录结构和文件.根据您可能要使用的显示器或 GUI 库,为 FreeGL ...

  10. LeetCode-23 合并K个升序链表

    来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/merge-k-sorted-lists 题目描述 给你一个链表数组,每个链表都已经按升序排列. ...