JavaStudy04 IDEA 方法

20200308 at home

Part one 总结

一、今日内容+教学目标

在这里插入图片描述

二、今日Bug

https://blog.csdn.net/MF507/article/details/104535115

三、今日Question

https://blog.csdn.net/MF507/article/details/104731426

四、今日Up

https://blog.csdn.net/MF507/article/details/104729951

Part Two 内容

一、开发工具IntelliJ IDEA

1.1 概述

是针对Java的集成开发工具。自动编译,检查错误。公司开发通用。

1.2 IDEA安装

建议安装视频版本学习

代码写作src
包域名颠倒过来英文.数字和小写字母
简写 psv/psvm
简写 sout

1.3 IDEA常用快捷键

快捷键 功能
ALT+Enter 导入包,自动修正代码
Ctrl+Alt+L 格式化代码
ALT+/ 显示简写所代表的全语句信息

在这里插入图片描述

二、方法

2.1格式

修饰符 返回值类型 方法名称(参数类型 参数名称,…){
方法体;
return 返回值;
}

参数=进入方法的原料
返回值=方法出来的产出物

修饰符现阶段固定写法:public static
返回值类型:字面意思
方法名称:小驼峰
参数类型:进图方法的数据类型
参数名称:进入方法的变量名称
PS:参数如果多个,用,进行分隔
方法体:方法需要做的事
return:作用一是停止当前方法二是返回值给调用处
返回值类型必须和方法名称前一致

2.3 定义方法的两个明确

2.3调用方法的流程图

在这里插入图片描述

2.4定义方法练习

(一)比较两个整数相等

在这里插入图片描述
在这里插入图片描述优化
在这里插入图片描述

(二)计算1-100的和

在这里插入图片描述
优化
在这里插入图片描述

(三)实现不定次数打印

在这里插入图片描述
优化后
在这里插入图片描述
在这里插入图片描述

2.5 调用方法的三种形式

在这里插入图片描述

2.6 对比有参数和无参数

在这里插入图片描述

2.7 对比有返回值和无返回值

在这里插入图片描述

有返回值:你帮我算,算完之后把结果告诉我。如定义一个方法,用来【求出】两个数字之和。
可以使用单独调用、打印调用或者赋值调用。
无返回值:你来计算,自己负责显示结果,不用告诉我。如定义一个方法,用来【打印】两个数字之和。
只能使用单独调用,不能使用打印调用或者赋值调用。

例子

package cn.itcast.day04.demo02;
/*
有返回值:你帮我算,算完之后把结果告诉我。如定义一个方法,用来【求出】两个数字之和。
         可以使用单独调用、打印调用或者赋值调用。
无返回值:你来计算,自己负责显示结果,不用告诉我。如定义一个方法,用来【打印】两个数字之和。
         只能使用单独调用,不能使用打印调用或者赋值调用。
*/
public class Demo04MethodReturn {
    public static void main(String[] args) {
        //我是一个main方法,我来调用你。
        //我调用你,你来帮我计算一下,算完了之后,把结果告诉我的num变量
        int num=getsum(1,3);
        System.out.println(num);
        System.out.println("=========");

        System.out.println(getsum(1,3));//正确写法
        getsum(1,3);//正确写法,但是返回值没有用到
        System.out.println("=========");

        printSum(3,8);
        //对于void没有返回值的方法,只能单独,不能打印或者赋值
       /* System.out.println(printSum(3,8));//错误写法
       = System.out.println(void);*/
       /*int num2=printSum(3,8);//错误写法
        int num2=void;
        System.out.println(num2);*/

    }
    //我是一个方法,我负责两个数字相加
    //我有返回值int,谁调用我,我就把计算结果告诉他
    public static int getsum(int a,int b) {
        int sum=a+b;
        return sum;
    }
    public static void printSum(int a,int b){
        int sum=a+b;
        System.out.println("结果是"+sum);
    }
}

运行结果
在这里插入图片描述

2.8 使用方法时的注意事项

1、方法必须在类中,且方法与方法不能内嵌,定义顺序无关
2、方法定义后只有调用才执行,单独调用、赋值调用、打印调用三类
3、如果方法有返回值,必须写return 返回值;返回值类型必须一致;同时只有一个return被执行,两个return不能连写
4、没有返回值的方法不能写return后面的返回值,只能写return;(表示结束方法)或者不写return语句
![在这里插入图片描述](https://img-blog.csdnimg.cn/2020030813091677.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L01GNTA3,size_16,color_FFFFFF,t_70)

2.9 方法的重载

方法重载解决的是:功能类似因参数列表不同而需要多次调用不同方法名的问题
方法重载:方法名一样,参数列表不一样

使用范围:参数列表不同
1、参数个数不同
2、参数类型不同
3、参数多类型顺序不同

不可使用
1、同一功能,参数名称不同
2、同一功能,返回值类型不同

如图所示

public class Demo06MethodOverload {
   public static void main(String[] args) {
      /* System.out.println(sumTwo(10,20));
       System.out.println(sumThree(10,20,30));
       System.out.println(sumFour(10,20,30,40));*/

       System.out.println(sum(10,20));
       System.out.println(sum(10,20,30));
       System.out.println(sum(10,20,30,40));
   }

   public static int sum(int a,int b) {
       System.out.println("有2个参数的方法执行!");
       return a + b;//2个参数相加
   }
   //错误 参数名称不同
  /* public static int sum(int x,int y) {
       System.out.println("有2个参数的方法执行!");
       return x + y;//2个参数相加
   }*/
   public static int sum(double a,int b) {
       System.out.println("有2个参数的方法执行!");
       return (int) (a+b);//2个参数相加
   }
   public static int sum(int a,double b){
       System.out.println("有2个参数的方法执行!");
       return (int)(a+b);//2个参数相加
   }
   public static int sum(int a,int b,int c){
       System.out.println("有3个参数的方法执行!");
       return a+b+c;//3个参数相加
   }

   public static double sum(int a,int b,int c,int d){
       System.out.println("有4个参数的方法执行!");
       return a+b+c+d;//4个参数相加
   }
   //错误 参数类型不同
   /*public static int sum(int a,int b,int c,int d){
       System.out.println("有4个参数的方法执行!");
       return a+b+c+d;//4个参数相加
   }*/

}

2.91 方法重载的练习

(一)比较两个数据是否相等

参数类型分别为两个 byte 类型,两个 short 类型,两个 int 类型,两个 long 类型,并在 main 方法中进行测试。
在这里插入图片描述

只比较了int结果未显示哪种类型

优化
在这里插入图片描述
在这里插入图片描述

30L表long类型,float 30.0F

(二)判断哪些方法时重载关系

在这里插入图片描述
连起来看
在这里插入图片描述

(三)模拟输出语句中的 println 方法效果

传递什么类型的数据就输出什么类型的数据,只允许定义一个方法名
println 。

package cn.itcast.day04.demo02;
//模拟println功能
//在调用输出语句时,println方法其实就是进行了多种数据类型的重载形式
public class Test05OverloadPrintln {
    public static void main(String[] args) {
        println(100);
        println("hello");
        println(true);

    }
    public static void println(byte num){
        System.out.println(num);
    }
    public static void println(short num){
        System.out.println(num);
    }
    public static void println(int num){
        System.out.println(num);
    }
    public static void println(long num){
        System.out.println(num);
    }
    public static void println(float num){
        System.out.println(num);
    }
    public static void println(double num){
        System.out.println(num);
    }
    public static void println(char num){
        System.out.println(num);
    }
    public static void println(boolean is){
        System.out.println(is);
    }
    public static void println(String  str){
        System.out.println(str);
    }

}

发布了20 篇原创文章 · 获赞 1 · 访问量 484

猜你喜欢

转载自blog.csdn.net/MF507/article/details/104533955
今日推荐