今日内容介绍
1、方法基础知识
2、方法高级内容
3、方法案例
    
###01方法的概述
    * A: 为什么要有方法
        * 提高代码的复用性 
    * B: 什么是方法
        * 完成特定功能的代码块。 
        
    
###02方法的定义格式
    * A: 方法的格式
    * 
            修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2...) {
                方法体语句;
                return 返回值; 
            } 
    * B: 方法的格式说明
        * 修饰符:目前就用 public static。后面我们再详细的讲解其他的修饰符。
        * 返回值类型:就是功能结果的数据类型。
        * 方法名:符合命名规则即可。方便我们的调用。
        * 参数:
            * 实际参数:就是实际参与运算的。
            * 形式参数;就是方法定义上的,用于接收实际参数的。
        * 参数类型:就是参数的数据类型
        * 参数名:就是变量名
        * 方法体语句:就是完成功能的代码。
        * return:结束方法的。
        * 返回值:就是功能的结果,由return带给调用者。 
                
            
###03定义方法计算面积
    * A: 定义方法计算面积
        public class MethodDemo{
    
            public static void main(String[] args){
                 //调用方法, 方法执行起来
                 // 在方法main中,调用方法 getArea
        
                 int area = getArea(5,6);
                 System.out.println("面积是: "+area);
                
            }
            /*
               要求: 计算一个长方形的面积
               定义方法解决这个要求
               分析方法定义过程:
                  1.明确方法计算后的结果的数据类型 int  定义格式对应的就是返回值类型
                  2.方法计算过程中,有没有未知的数据, 宽和长, 未知数据的数据类型 int
                      未知数的变量,定义在方法的小括号内
            */
            public static int  getArea(int w, int h){
                //实现方法的功能主体
                //int area = w * h;
                return w * h;
            }
        }
###04调用方法
    * A: 调用方法
        * a: 在main函数中调用方法,让方法执行起来
        * b: 方法的形参
            * 方法要什么参数我们就给什么类型的参数。
        * c: 方法的返回值
            * 方法返回什么类型的值我们就用对应的数据类型的变量来接收
###05调用方法执行流程
    * A: 调用方法执行流程
        * a: 方法的定义是没有顺序的,写在main函数的上边或者下边都可以。
        * b: 方法的执行,是把实参传递给形参,从而来执行的。
        * c: 方法只有被调用才会执行。
###06方法调用的内存图
    * A: 方法调用的内存图
        * a: 参见\day05\day05(Java基础语法)\day05_source\方法内存图.JPG
###07方法调用的练习
    * A: 案例代码
        /*
           方法的定义练习
        */
        import java.util.Scanner;
        public class MethodDemo_1{
            public static void main(String[] args){
                //printRect();
                //int number = getNumber();
                //System.out.println(getNumber());
                //printRect2(3,5);
                double avg = getAvg(2,2,3);
                System.out.println(avg);
            }
        
            /*
               定义有返回值有参数方法,如求三个数的平均值
               明确方法计算后的数据类型, 返回值类型 double
               明确方法未知数, 三个未知的整数
            */
            public static double getAvg(double a, double b,double c){
                 return (a+b+c)/3;
            }
            
            /*
                定义无返回值有参数方法,如打印指定M行,每行N个*号的矩形
                明确方法计算后结果,控制台输出图形,没有返回值的
                方法中有没有未知数,图形行数,和列数,是未知的, 数据类型整数int
            */
            public static void printRect2(int m,int n){
                for(int i = 0 ; i < m ; i++){
                    for(int j = 0 ; j < n ;  j++){
                        System.out.print("*");
                    }
                    System.out.println();
                }
            }
        
            /*
               定义有返回值无参数方法,如键盘录入得到一个整数
               明确方法计算后结果的数据类型 int
               明确有没有未知数,没
            */
            public static int getNumber(){
                Scanner sc = new Scanner(System.in);
                //int number = sc.nextInt();
                return sc.nextInt();
            }
            
            /*
               定义无返回值无参数方法,如打印3行,每行3个*号的矩形
               为什么没有返回值:
                   打印矩形 ,输出效果,不需要将结果返回
                   明确未知数: 不需要未知数
            */
            public static void printRect(){
                for(int i = 0 ; i < 3 ; i++){
                    for(int j = 0 ; j < 3 ;j++){
                        System.out.print("*");
                    }
                    System.out.println();
                }
            }
        }
###08方法的定义和使用的注意事项
    * A: 方法的定义和使用的注意事项
        * a: 方法不能定义在另一个方法的里面
        * b: 写错方法名字
        * c: 写错了参数列表
        * d: 方法返回值是void,方法中可以省略return 不写
             return 下面不能有代码
        * e 方法返回值类型,和return 后面数据类型必须匹配
        * f: 方法重复定义问题
        * g: 调用方法的时候,返回值是void, 不能写在输出语句中

Java语言学习day09--7月08日的更多相关文章

  1. python学习 day09 (3月14日)----函数

    一.函数的进阶 1.1 动态参数 1.2* ** 1.3*args , **kwargs 1.4 函数的注释 1.5名称空间 1.6函数的嵌套全局变量 : 贴边写的局部变量 : 不是贴边写的. ''' ...

  2. Java语言学习day01--6月28日

    Java语言学习day01一:Java概述 1.Java语言发展史 任职于太阳微系统的 詹姆斯·高斯林 等人于1990年代初开发Java语言的雏形,最初被命名为 Oak ,目标设置在 家用电器等小型系 ...

  3. Java语言学习day02--6月29日

    Java语言学习day02###01常用的DOS命令 * A: 常用的DOS命令 * a: 打开Dos控制台 * win+r--cmd--回车 * b: 常用dos命令 * cd.. : 退回到上一级 ...

  4. Java Calendar获取年、月、日、时间

    Java Calendar获取年.月.日.时间 Calendar c = Calendar.getInstance(TimeZone.getTimeZone("GMT+08:00" ...

  5. Java语言学习day32--8月07日

    ###07正则表达式邮箱地址验证 * A: 正则表达式邮箱地址验证 * a: 案例代码 public class RegexDemo2 { public static void main(String ...

  6. Java语言学习day33--8月8日

    今日内容介绍1.基本类型包装类2.System类3.Math类4.Arrays类5.大数据运算 ###01基本数据类型对象包装类概述 *A:基本数据类型对象包装类概述 *a.基本类型包装类的产生 在实 ...

  7. Java语言学习day15--7月21日

    今日内容介绍1.Eclipse开发工具2.超市库存管理系统 ###01Eclipse的下载安装 * A: Eclipse的下载安装  * a: 下载 * http://www.eclipse.org ...

  8. Java语言学习总结 扩展篇 DateFormat类

    DateFormat类 java.text .DateFormat 是 日期/时间格式化子类的抽象类,我们通过这个类可以帮我们完成日期和文本之间的转换:也就是可以在Date对象与String对象之间进 ...

  9. python学习 day21 (3月28日)----(抽象类 多态 nametuple dump)

    不要因为走的路太久了,而忘记了为了什么而出发. 提前作准备了吗?把思维导图的东西做了吗? 和工作了几年的人,相比,是不是相同的水平,如果要写简历的话. 一边学习,一边复习. 小就是大,少就是多. 1. ...

  10. java语言学习笔记1

    最近也在春节的节假日里,总是会有各种各样的事情出现,没有很完整的时间来学习java以及其他方面的知识. 从昨天开始有了完整的学习体系,我去娄老师推荐的极客学院网站开始学习java语言的语法.在假期之初 ...

随机推荐

  1. 5月11日 python学习总结 子查询、pymysql模块增删改查、防止sql注入问题

    一.子查询 子查询:把一个查询语句用括号括起来,当做另外一条查询语句的条件去用,称为子查询 select emp.name from emp inner join dep on emp.dep_id ...

  2. 内网渗透----使用mimikatz获取windows登陆口令

    使用mimikatz提取windows密码 以管理员运行后,可以随机打一些字符,进入如下界面 输入aaa::aaa,可展示所有模块: 可采用log命令,保存日志 获取hash与明文用户口令 privi ...

  3. 【技术干货】华为云FusionInsight MRS的自研超级调度器Superior Scheduler

    Superior Scheduler是一个专门为Hadoop YARN分布式资源管理系统设计的调度引擎,是针对企业客户融合资源池,多租户的业务诉求而设计的高性能企业级调度器. Superior Sch ...

  4. win10关于后缀名无法关联相应程序默认打开方式的处理方法

    系统:win10 专业版 现象:以".chm"文件为例,每次都要重新选择一次打开方式才能打开chm文件,无法设置默认打开方式. 解决方法: 1.win+r打开运行,输入regedi ...

  5. 文件下载文件名包含中文时,乱码的处理方法(url编解码)

    utf-8/gbk编码 "中"这个汉子的utf-8编码为:E4B8AD gbk编码为:D6D0 urlencode 经过urlencode编码后, %E4%B8%AD %D6%D0 ...

  6. jQuery--事件绑定|委派|切换

    一.事件的绑定 1.事件的绑定介绍 事件绑定: bind(type,fn) 给当前对象绑定一个事件.例如:A.bind("click",fn);类似A.click(fn) unbi ...

  7. WebSQL是HTML 5规范的一部分吗?

    不是,虽然很多人将其标记为HTML 5,但它不是HTML 5规范的一部分.HTML 5规范基于SQLite.

  8. Java Lambda详解

    Lambda表达式是JDK 8开始后的一种新语法形式. 作用:简化匿名内部类的代码写法 简化格式 (匿名内部类被重写方法的形参列表) -> { 重写方法 } Lambda表达式只能简化函数式接口 ...

  9. ACM - 动态规划 - UVA437 The Tower of Babylon

    UVA437 The Tower of Babylon 题解 初始时给了 \(n\) 种长方体方块,每种有无限个,对于每一个方块,我们可以选择一面作为底.然后用这些方块尽可能高地堆叠成一个塔,要求只有 ...

  10. BMZCTF phar???

    pchar??? 补充知识点 开始这题之前我们先补充一个知识点 phar 的文件包含 和上面类似先创建一个phar 标准包,使用 PharData 来创建,然后添加文件进去phar里面. 然后在文件包 ...