JavaSE--例题分享

  • 第一题:判断以下语句的输出结果(关于对象的调用)
    在这里插入图片描述
    静态变量有默认初始化
    题目分析
    类变量(静态变量)和类函数(静态函数)的执行顺序,因为类变量有初始值,所以我们要先给他赋值,因次我们就要先进行他的操作
    所以staic B b = new B();此时我们来在堆空间内生成对象
    对象调用变量是直接去堆内所属空间内找,如果没有则去静态里找
    解题思路
    第一步:先编译BTest.java文件,生成BTest.class和B.class文件
    第二步:然后将生成的class文件加载进方法区中
    第三步:当staic B b = new B();加载进方法区中时就需要在堆中创建对象,开空间分配地址,
    第四步:因为创建了对象,所以B的构造函数就需要进栈,因此在主函数进栈之前我们就已经生成了一个对象。
    第五步:此时主函数进栈,执行第一句话,创建对象–在堆中开空间分配地址
    第六步:然后构造函数进栈,
    操作图如下:
    在这里插入图片描述所以结果如下:
    在这里插入图片描述
    总结
    这个题我们首先要了解这一下几点:
    1.静态的优先级高于非静态,所以在类中,我们先执行静态
    2.静态变量的优先级高于静态函数,因为变量需要有默认初始化,所以要先执行静态变量
    3.对象要调用变量,则是直接去对象的堆内存空间中找。
  • 第二题:五子棋(数组的应用)
    题目要求:人自己和自己玩,率先到达五子就赢
    题目分析
    1.玩游戏要有棋盘,所以让电脑要先生成棋盘
    2.游戏开始,玩家开始下棋
    3.率先到达五子便游戏结束
    解题思路
    1.利用二维数组生成棋盘
    2.对棋盘经行初始化
    3.打印棋盘
    4.开始游戏–玩者开始输入坐标玩游戏–输入之后再次打印棋盘-但若输入的位置已有棋子,那么则提示重新输入坐标
    5.最后到达如图所示的五子任意一种情况,则游戏结束。
    在这里插入图片描述参考代码如下:
    在这里插入图片描述在这里插入图片描述在这里插入图片描述
发布了22 篇原创文章 · 获赞 3 · 访问量 345

猜你喜欢

转载自blog.csdn.net/qq_45161607/article/details/103339501