资讯专栏INFORMATION COLUMN

Java编程基础05——方法(函数)

denson / 1069人阅读

摘要:没有返回值类型,返回值决定返回值类型方法名符合命名规则即可。参数类型分别为两个类型,两个类型,并在方法中进行测试求两个整数的和返回值类型参数列表求两个整数的和返回值类型参数列表

1.方法概述和格式说明

A:为什么要有方法:提高代码的复用性

B:什么是方法:完成特定功能的代码块。

C:方法的格式

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

D:方法的格式说明

修饰符:目前就用 public(权限修饰符) static(状态修饰符)。后面我们再详细的讲解其他的修饰符。

返回值类型:就是功能(方法)结果的数据类型。void(没有返回值类型),返回值决定返回值类型;

方法名:符合命名规则即可。方便我们的调用。main(主要的)

参数:

* 形式参数;就是方法定义的,用于接收实际参数的。 (a,b)
* 实际参数:就是实际参与运算的。(10,20)

参数类型:就是参数的数据类型(基本数据类型:四类八种)

参数名:就是变量名(合法的标识符)

方法体语句:就是完成功能的代码。(System.out.println("Method");)

return:结束方法的。

返回值:就是功能的结果,由return带给调用者:返回值是什么类型,返回值类型就是该类型。 void可省略。

public class JavaMethod {
        public static void main(String args []){
                System.out.println("Method");
        }
}

2.方法之求和案例及其调用(方法的注意事项)

A:写一个方法:1,明确返回值类型2,明确参数列表

B:案例:求两个数据之和的案例

C:方法调用图解

一个类如果有主方法,我们称之为测试类

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

a:多带带调用,一般来说没有意义,所以不推荐。

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

c:赋值调用,推荐方案。

E:案例演示

a:方法不调用不执行

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

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

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

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

public class JavaMethod {
    public static void main(String args []){
        int sum = add(10,20); //第一步:赋值调用,调用了add方法,并传入了实际参数10,20分别传给形式参数,将sum赋值给s
        System.out.println("sum = " + sum); //第五步:上下两个方法中的sum非同一个sum,不能互相访问     
        //add(30,40);        //多带带调用,一般来说没有意义,所以不推荐。
        //System.out.println(add(30,40));   //输出调用,一般不推荐
        int sum2 = add(30,40);
        System.out.println("sum2 = " + sum2);
    }
    //返回值类型int;明确参数列表int a,int b
    public static int add(int a,int b) {    //第二步:将10和20,分别传给a,b
        //int sum = a + b;           //第三步:执行语句:将a和b相加后的结果,赋值给sum
        //return sum;            //第四步:由return将sum返回给调用者
        return a + b;
    }
}

3.方法的练习

A:案例演示

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

import java.util.Scanner;    
public class JavaMethod {
    public static void main(String args []){
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入第一个整数");
        int x = sc.nextInt();
        System.out.println("请输入第二个整数");
        int y = sc.nextInt();

        int max = getMax(x,y);
        System.out.println("max = " + max);
    }
    //返回值类型int;参数列表int a,int b
    public static int getMax(int a,int b) {
            int max = (a > b)? a : b;
            return max;
            //return a > b ? a : b;
    }
}

B:案例演示

需求:键盘录入两个数据,比较两个数是否相等
import java.util.Scanner;
public class JavaMethod {

public static void main(String args []){
    Scanner sc = new Scanner(System.in);
    System.out.println("请输入第一个整数");
    int x = sc.nextInt();
    System.out.println("请输入第二个整数");
    int y = sc.nextInt();
    boolean b = isEquals(x,y);
    System.out.println(b);
}
//返回值类型boolean;参数列表int a,int b
public static boolean isEquals(int a,int b) {   //isEquals是否相等
    return a == b;
}

}

4.方法之输出矩形星形及其调用

A:案例演示

需求:根据键盘录入的行数和列数,在控制台输出矩形星形

B:方法调用:(无具体返回值类型的,用void来接收)

多带带调用

输出调用(错误)

赋值调用(错误)

~注意:如果返回值类型是void,return可以省略,即使省略,系统也会默认给加上,形式是: return;

import java.util.Scanner;
class MethodDemo3 {
        public static void main(String[] args) {
                Scanner sc = new Scanner(System.in);
                System.out.println("请输入行数:");
                int row = sc.nextInt();
                System.out.println("请输入列数:");
                int column = sc.nextInt();
 
                printStar(row,column);    //返回值类型是void的方法,要多带带调用
                //void v = printStar(row,column);   //赋值调用不可以
                //System.out.println(printStar(row,column));  //输出调用也是不可以的void
        }
        /*
        在控制台输出打印矩形星型
        1.明确返回值类型(因为是在控制台打印输出,经分析没有具体的返回值类型) void
        2.明确参数列表 int a,int b
        */
        public static void printStar(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;
        }
}
5.方法的练习

A:案例演示

需求:根据键盘录入的数据输出对应的乘法表

import java.util.Scanner;
class MethodDemo4 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个整数,范围在1-9");
        int num = sc.nextInt();
        /*
        1.明确返回值类型 void
        2.参数列表 int a 
        */
        print99(num);
        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 + "=" + j * i + "	");
                }
                System.out.println();
            }
        }
}
6.方法重载概述和基本使用

A:方法重载概述

* 求和案例
    * 2个整数
    * 3个整数
    * 4个整数

B:方法重载:

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

* 参数列表不同:
    * A:参数个数不同
    * B:参数类型不同
    * C:参数的顺序不同(算重载,但是在开发中不用)
    
class OverLoad{
    public static void main(String[] args) {
        int sum1 = add(10,20);
        System.out.println(sum1);
        int sum2 = add(10,20,30);
        System.out.println(sum2);
        
        double sum3 = add(11.2,15.2,18.5);
        System.out.println(sum3);
    }
    /*
    求两个整数的和
    1.返回值类型  int
    2.参数列表 int a,int b
    */
    public static int add(int a,int 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,double c
    */
    public static double add(double a,double b,double c) {
    return a + b + c;
    }
}
7.方法重载练习比较数据是否相等

A:案例演示

* 需求:比较两个数据是否相等。
* 参数类型分别为两个int类型,两个double类型,并在main方法中进行测试

class OverLoad4{
    public static void main(String[] args) {
        boolean b1 = isEquals(10,10);
        System.out.println(b1);
    }
    /*
    求两个整数的和
    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;
    }
}

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/76923.html

相关文章

  • 从零开始学 Kotlin 之「1」基础

    摘要:前言大家好,这里是从零开始学之基础篇,本文首发于公众号,欢迎前往大家关注。也可以用在表达式中集合的使用创建一个集合,并用循环遍历输出也可以在用去检查集合中的元素最后从零开始学之基础篇到这里就结束了。 前言 大家好,这里是「从零开始学 Kotlin 之『1 』基础篇」,本文首发于公众号「Binguner」,欢迎前往大家关注。我会每周分享一些关于 Android 和其他方向的技术干货或一...

    hatlonely 评论0 收藏0
  • JS对象(1)重新认识面向对象

    摘要:对象重新认识面向对象面向对象从设计模式上看,对象是计算机抽象现实世界的一种方式。除了字面式声明方式之外,允许通过构造器创建对象。每个构造器实际上是一个函数对象该函数对象含有一个属性用于实现基于原型的继承和共享属性。 title: JS对象(1)重新认识面向对象 date: 2016-10-05 tags: JavaScript 0x00 面向对象 从设计模式上看,对象是...

    superw 评论0 收藏0
  • php 学习笔记之关于时区的那点事

    摘要:科普一下什么是时区众所周知地球绕着太阳转的同时也会自转因此同一时刻不同地区所接收到太阳照射的情况不同所以有的地区是日出有的地区是日落还有的地区可能是黑夜既然地球上的不同地区时间不同那总要有统一的时间刻度才能方便文化科技交流吧不然大家说的都是 科普一下什么是时区 众所周知,地球绕着太阳转的同时也会自转,因此同一时刻不同地区所接收到太阳照射的情况不同,所以有的地区是日出,有的地区是日落,还...

    xzavier 评论0 收藏0
  • 我的阿里之路+Java面经考点

    摘要:我的是忙碌的一年,从年初备战实习春招,年三十都在死磕源码,三月份经历了阿里五次面试,四月顺利收到实习。因为我心理很清楚,我的目标是阿里。所以在收到阿里之后的那晚,我重新规划了接下来的学习计划,将我的短期目标更新成拿下阿里转正。 我的2017是忙碌的一年,从年初备战实习春招,年三十都在死磕JDK源码,三月份经历了阿里五次面试,四月顺利收到实习offer。然后五月怀着忐忑的心情开始了蚂蚁金...

    姘搁『 评论0 收藏0
  • Java编程基础01——计算机基础

    摘要:外部存储器可用于长期保存大量程序和数据,其成本低容量大,但速度较慢。 1_计算机概述(了解) A:什么是计算机?计算机在生活中的应用举例 计算机(Computer)全称:电子计算机,俗称电脑。是一种能够按照程序运行,自动、高速处理海量数据的现代化智能电子设备。由硬件和软件所组成,没有安装任何软件的计算机称为裸机。常见的形式有台式计算机、笔记本计算机、大型计算机等。 应用举例 ...

    xiangzhihong 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<