Java笔记(4)

目录

Java中求次方的方法:

代码冗余   

java 函数/方法

函数的分类

函数的使用:

函数的封装

参数

参数的分类

变量作用域


Java中求次方的方法:

Math.piw( 底数 ,  指数)


代码冗余   

冗余代码可编辑性和可维护性差,我们要避免代码冗余。


java 函数/方法

    是一段具备 特定功能的 高度封装  代码块

    特定功能的: 指定的功能


函数的分类

    内置函数   eg:Math.pow(,);sout......

    自定义函数  自己声明,自己使用的函数  


函数的使用:

    1:函数的声明

    2:函数的调用

1:函数的声明

有5要素

(1)修饰符 public(公有的)    static(静态)

(2)返回值类型 void(没有返回值)  其它有返回值int...

(3)函数名 名称

(4)参数列表   不同的地方形成参数

(5)方法体 里面放置方法的所有代码

public static void main(String[] args) {

//主方法 是一个特殊的方法 作用是 作为程序的入口

2:函数的调用

    直接 函数名( ) 调用

函数的封装

封装(面向对象特征之一) : 是指隐藏对象的属性和实现细节,仅对外提供公式访问方法。


参数

什么是参数?

    把冗余代码的不同地方提取出来   会形成  参数


参数的分类

    1:形参 形式参数    只是有个参数占位置 不代表具体内容   用在函数的声明过程中

    2:实参 实际参数    实际存在的 具备含义的参数   用在函数的调用过程中

注意点:

如果声明了形参  那么  必须填写实参

参数可以有多个 多个参数间使用逗号(,) 进行分割

同时 形参 的顺序 要和 实参 一一对应


变量作用域

在某个方法中声明的变量  只能在该方法中   外部用不了

使用返回值  来解决  变量作用域导致的变量无法获取的问题

eg:sum计算完成之后 除了 直接提示之外 我·还想用一下,可以使用return。

return执行后 后续代码不会再运行

    借助这个特性 也可以使用return做代码的结束

局部变量 外部无法使用,我们可以将局部变量 变为 全局。


例子:简易打地鼠游戏+封装

思想逻辑如下

1:初始化地图

2:放置老鼠

3:制作地图

4:判断是否打中 并进行积分

额外条件:循环玩,可输入特定字符重新开始。

代码实现:

import java.util.Random;
import java.util.Scanner;

public class HitMouseFn {
    public static String[][] mapAry = new String[5][5];
    public static int HP = 3;
    public static int point = 0;
    public static  int mouseX;
    public static  int mouseY;
    public static  int playerX;
    public static  int playerY;
    public static void main(String[] args) {
        while (true) {
            InitializeMap();
            SetMouse();
            MakeMap();
            ShowInfo();
            if (HP <= 0) {
                Scanner sc = new Scanner(System.in);
                System.out.println("没血了,请问是否重新开始?重新开始请按s");
                String conGame = sc.next();
                if (!conGame.equals("s")) {
                    break;
                } else {
                    HP = 3;
                    point = 0;
                    System.out.println("加油哦,再来一次");
                }
            }
        }
    }

    public static void InitializeMap() {
        for (int i = 0; i < mapAry.length; i++) {
            for (int j = 0; j < mapAry[i].length; j++) {
                mapAry[i][j] = "O";
            }
        }
    }

    public static void SetMouse() {
        Random ran = new Random();
        mouseX = ran.nextInt(5);
        mouseY = ran.nextInt(5);
        mapAry[mouseY][mouseX] = "X";
        System.out.println("老鼠的X轴坐标为:" + mouseX + ",老鼠的Y轴坐标为:" + mouseY);
    }

    public static void MakeMap() {
        for (int i = 0; i < mapAry.length; i++) {
            for (int j = 0; j < mapAry[i].length; j++) {
                System.out.print(mapAry[i][j] + " ");
            }
            System.out.println();
        }
    }


    public static void ShowInfo() {
        Scanner sc = new Scanner(System.in);
        System.out.println("请按顺序输入x和y坐标打老鼠");
        playerX = sc.nextInt();
        playerY = sc.nextInt();
        if (mapAry[playerY][playerX].equals("X")) {
            System.out.println("恭喜你,打中了");
            point++;
        } else {
            System.out.println("很遗憾,没打中");
            HP--;
        }
        System.out.println("当前玩家血量为" + HP + ",当前玩家积分为" + point);
    }

}

结果展示:

 

心得体会:这个是今天的笔记还有许多不完善的地方,还需我后期多多学习,让我们一起加油吧。 

猜你喜欢

转载自blog.csdn.net/weixin_47314602/article/details/126843232