方法Function

一、方法的介绍:

  1>方法不允许嵌套定义
  2>具有特定功能的代码段称之为方法
  3>极大程度的简化了我们的代码

二、方法的使用:

  方法的定义:

    1、语法格式

访问修饰符  返回值类型  方法名(参数列表) {方法体(具体封装的功能)
}

      1>访问修饰符:方法允许被访问的权限范围,public protected private 甚至可以省略访问修饰符,
        public 代表该方法可以被其他任何代码调用
                2>返回值类型,如果没有返回值,则写void,如果有返回值,则需要制定具体的返回值类型,
        并且有返回值,那么在方法体中需要使用return关键来返回
                3>方法名:方法名要符合标识符的规范,通常情况下,见名知意、第一个单词首字母小写,

        其余单词首字母大写
                4>参数列表:传递给方法的参数,可以有多个,也可以有一个,也可以一个没有,多个参数之间以逗号隔开。
        参数的语法格式:数据类型 参数名(与变量名命名一致)

    2、方法的分类

      1>定义角度分为:

        1)系统库方法(函数):Math.random() max() min() ...

        2)自定义方法;就是自己为了封装某个功能定义的方法

      2>参数、返回值角度分为:

        1)无参无返的方法 就是不包含参数也没有返回值

//打印Hello Worldpublic static void printHelloWorld() {System.out.println("Hello World");}

        2)无参有返的方法 就是不包含参数但是有返回值

//得到[10, 20]区间里的随机整数
public static int randomNumber() {int num = (int)(Math.random() * (20 - 10 + 1)) + 10;return num;}

        注:1、如果返回值为void,方法体中不能出现使用return 返回值!
          2、方法的返回值只能有一个,不能返回多个值
          3、方法返回值类型必须兼容,例如:如果返回值类型为int,则不能返回float类型

        3)有参有返 就是有参数有返回值

//求两个整数的和
public static int sum(int n1, int n2) {return n1 + n2;}

        4)有参无返 就是有参数没有返回值

//打印数字public static void printNum(int num) {System.out.println(num);}

    3>方法的重载

      1)如果同一个类中包含了两个或者两个以上方法名相同,方法的参数个数、顺序或类型不同的方法,
      则称为方法的重载,或者此方法被重载了。
      2)如何区分调用的是哪个重载方法?
      当方法被调用时,Java会根据参数的个数、类型、顺序来自动判断,符合匹配的要求的方法就会被执行!!!
      3)如何判断一个方法是否是重载方法呢???
          ①必须是在同一个类中
          ②方法名必须一致
          ③方法的参数个数、顺序或类型不同
          ④与方法的访问修饰符与返回值无关!!!

public static int randomNumber() {int num = (int)(Math.random() * (20 - 10 + 1)) + 10;return num;}public static int randomNumber(int min, int max) {int num = (int)(Math.random() * (max - min + 1)) + min;return num;}

    4>方法定义的诀窍

      如果需求中,有不明确的信息(多变信息),把此信息声明成参数,如果需求需要得到结果,则声明返回值。

    5>方法的调用

      方法调用时,如果有参数的传递,原理是:
      形式参数(形参,方法定义时的参数)会拷贝实际参数(实参,方法调用时的参数),是拷贝关系,而不是替换关系。

练习:封装一个打印人名的方法

//1、无参无返  打印**public static void name() {System.out.println("**");}//1、有参无返 public static void main(String[] args) {//1:
        name();}

转载于:https://www.cnblogs.com/aa1869/p/10628217.html

Java基础 Day07(方法)相关推荐

  1. Java基础学习——方法

    Java基础学习--方法 前言 本文将介绍有关Java面向对象编程的知识之一:方法:其中包括方法的概念,三类方法的格式.方法的重载以及方法的内存 方法的概念 方法是程序中最小的执行单元 方法定义:将一 ...

  2. Java基础02 方法与数据成员

    作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 在Java基础01 从HelloWorld到面向对象,我们初步了解了对象(obje ...

  3. JAVA基础——toString()方法,java基础面试笔试题

    我总结出了很多互联网公司的面试题及答案,并整理成了文档,以及各种学习的进阶学习资料,免费分享给大家. 扫描二维码或搜索下图红色VX号,加VX好友,拉你进[程序员面试学习交流群]免费领取.也欢迎各位一起 ...

  4. Java基础 五 方法

    方法 1.1      方法概述 在我们的日常生活中,方法可以理解为要做某件事情,而采取的解决办法. 如:小明同学在路边准备坐车来学校学习.这就面临着一件事情(坐车到学校这件事情)需要解决,解决办法呢 ...

  5. Java基础语法——方法

    每日正能量 人生如逆旅,我亦是行人,乱花渐欲迷人眼,沉醉不知归路.既然无法留住身边的美好,那就一直往前,看到更多. 方法 方法是完成特定功能的.相对独立的程序段,与其它编程语言中的子程序.函数等概念相 ...

  6. [Java基础] sort方法--------排序的那些事

    引言 在学习Java过程中,排序sort是我们常用的功能:在Java里,数组有Arrays.sort()可以排序,集合则是Collections.sort()方法排序:默认情况下是升序排列,但是降序又 ...

  7. 小汤学编程之JAVA基础day07——面向对象(二):封装、继承与多态

    一.封装 1.使用步骤      2.优点     3.包结构     4.访问修饰符 二.继承 1.理解      2.重写     3.final的详解     4.防止被继承的两种方法 三.多态 ...

  8. JAVA基础知识——方法的参数,特殊数据类型,装箱和拆箱...

    文章目录 一.方法的参数 二.特殊的数据类型 三.装箱和拆箱 三.Object 四.思维导图 一.方法的参数 我们常见的参数有: (1)基本数据类型作为参数 (2)可变参数(三个点-) (3)引用类型 ...

  9. Java基础——native方法

    什么是native方法(本地方法) native方法就是java调用非java代码的接口.native方法是这样一个java方法:该方法的实现由非java语言实现,比如C. 定义一个native方法, ...

最新文章

  1. 【openfst样例2】Downcasing Text
  2. Kubernetes——基于容器技术的分布式架构领先方案,它的目标是管理跨多个主机的容器,提供基本的部署,维护以及运用伸缩...
  3. WebBrowser组件和MSHTML
  4. Velocity语法使用总结
  5. Spring之Bean的配置(一)
  6. 利用Bootstrap+Avalonjs+EntityFramework 开发ASP.NET WebForm应用程序(上)
  7. 让cocos2dx支持并通过arm64 编译
  8. 瑞斯康达nms_瑞斯康达接入网设备维护手册免费.pdf
  9. java多线程之ThreadLoal详解
  10. Android Sensor Driver(四)——IIC总线和驱动
  11. Heroku + node.js错误(Web进程在启动后60秒内未能绑定到$ PORT)
  12. Oracle 10g宝典(第2版)
  13. OpenCV(一)---支持向量机 SVM
  14. 微图App有哪些实用的功能?
  15. orbslam2+azure kinect DK稠密重建
  16. 问卷设计中的常见问题
  17. 很好听的曲子《红枣树》,歌词写的很好,摘抄一下
  18. 你好,C++(2)1.3 C++世界版图1.4 如何学好C++
  19. C#--DataTable的各种操作
  20. 零基础都能看懂的 STL map 详解

热门文章

  1. MariaDB表表达式(2):CTE
  2. Keras之父:我担心的是AI被社交媒体操控
  3. C# WebApi+Task+WebSocket实战项目演练(四)
  4. 12月21日云栖精选夜读:阿里云总裁胡晓明:AI泡沫过后,下一站是“产业AI”...
  5. XCode6报数组越界错误的问题
  6. 《Java遗传算法编程》—— 1.5 生物进化
  7. 《Excel 职场手册:260招菜鸟变达人》一第 1 招 快捷键的妙用(基于Windows操作系统)...
  8. 将今天写进历史,即可得出现在的世界是数字的
  9. 财务报销人员是公司亲信的弊端
  10. Spring Data JPA 常用注解