目录

何为方法

方法定义和调用

方法重载

命令行传参

可变参数

递归

什么是方法?

  • 方法是解决一类问题的步骤的有序组合

  • 方法包含于类或者对象中

  • 方法在程序中被创建,在其他地方被引用

  • 用一段用来完成特定功能的代码片段

实例

package com.ckw.blog.mathod;public class demo01 {//main方法是程序自有执行方法//public是标示符意思:公用的 static也是标示符意思:静态 void意思是空间//加static变成类变量,可以直接调用public static void main(String[] args) {int i =add(8,9);System.out.println(i);dda();}//写一个加法运算的方法//标示符 标示符 返回值类型 方法名(变量){}public static int add(int a ,int b){return a+b;}//写一个三角形的方法public static void dda() {for (int j = 0; j <=5; j++) {for (int i = 5; i >=j; i--) {System.out.print(" ");}for (int i = 0; i <=j; i++) {System.out.print("*");}for (int i = j; i >0; i--) {System.out.print("*");}System.out.println("");}
}}

1. 加static(静止) 变为类变量

2. 不加static为实例变量。需要用new引用

类 变量 = new 类();

变量.方法

设计方法的原则

方法的原子性,就是一个方法只完成一个功能,便于后期扩展

main方法尽量保持简洁干净

方法的命名规则

方法命名规则,首字母小写,驼峰原则

方法的组成

方法包含一个方法头和一个方法体

修饰符 返回值类型 方法名(参数类型 变量){方法体}

return 返回值

  1. 修饰符(可选)告诉编译器如何调用该方法,定义了该方法的访问类型

  2. 返回值类型:方法可能会返回值,return value是方法返回值的数据类型。有些方法执行所需操作,但没有返回值。这种情况下,return value type的类型为void(空)。就是有数字返回就为数字类型。没有就为void

  3. 方法名:方法的实际名称。方法名跟参数表共同构成方法签名

  4. 参数(可选):参数像占位符。当方法被调用时,传递值给参数。这个值称为实参或者变量。参数列表值得是方法的参数类型,顺序和参数的个数。需不需要参数都是可选的。方法可以不包含任何参数。

    形式参数实际参数的解释

    package com.ckw.blog.mathod;public class demo01test {//形式参数:a b就像是占位符。用来定义作用public static int add(int a ,int b){return a+b;
    }public static void main(String[] args) {//实际参数:就是实际传递给他的参数。System.out.println(add(2,3));}
    }
    
    1. 方法体:包含具体语句,定义该方法的功能。

注意点:

如果有return value 返回值的情况下就要写返回值类型。

如果没有返回值,返回值类型就是void

如果ruturn=0,方法终止不再运行。

比大小

package com.ckw.blog.mathod;public class demo02_big {public static int dda(int a ,int b){int c = 0 ;if(a==b){System.out.println("结果相同不能比较");return 0;}//return=0方法终止不再运行if (a>b){c=a;}else if(a<b){c=b;}return c;}public static void main(String[] args) {int dd =dda(90 ,90);System.out.println(dd);}
}

方法重载

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

  1. 方法名称相同
  2. 参数列表不同(个数不同,类型不同,参数排列不同,顺序不同)
  3. 方法返回类型不想干
  4. 返回类型不同,不足以成为方法的重载

实现理论

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

(编译器会自己选择适合自己的尺寸类型的方法跑)真智能化。

(根据参数类型或者数量自动匹配形参选择方法进行)

package com.ckw.blog.mathod;public class demo03_idea {public static int max(int a ,int b){int c = 0 ;if(a==b){System.out.println("结果相同不能比较");return 0;}if (a>b){c=a;}else if(a<b){c=b;}return c;}public static double max(double a ,double b){double c = 0 ;if(a==b){System.out.println("结果相同不能比较");return 0;}if (a>b){c=a;}else if(a<b){c=b;}return c;}public static double max(double a ,double b,double d){double c = 0 ;if(a==b){System.out.println("结果相同不能比较");return 0;}if (a>b){c=a;}else if(a<b){c=b;}return c+d;}public static void main(String[] args) {double dd =max(92 ,90,91);System.out.println(dd);}
}

day14 方法原则 方法命名 方法组成 方法重载相关推荐

  1. Java中类、常量、变量、方法名等命名规则

    Java中类.常量.变量.方法名等命名规则 命名规则: 命名由字母.数字.下划线.美元符号($)构成. 命名不可以数字作为开头. 长度无限制,但不可存在空格. 大小写所表述内容含义不同. 命名不可与J ...

  2. 【Git、GitHub、GitLab】四 Git文件重命名的简单方法以及使用git log查看版本演变历史

    上一篇文章学会了使用GIT四次提交建立一个有模有样的仓库.点击链接查看:[Git.GitHub.GitLab]三 Git基本命令之创建仓库并向仓库中添加文件. 本片文章记录git的文件重命名的简单方法 ...

  3. 论文浅尝 | 利用Lattice LSTM的最优中文命名实体识别方法

    本文转载自公众号:机器之心. 选自arXiv 作者:Yue Zhang.Jie Yang 机器之心编译 参与:路.王淑婷 近日,来自新加坡科技设计大学的研究者在 arXiv 上发布了一篇论文,介绍了一 ...

  4. php文件夹重命名,PHP自动重命名文件实现方法

    本文实例讲述了PHP自动重命名文件实现方法.分享给大家供大家参考.具体方法分析如下: PHP重命名文件名我们在实际开发过程中经常会使用到,比如用户上传文件或是一些缓存文件自动生成的功能我们都需要使用到 ...

  5. 【项目调研+论文阅读】基于BERT的中文命名实体识别方法[J] | day6

    <基于BERT的中文命名实体识别方法>王子牛 2019-<计算机科学> 文章目录 一.相关工作 二.具体步骤 1.Bi-LSTM 2.CRF结构 三.相关实验 1.数据集 2. ...

  6. 计算机用户名怎么改好听,Win10如何修改电脑名字 Win10重命名电脑名称方法图解...

    Win10电脑名字怎么改?每个人都有一名字,而对于一台电脑来说,系统中也有一个默认名称.下面电脑百事小编主要来介绍下Win10重命名电脑名称方法,如果想要为自己的Win10电脑起个好听的名字,不妨按照 ...

  7. 在linux终端中重命名文件,Linux系统中重命名文件的方法有哪些

    今天小编要跟大家分享的文章是关于Linux系统中重命名文件的方法有哪些.正在从事Linux运维工作和学习Linux运维知识的小伙伴们来和小编一起看一看吧,希望本篇文章能够对大家有所帮助. 在Linux ...

  8. IDEA中文件或文件夹 如何重命名?解决方法如下

    IDEA中文件或文件夹 如何重命名?解决方法如下 三步轻松搞定! refactor :重构 usage: 使用,用法 ***************************

  9. 多个文件夹快速重命名的简单方法

    多个文件夹怎么快速重命名?面对这种情况怎么办?首先,我们职场人的工作压力就大:其次,我们的工作时间也很饱和.突然遇到新的工作需求问题,我们处理不了,就应该积极寻找办法.针对这个问题,我就有一个简单而快 ...

最新文章

  1. SQL查询表对应的外键约束
  2. centos ipv6 网卡_CentOS 6配置IPv6地址
  3. epoll哪些触发模式_5.epoll的水平触发和边缘触发
  4. HTML5网站大观:分享8个精美的 HTML5 网站案例
  5. Linux如何更改主机名
  6. pat1070. Mooncake (25)
  7. 访问 Notes/Domino 数据的定制 DXL 框架
  8. Java实现下载url视频资源
  9. 计算机cpu基础知识ppt,计算机硬件基础知识ppt课件
  10. 射频识别技术漫谈(16)——Mifare UltraLight
  11. MT7621方案GPIO介绍
  12. PTAM入门、ROS下PTAM的安装配置及使用
  13. 魅族u20怎么刷Android,魅族魅蓝U20/U10一键Root权限获取+USB驱动安装
  14. 描述内存分配方式以及它们的区别?
  15. 室外无线AP覆盖解决方案
  16. 【CSS】1340- CSS 渲染原理以及优化策略
  17. JSD-2204-连接查询-JDBC-Day10
  18. 宏碁暗影骑士擎AN515-58原厂预装Windows11恢复镜像oem系统
  19. ODB 入门介绍(二)
  20. Android Studio 微信分享功能(包括可以分享到朋友圈,分享到朋友)

热门文章

  1. 算法:将一天24小时按每半小划分成48段
  2. vite2+eslint+prettier,解决VSCode保存时候自动格式化,导致ESLint报冲突
  3. HEVC学习之率失真优化
  4. Java Api 操作 Hbase
  5. IOS苹果开发者账号申请流程
  6. 拼多多百亿补贴商品详情API接口(item_get-根据ID取商品详情)
  7. Ubuntu手工进行软件更新升级的两种方法
  8. 北京尚学堂视频系列(Oracle)
  9. 当 AI 冲击自动化编程,谁将成为受益者?
  10. 突发电脑故障应急处理方法