Java入坟8 原地升天の方法(重载,构造,返回值)

Java入坟8 原地升天の方法(重载,构造,返回值)

最后做题8

方法的理解和语法格式:

1.解决某一件事的功能实现。方法,是一段代码块的封装,方法中的代码应围绕某一功能的实现来写,目标明确,逻辑清晰。方法的语法格式
2.格式:在Java中,声明一个方法的具体语法格式如下:
修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2,......){

执行语句

1.方法的调用

2.变量的操作:声明 赋值 修改
3.程序结构:选择结构 循环结构………
return 返回值;
}
对于上面的语法格式中具体说明如下:
修饰符:方法的修饰符比较多,有对访问权限进行限定的,有静态修饰符static,还有最终修饰符final等,这些修饰符在后面的学习过程中会逐步介绍
返回值类型:用于限定方法返回值的数据类型
有返回值:基本数据类型 类和接口 没有返回值:void
参数类型:用于限定调用方法时传入参数的数据类型
参数名:是一个变量,用于接收调用方法时传入的数据
return关键字:用于结束方法以及返回方法指定类型的值
返回值:被return语句返回的值,该值会返回给调用者
需要特别注意的是,方法中的“参数类型 参数名1,参数类型 参数名2”被称作参数列表,它用于描述方法在被调用时需要接收的参数,如果方法不需要接收任何参数,则参数列表为空,即()内不写任何内容。方法的返回值必须为方法声明的返回值类型,如果方法中没有返回值,返回值类型要声明为void,此时,方法中return语句可以省略。

2.为什么有的方法有参数,有的没有?

1.榨汁机榨苹果汁需要苹果。吃饭需要食物。
以上描述的都是一个动作,都可以用程序的方法表示,实现这个动作所需消耗的物资,就对应方法的参数。一般情况下,参数都会在方法体中被使用和改变。
当然,不是所有的方法都需要参数,例如:跑步,说话,睡觉,玩手机,看书。

3.参数分形参和实参(参数的分类)

形参:形式参数,在声明一个方法时,方法名后面的小括号中,就是形参,
格式:(参数数据类型 参数名)
实参:实际参数,在调用一个方法时,方法名后面的小括号中,就是实参。
格式:(参数值或一个同类型的变量)
补充:方法的状态:方法编写完成后,没有调用的状态叫作方法的声明,被其它方法调用时,叫调用状态。
案例:
榨苹果汁,吃饭,跑步,说话(背诗歌),睡觉,玩手机,看书。

4.方法的返回值

1.返回值指的是:根据实际的业务需求,对某一功能用程序实现后,需要有一定的产出。
比如:榨一杯苹果汁,最后会产出一杯苹果汁。这个时候就有人会问:参数和返回值之间好像有着某种联系?
其实,这两者之间没有任何必然的联系。也就是说,一个方法,可以有参数,也可以没有参数,可以有参数,没有返回值,也可以有参数,也有返回值…
打个比方:盖房子需要木头,水泥,砖块。这些都是“盖房子”这个方法的参数,但是产出只有一个——房子。再打个比方,“种水稻”这个方法需要的参数有:种子,化肥,除草剂,产出的是大米。可天有不测风云,万一闹灾荒,可能颗粒无收,这个时候,没有产出。当然,我们希望的是每年风调雨顺,国泰民安。再比如,“学习”这个方法,需要的参数是:时间,精力,和思考。可最终是否学业有成,还得看个人在这个过程中是否用心了,有可能学业有成,知识高产出,也有可能中途放弃,或误入歪门邪道,最终没有产出。我们还是祝愿所有的学员能够学员有成!
2.返回值类型定义在方法名的前面,分两种:
有返回值:基本数据类型,和引用数据类型(也就是类和接口)
无返回值:void
3.返回值用关键字return 表示。

案例:
种水稻,学习。
1.定义一个方法,模拟水稻种植施肥的过程:参数是肥料的袋数,如果小于5袋, 返回的是“营养不够,舍不得花钱,产量低下,可不要怪我”,如果大 于5袋,输出:“营养充足,可以亩产三千斤!”。

5.方法的调用和传参

1.调用:方法分静态和非静态,同一个类中,静态方法直接调用静态方法,
静态方法调用非静态,要先创建对象,然后再调用。因为静态方法是属于类的,非静态属于对象的。
不同的类中:调用静态方法,直接是类名.方法名();调用非静态:创建对象,再调用。同一个类中:
主调方\被调方 静态方法 实例方法
静态 直接写方法名调 创建对象,再调
实例 直接写方法名调 直接写方法名调(省略this)
不同的类中:
主调方\被调方 静态方法 实例方法
静态 直接写类名.方法名()来调 创建对象,再调
实例 直接写类名.方法名()来调 创建对象,再调
2.传参,调用有多个参数的方法时,传参的顺序一致,数据类型保持一致。

6.构造方法

1.构造方法的作用:开辟内存空间,生成对象,俗称类创建对象的过程叫实例化
特点:方法名和类名相同,没有返回值一说,连void也没有。

2.构造方法分为有参构造和无参构造
无参构造:jvm虚拟机在加载类时会自动创建,每个类都默认有一个无参构造
有参构造:需要开发人员自己去编写,它的作用是:实例化对象的同时,为对象的成员
属性赋值。有参构造=无参构造+set方法

注意:如果开发人员编写了有参构造,那么虚拟机就不会默认生成无参构造。如果仍要使用无参构造,需要手动编写。
案例:以girlfriend类为例,从无参构造演化到有参构造。

7.方法的重载

1.一个类中,同名不同参数的两个或以上的方法叫做方法的重载。
有参构造和无参构造就是典型的方法重载

2.如果类中只有有参构造,忘记了写无参构造 ,类中的有参构造会覆盖无参构造
3.如果类中有参构造和无参构造都忘记了写 虚拟机在加载该类的时候会默认帮你生成一个无参构造

有参构造会覆盖默认的无参构造。

3.有参构造中的this指的是,调用该构造方法得到的那个对象。
Public User(String name){
This.name=name;
}
Public User(String name1){
This.name=name1;
}

New User(“张三”);

3.判断是否是重载只看两个因素:1.方法名相同,2.参数不同。
其它的返回值 修饰符什么的都不用看。
例如:println()

8.成员变量和局部变量

成员变量:类的成员,也叫全局变量。全局和局部,哪个作用域大呢?
作用域又是什么呢?变量的有效使用范围
Java里面的作用域的范围是什么呢?代码块{} 类代码块,方法代码块,循环代码块,无名代码块, try-catch代码块
思考:成员变量和属性又是什么关系呢?同一个东西的不同称呼。从作用域的范围看,叫成员变量,从类的剖析角度来看,叫属性。
方法的参数属于的局部变量,形参相当于变量的声明,实参相当于初始化(赋值)。

现有电视商品价格竞猜活动,活动的规则:随机出现一个商品名,用户猜测它的价值,如果在规定次数内猜对,便可获得此商品。模拟竞猜活动,运行结果如下所示: (选作)
分析:1、准备一批用来竞猜的商品
      2、随机获取一件商品
Java程序:
1、定义对象所归属的类:商品类--Goods(属性: 商品的名称String name   商品对应的实际单价 int price)
2、模拟购入一批商品
多个Goods对象
3、
	请猜测“公主电动车”的价格:1000
	再大点!
	再猜一次吧:5000
	再小点!
	再猜一次吧:2500
	在小点!
	再猜一次吧:2200
	4次内没有猜对,下次努力吧!
package SuperHomeWork;

public class Goods {
    String name;
    int price;

    public void goods(){
        System.out.printf("%s\n售价为%d",name,price);
    }
}

package SuperHomeWork;

import java.util.Scanner;

public class QuessMachine {
    public static void initial(Goods[] Goods){
        Goods arr = Goods[(int) (Math.random()*3)];
        System.out.printf("请猜测%s的价格\n",arr.name);
        Scanner sc = new Scanner(System.in);
        int i = 0;
        do{
            int in = sc.nextInt();
            if (in == arr.price){
                System.out.println("猜中啦!");
                return;
            } else if (in<arr.price) {
                System.out.println("猜小啦!");
            }
            else if (in>arr.price){
                System.out.println("猜大啦!");
            }
            i++;
            if (i == 4){
                System.out.println("4次内没有对,下次加油吧!");
                return;
            }
        }while (i<5);
    }
}

package SuperHomeWork;

public class testGoods {
    public static void main(String[] args) {
        Goods good1 = new Goods();
        good1.name = "骑上我心爱的小耗子(电动车)";
        good1.price = 2600;

        Goods good2 = new Goods();
        good2.name = "神光棒";
        good2.price = 600;

        Goods good3 = new Goods();
        good3.name = "电脑";
        good3.price = 7000;

        Goods[] arr = {good1,good2,good3};

        QuessMachine.initial(arr);
    }
}

在这里插入图片描述

感谢!点个赞8!

1. 基础概念 汇编语言是一种低级语言,它是计算机硬件指令的助记符。汇编语言直接反映了计算机的硬件结构,可以直接操作计算机的硬件资源。 汇编语言的基本单位是汇编指令,它由操作码和操作数两部分组成。操作码表示要执行的操作,操作数表示操作的对象或数据。 汇编语言的程序由若干条汇编指令组成,程序的执行顺序由程序中的指令顺序决定。 2. 寄存器 寄存器是计算机中用来暂时存储数据的高速存储器件,是汇编语言中最常用的数据存储方式。 常用的寄存器有通用寄存器、段寄存器、指针寄存器、标志寄存器等。 通用寄存器包括AX、BX、CX、DX等,可以用来存储数据、地址、偏移量等。 段寄存器包括CS、DS、SS、ES等,用来存储段地址。 指针寄存器包括SP、BP、SI、DI等,用来存储栈指针、基址指针、源地址指针、目的地址指针等。 标志寄存器包括CF、PF、AF、ZF、SF、OF等,用来存储运算结果的状态信息。 3. 指令集 汇编语言的指令集包括数据传送指令、算术指令、逻辑指令、比较指令、跳转指令、循环指令等。 数据传送指令用来把数据从一个地方传送到另一个地方,包括MOV、XCHG、LEA等。 算术指令用来进行加、减、乘、除等运算,包括ADD、SUB、MUL、DIV等。 逻辑指令用来进行位运算,包括AND、OR、NOT、XOR等。 比较指令用来比较两个数据的大小关系,包括CMP、TEST等。 跳转指令用来改变程序的执行顺序,包括JMP、JZ、JNZ、JE、JNE等。 循环指令用来重复执行一段程序,包括LOOP、LOOPE、LOOPZ、LOOPNE、LOOPNZ等。 4. 程序设计 汇编语言的程序设计需要掌握一定的技巧和方法,包括程序的结构、数据的处理、流程控制等。 程序的结构包括程序的头部、数据段、代码段、堆栈段等。 数据的处理包括数据类型、数据的存储和读取、数据的转换等。 流程控制包括条件判断、循环控制、函数调用等。 5. 汇编器和调试器 汇编器是将汇编语言程序翻译成机器语言程序的工具,可以将汇编语言程序转换成目标代码或可执行文件。 调试器是用来调试程序的工具,可以帮助程序员查找程序中的错误、调试程序的执行流程等。 6. 总结 学习汇编语言需要掌握基本概念、寄存器、指令集、程序设计、汇编器和调试器等知识,需要进行大量的实践和练习,才能掌握汇编语言的编程技巧和方法
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值