java方法类型

方法: 一系列有序的集合解决特定的问题。解决问题的一系列步骤。
 修饰符 返回值类型 方法名(参数类型参数名){
  ...
     方法体
  ...
     return 返回值
}
 修饰符: 目前阶段 public
 返回值类型: 本质上来说还是个数据类型.
 方法名: 方法的名字(方便被使用,命名规则和变量一样)
 参数类型: 本质上来说还是个数据类型
 参数: 相当于原料 本质就是变量
 方法体: 操作过程
 retrun: 关键字,必须放在返回值前面。如果代码执行到return后面的代码就不执行了
 返回值: 做饭的结果

常见的方法类型

public static void main(String[] args) {
        Demo02 demo02 = new Demo02();  //创建对象 对象名也是变量名
        String nameIt = demo02.nameIt("米", "粒");
        System.out.println(nameIt);

        demo02.talk("米粒");

        String goGirlFriend = demo02.goGirlFriend();
        System.out.println(goGirlFriend);

        demo02.say();
    }


 1 有参有返回值

public String nameIt(String firstName, String secondName) {
        return firstName + secondName;
    }


 2 有参无返回值

public void talk(String name) {
        System.out.println("今天" + name + "表现不错加10分");
    }


 3 无参有返回值

public String goGirlFriend() {
        return "米粒";
    }


 4 无参无返回值

public void say() {
        System.out.println("米粒,有人喜欢你!");
    }

 

方法使用: 就是将方法里面的代码执行一遍。

1 方法想要执行,必须要被调用。对象调用方法

2 new一个对象

3 new这个方法所在的类+()

4 调用格式 对象名,方法名(xx)

形参:就是占位置的参数,没有实际意义(定义方法的时候,参数就叫形参)
实参:方法调用的时候使用的参数就是实参,确定的一个数据,不需要前面再加数据类型

方法调用的时候


基本数据类型做参数: 传递的是 值的拷贝


引用数据类型做参数: 传递的是地址值

成员变量:方法外面的变量
局部变量:方法里面定义变量就是局部变量(包含参数)
区别: 1 成员变量可以不用赋初始值;他有默认值;
            局部变量如果不赋初始值,直接报错
          2 位置不一样
          3 局部变量前面不可以加修饰
如果方法里面的局部变量和成员变量名字一样,我们该怎么区别:
成员变量前面加 this, 这个方式在static修饰的方法里面没有用
如果方法使用一个变量的时候,先找局部变量,如果没有,再找成员变量,如果还没有,就报错

构造方法


public 类名(){
}
和普通方法比较:
1 不写返回值类型(void也不写)
2 方法名和类名相同(首字母大写)
3 可以有参数
作用:
1 创建对象
2 初始化成员变量

方法重载: 在同一个类里面,方法名相同,参数列表不同,和返回值、修饰符无关
1、在同一个类里面
2、方法名相同
3、参数列表不同 (参数类型、参数个数不一样)

构造方法也可以重载

练习:1 求两个数的和 求三个数的和

import java.util.Scanner;

public class Text02_2 {
    public static void num(int num1, int num2){
        int addnum = num1 + num2;
        System.out.println(addnum);
    }
    public static void sum(double sum1,double sum2,double sum3){
        double addsum = sum1+sum2+sum3;
        System.out.println(addsum);
    }
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        Text02_2 text022 = new Text02_2();
        System.out.println("求两个数的和");
        Text02_2.num(scanner.nextInt(),scanner.nextInt());
        System.out.println("求三个数的和");
        Text02_2.sum(scanner.nextDouble(),scanner.nextDouble(),scanner.nextDouble());
    }
}

练习2:使用学员对象数组作为参数,实现学员成绩修改

             如果学员成绩低于60分,整体提高5分

public void addScore(Student[] students){
        for (int i = 0; i < students.length; i++) {
            if (students[i].score<60){
                students[i].score += 5;
            }
        }
    }

    public static void main(String[] args) {
        Student student1 = new Student("张三", 18, 50);
        Student student2 = new Student("张三", 18, 10);
        Student student3 = new Student("张三", 18, 20);
        Student student4 = new Student("张三", 18, 30);
        Student student5 = new Student("张三", 18, 40);
        Student student6 = new Student("张三", 18, 60);


        Student[] students = {student1,student2,student3,student4,student5,student6};
        Text01 text01 = new Text01();
        System.out.println(Arrays.toString(students));
        text01.addScore(students);
        System.out.println(Arrays.toString(students));
    }
public class Student {  
    String name;
    int age;
    int score;

    public Student(String name, int age, int score) {
        this.name = name;
        this.age = age;
        this.score = score;
    }

    @Override
    public String toString() {
        return "Student{" +
                "name='" + name + '\'' +
                ", age=" + age +
                ", score=" + score +
                '}';
    }
}

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值