• Java笔记(4)


    目录

    Java中求次方的方法:

    代码冗余   

    java 函数/方法

    函数的分类

    函数的使用:

    函数的封装

    参数

    参数的分类

    变量作用域


    Java中求次方的方法:

    Math.pow( 底数 ,  指数)


    代码冗余   

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


    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:判断是否打中 并进行积分

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

    代码实现:

    1. import java.util.Random;
    2. import java.util.Scanner;
    3. public class HitMouseFn {
    4. public static String[][] mapAry = new String[5][5];
    5. public static int HP = 3;
    6. public static int point = 0;
    7. public static int mouseX;
    8. public static int mouseY;
    9. public static int playerX;
    10. public static int playerY;
    11. public static void main(String[] args) {
    12. while (true) {
    13. InitializeMap();
    14. SetMouse();
    15. MakeMap();
    16. ShowInfo();
    17. if (HP <= 0) {
    18. Scanner sc = new Scanner(System.in);
    19. System.out.println("没血了,请问是否重新开始?重新开始请按s");
    20. String conGame = sc.next();
    21. if (!conGame.equals("s")) {
    22. break;
    23. } else {
    24. HP = 3;
    25. point = 0;
    26. System.out.println("加油哦,再来一次");
    27. }
    28. }
    29. }
    30. }
    31. public static void InitializeMap() {
    32. for (int i = 0; i < mapAry.length; i++) {
    33. for (int j = 0; j < mapAry[i].length; j++) {
    34. mapAry[i][j] = "O";
    35. }
    36. }
    37. }
    38. public static void SetMouse() {
    39. Random ran = new Random();
    40. mouseX = ran.nextInt(5);
    41. mouseY = ran.nextInt(5);
    42. mapAry[mouseY][mouseX] = "X";
    43. System.out.println("老鼠的X轴坐标为:" + mouseX + ",老鼠的Y轴坐标为:" + mouseY);
    44. }
    45. public static void MakeMap() {
    46. for (int i = 0; i < mapAry.length; i++) {
    47. for (int j = 0; j < mapAry[i].length; j++) {
    48. System.out.print(mapAry[i][j] + " ");
    49. }
    50. System.out.println();
    51. }
    52. }
    53. public static void ShowInfo() {
    54. Scanner sc = new Scanner(System.in);
    55. System.out.println("请按顺序输入x和y坐标打老鼠");
    56. playerX = sc.nextInt();
    57. playerY = sc.nextInt();
    58. if (mapAry[playerY][playerX].equals("X")) {
    59. System.out.println("恭喜你,打中了");
    60. point++;
    61. } else {
    62. System.out.println("很遗憾,没打中");
    63. HP--;
    64. }
    65. System.out.println("当前玩家血量为" + HP + ",当前玩家积分为" + point);
    66. }
    67. }

    结果展示:

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

  • 相关阅读:
    关于 4.1 - copycat 的通关经历
    【STM32】--PZ6860L,STM32F4,ARM3.0开发板
    区块链不止一种工作方式
    【前端面试题】
    JAVA计算机毕业设计毕业生论文管理系统Mybatis+源码+数据库+lw文档+系统+调试部署
    【博客475】alertmanager集群如何同步数据
    静态应用程序安全测试(SAST)的autofix的挑战
    Docker:Jenkins安装和自动构建发布
    java-net-php-python-jsp祥生房屋租赁管理系统演示录像2019计算机毕业设计程序
    spark内存管理
  • 原文地址:https://blog.csdn.net/weixin_47314602/article/details/126843232