1. 方法概述和格式说明

  • 为什么要有方法

    • 提高代码的复用性

  • 什么是方法

    • 完成特定功能的代码块。

  • 方法的格式

    • 修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2...) {
           方法体语句;
           return 返回值;
      }

  • 方法的格式说明

    • 修饰符:目前就用 public static。后面我们再详细的讲解其他的修饰符。

    • 返回值类型:就是功能结果的数据类型。

    • 方法名:符合命名规则即可。方便我们的调用。

    • 参数:

      • 实际参数:就是实际参与运算的。

      • 形式参数;就是方法定义上的,用于接收实际参数的。

    • 参数类型:就是参数的数据类型

    • 参数名:就是变量名

    • 方法体语句:就是完成功能的代码。

    • return:结束方法的。

    • 返回值:就是功能的结果,由return带给调用者。

2. 方法之求和案例及其调用

  • 如何写一个方法

    • 明确返回值类型

    • 明确参数列表

  • 案例演示

    • 需求:求两个数据之和的案例

    • class Test {
      public static void main(String[] args) {
      int sum = add(10, 20); System.out.println(sum);
      } public static int add(int a, int b) {
      int sum = a + b;
      return sum;
      }
      }
  • 方法调用图解

3. 方法的注意事项

  • 方法调用(有具体返回值)

    • 单独调用,一般来说没有意义,所以不推荐。

    • 输出调用,但是不够好。因为我们可能需要针对结果进行进一步的操作。

    • 赋值调用,推荐方案。

  • 案例演示

    • 方法不调用不执行

    • 方法与方法是平级关系,不能嵌套定义

    • 方法定义的时候参数之间用逗号隔开

    • 方法调用的时候不用在传递数据类型

    • 如果方法有明确的返回值,一定要有return带回一个值

4. 方法的练习

  • 案例演示

    • 需求:键盘录入两个数据,返回两个数中的较大值

    • 需求:键盘录入两个数据,比较两个数是否相等

      • /*
        * A:案例演示
        * 需求:键盘录入两个数据,返回两个数中的较大值
        * B:案例演示
        * 需求:键盘录入两个数据,比较两个数是否相等
        */
        import java.util.Scanner;
        class Test1_Method {
        public static void main(String[] args) {
        Scanner sc = new Scanner(System.in); //创建键盘录入对象
        System.out.println("请输入第一个整数:");
        int x = sc.nextInt(); //将键盘录入的整数存储在x中
        System.out.println("请输入第二个整数:");
        int y = sc.nextInt(); //将键盘录入的整数存储在y中 //int max = getMax(x,y);
        //System.out.println(max); boolean b = isEquals(x,y);
        System.out.println(b);
        } /*
        返回连个整数的较大值
        1,明确返回值类型 int
        2,明确参数列表 int a,int b
        */
        public static int getMax(int a,int b) {
        return a > b ? a : b;
        } /*
        判断两个整数是否相等
        1,明确返回值类型 boolean
        2,明确参数列表 int a,int b
        */
        public static boolean isEquals(int a,int b) { //isEquals 是否相等
        return a == b;
        }
        }
    • 需求:根据键盘录入的行数和列数,在控制台输出星形
      • /*
        * A:案例演示
        * 需求:根据键盘录入的行数和列数,在控制台输出星形
        * B:方法调用:
        * 单独调用
        * 输出调用(错误)
        * 赋值调用(错误)
        */
        import java.util.Scanner;
        class Demo3_Method {
        public static void main(String[] args) {
        Scanner sc = new Scanner(System.in); //创建键盘录入对象
        System.out.println("请输入行数:");
        int row = sc.nextInt(); //将键盘录入的行数存储在row中
        System.out.println("请输入列数:");
        int column = sc.nextInt(); //将键盘录入的列数存储在column中 //System.out.println(print(row,column)); //错误: 此处不允许使用 '空' 类型,返回值是void的方法不能输出调用
        //返回值是void的方法只能单独调用
        print(row,column);
        } /*
        在控制台输出矩形星形
        1,明确返回值类型,经分析没有具体的返回值类型,void
        2,明确参数列表int a,int b
        */ public static void print(int a,int b) {
        for (int i = 1;i <= a ;i++ ) { //行数
        for (int j = 1;j <= b ;j++ ) { //列数
        System.out.print("*");
        }
        System.out.println();
        } //return ; //如果返回值类型是void,return可以省略,即使省略系统也会默认给加上,形式是return;
        }
        }
    • 需求:根据键盘录入的数据输出对应的乘法表

      • /*
        * A:案例演示
        * 需求:根据键盘录入的数据输出对应的乘法表
        */
        import java.util.Scanner;
        class Test2_Method {
        public static void main(String[] args) {
        Scanner sc = new Scanner(System.in); //创建键盘录入对象
        System.out.println("请录入一个整数,范围在1-9之间");
        int num = sc.nextInt(); //将键盘录入的整数存储在num中
        print99(num);
        } /*
        打印99乘法表
        1,返回值类型void
        2,参数列表,int a
        */ public static void print99(int a) {
        for (int i = 1;i <= a ;i++ ) { //行数
        for (int j = 1;j <= i ;j++ ) { //列数
        System.out.print(j + "*" + i + "=" + (i * j) + "\t" );
        }
        System.out.println();
        }
        }
        }

5. 方法重载概述和基本使用

  • 方法重载概述

    • 求和案例

      • 2个整数

      • 3个整数

      • 4个整数

      • /*
        重载:方法名相同,参数列表不同,与返回值类型无关
        重载的分类
        1,参数个数不同
        2,参数类型不同
        顺序不同
        */
        class Demo4_Overload { //overload重载
        public static void main(String[] args) {
        double sum1 = add(10,20.1);
        System.out.println(sum1); int sum2 = add(10,20,30);
        System.out.println(sum2); double sum3 = add(12.3,13);
        System.out.println(sum3);
        } /*
        求两个整数的和
        1,返回值类型int
        2,参数列表 int a,int b
        */ public static double add(int a,double b) {
        return a + b;
        } /*
        求三个整数的和
        1,返回值类型int
        2,参数列表 int a,int b,int c
        */ public static int add(int a,int b,int c) {
        return a + b + c;
        } /*
        求两个小数的和
        1,返回值类型double
        2,参数列表 double a,double b
        */ public static double add(double a,int b) {
        return a + b;
        }
        }
  • 方法重载:

    • 在同一个类中,方法名相同,参数列表不同。与返回值类型无关。

    • 参数列表不同:

      • 参数个数不同

      • 参数类型不同

      • 参数的顺序不同(算重载,但是在开发中不用)

  • 案例演示

    • 需求:比较两个数据是否相等。

    • 参数类型分别为两个int类型,两个double类型,并在main方法中进行测试

      • /*
        * A:案例演示
        * 需求:比较两个数据是否相等。
        * 参数类型分别为两个int类型,两个double类型,并在main方法中进行测试 */
        class Test3_Overload {
        public static void main(String[] args) {
        boolean b1 = isEquals(10,10);
        System.out.println(b1); boolean b2 = isEquals(10.5,10.5);
        System.out.println(b2);
        } /*
        比较两个数据是否相等
        1,返回值类型boolean
        2,参数列表int a,int b
        */ public static boolean isEquals(int a,int b) {
        return a == b;
        } /*
        比较两个数据是否相等
        1,返回值类型boolean
        2,参数列表double a,double b
        */ public static boolean isEquals(double a,double b) {
        return a == b;
        }
        }

【JAVA基础】04 Java语言基础:方法的更多相关文章

  1. [Java 教程 04] Java基础语法

    在上一篇文章中我们已经运行了个简单的java程序,但是没有给大家讲解代码部分的内容与含义.学习,我们要做到知其然而知其所以然,所以本篇文章我们就来讲解java程序的基本语法,学完这篇文章你再回头看上篇 ...

  2. Java学习笔记:语言基础

    Java学习笔记:语言基础 2014-1-31   最近开始学习Java,目的倒不在于想深入的掌握Java开发,而是想了解Java的基本语法,可以阅读Java源代码,从而拓展一些知识面.同时为学习An ...

  3. 004 01 Android 零基础入门 01 Java基础语法 01 Java初识 04 Java程序的结构

    004 01 Android 零基础入门 01 Java基础语法 01 Java初识 04 Java程序的结构 Java程序的结构 Java程序外层--类 程序外层,如下面的代码,是一个类的定义. c ...

  4. 111 01 Android 零基础入门 02 Java面向对象 04 Java继承(上)02 继承的实现 01 继承的实现

    111 01 Android 零基础入门 02 Java面向对象 04 Java继承(上)02 继承的实现 01 继承的实现 本文知识点: 继承的实现 说明:因为时间紧张,本人写博客过程中只是对知识点 ...

  5. 20165318 预备作业二 学习基础和C语言基础调查

    20165318 学习基础和C语言基础调查 技能学习经验 我们这一代人,或多或少的都上过各种兴趣班,舞蹈钢琴画画书法,我也是如此.可这些技能中,唯一能拿的出手的就是舞蹈了.按照<优秀的教学方法- ...

  6. 20165230 学习基础和C语言基础调查

    20165230 学习基础和C语言基础调查 技能学习经验 我擅长弹钢琴.小时候我曾上过很多兴趣班,比如钢琴.跳舞.书法.绘画等等,唯一坚持至今的只有钢琴.仔细一算学习钢琴至今已有12年,不能说已经精通 ...

  7. 20165237 学习基础和C语言基础调查

    学习基础和C语言基础调查 一.技能学习与特长 你有什么技能比大多人(超过90%以上)更好? 我的爱好和技能说实话挺广泛的.如果要挑出来一个很擅长的话,我觉得应该是钢琴. 针对这个技能的获取你有什么成功 ...

  8. 20165234 预备作业2 学习基础和C语言基础调查

    学习基础和C语言基础调查 一.技能学习经验及体会 你有什么技能比大多人(超过90%以上)更好? 看到这个问题,我仔细想了想,好像的确没有什么特别出众的技能,但是我想到了许多我个人的爱好. 我从小喜欢五 ...

  9. 20165337学习基础和C语言基础调查

    20165337学习基础和C语言基础调查 你有什么技能比大多人(超过90%以上)更好? 讲道理我感觉我自己没有什么能比90%以上的人都做得好的技能,我就瘸子里面拔将军挑一个我自认为还不错的技能吧. 我 ...

  10. 学习基础和C语言基础调查

    学习基础和C语言基础调查 一.一种比大多数人(超过90%以上)更好的技能 说句实话,我还没有那种特别特别自信的.说我能拿得出手的.所谓能超过百分之九十以上的人的技能.毕竟人外有人,天外有天. 姑且算上 ...

随机推荐

  1. 总结一下python的学习路线

    1.安装pycharm community编辑器和python 3.7.2解释器的博客链接参考:https://blog.csdn.net/fangye945a/article/details/878 ...

  2. STM32CubeMX的安装

    1.下载STM32CubeMX 在ST的官方网站上下载STM32CubeMXXX软件的安装包. 下载的安装包如下图所示.双击SetupSTM32CubeMX-5.0.1.exe. 安装STM32Cub ...

  3. springboot+ehcache 基于注解实现简单缓存demo

    1.加入maven依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactI ...

  4. 搭建单区域DNS服务器

                                                          搭建单区域DNS服务器 案例1:搭建单区域DNS服务器 案例2:特殊DNS解析 案例3:配置 ...

  5. Shell:Day10

    shell脚本:明白一点:shell脚本本身是一个工具 在写shell脚本之前,就要明白:这个功能能到底如何实现? curl 访问文件源代码,查看网站状态: 才能通过shell(bash)所提供的逻辑 ...

  6. mysql物理级别热备脚本

    #!/bin/bash mysql_backup_dir=/data/databaseup/ mysql_username="root" mysql_password=" ...

  7. 7.2 java 类的定义和使用

    /* * 类的定义: * 类是用来描述现实世界的事物的 * * 事物: * 属性 事物的描述信息 * 行为 事物能够做什么 * * 类是如何和事物进行对应的呢? * 类: * 成员变量 * 成员方法 ...

  8. 了解一下mock

    1.mock简介: mock测试就是在测试过程中,对于某些不容易构成或者不容易获取的对象,用一个虚拟的对象来创建以便测试的测试方法,mock是在测试过程中,对于一些不容易构造/获取的对象,创建一个mo ...

  9. Python之利用jieba库做词频统计且制作词云图

    一.环境以及注意事项 1.windows10家庭版 python 3.7.1 2.需要使用到的库 wordcloud(词云),jieba(中文分词库),安装过程不展示 3.注意事项:由于wordclo ...

  10. matlab计算样本熵

    计算14通道得脑电数据吗,将得出的样本熵插入Excel表格 a = zeros(1,14); b = a'; for i =1:14 b(i) = SampEn(d1_1(i,1:3000),2,0. ...