[Java]开发安卓,你得掌握的Java知识2

0.前言

  • 注意:
    本文实际是上一篇文章的后续,建议先把上一篇文章阅读完毕
    《[Java]开发安卓,你得掌握的Java知识1》

  • 本文与以往文章结构不太一样,统一采用先讲解,后放图的形式,以避免文章结构过于混乱
    观众请先看讲解,然后看后面跟着的>图进行理解即可

  • 由于最终目的是要开发安卓app,因此这里使用的IDE是AS(Android Studio)

  • 本文主要讲述的还是Java的内容,涉及安卓内容不多

  • ps:本文内容不涉及AS的配置教程

1.从零到"hello world"

第一步 新建项目

首先我们先新建一个项目:
File-->New-->New Project

image.png
  • 如果本身没有项目,AS 会显示“Welcome”屏幕。点击 Start a New Android Studio project即可

第二步

我们这里主要是先要写一个Java程序,因此选择空的界面(Empty Activitiy)

name的话随便就行(最好能够辨认)

  • Package Name要全部小写,
  • Language选Java

最后点击finish

选择Empty Activity
工程命名

点击finish后的页面
  • ps:这里选择Android会方便一些

第三步 新建Module

在app上右键->New->Module(单元)

选择最后的那个Java library(因为要写Java程序,不涉及安卓app)

  • Library name随便(这里用的是Java1

  • Java Class Name本文用的默认的MyClass

点击finish然后等待初始化完成

创建module
  • ps:蓝色那部分就是选中的


    选Java library

    左边出现这个文件夹之后就OK

第四步 编写main函数

打开MyClass

然后在MyClass里面编写主函数

可以自己完整的敲完,但是推荐在MyClass里输入psvm,
然后回车,就会自动生成主函数

(psvm其实就是主函数各单词的首字母)

点开Java1中的MyClass
输入psvm就会有提示,此时回车
自动生成了主函数(自己敲出来也行)

第五步 输出hello world

在main函数里输入System.out.println("hello world");

也可以输入sout然后回车(和上面的psvm性质一样)

然后点击主函数同一行的最左边的绿色剪头,然后点击run,就可以在终端看到运行结果

注意:可能第一遍运行会出bug,如果有就再运行一次,可能就消失了

输入sout然后回车
自动生成了方法
点击左边的箭头
bug

ps:可能第一次运行会遇到错误,再运行一次即可

hello world

第六步 编写杀人游戏,其之一

杀人游戏的编写思路清参考以前的文章
《[C语言] 数组的实际应用三则》

在public class MyClass的(大括号)后面写一个新的类KillPerson

在这个新的类中写一个main函数(用psvm更快喔)


杀人游戏的思路顺序

ps:上图为杀人游戏的思路顺序,可以根据这个顺序来写代码

 

第七步 编写杀人游戏,其之二

输入参与人数需要从终端输入--->使用Scanner类来完成

Scanner类中有一个nextInt()方法可以接收整型数据

 //1.输入参与人数
        System.out.print("请输入参与人数:");
        Scanner sc = new Scanner(System.in);
        int joinNum = sc.nextInt();//获得参与人数

第九步 编写杀人游戏,其之三

为参与游戏的每个人进行一个编号-->即用一个数组,按顺序装入1,2,3,4省略号,用编号代表每个玩家

上述过程需要:
(1)定义一个数组
(2)使用一个for循环将数字装入数组中

接着还要从终端输入一个死亡编号,
喊出该死亡编号的人视为死亡(被淘汰)

//2.编号
        int[] order = new int[joinNum];
        for (int i = 0; i < joinNum; i++) {
            order[i] = i+1;
        }

//3.输入死亡编号
        System.out.print("请输入死亡编号:");
        int dieNum = sc.nextInt();//获得死亡编号

ps:这里的joinNum就是一个变量,在c语言中是补鞥呢这么做的

第十步 编写杀人游戏,其之四

正式开始编写杀人游戏的主要操作

由于不清楚要循环几次,故使用while(true){ }

要先定义几个变量

        int nowNum = 0;
        int orderNum = 0;//数组编号
        int remains = joinNum;//总剩余人数

orderNum表示当前的数组下标,如果到达了数组的最后一个元素的位置,需要让他回到开头

if(orderNum == joinNum){
                //判断是否要回到开头
                orderNum = 0;
            }


nowNum表示当前喊出的数字,如果它与dieNum一致,就表示当前编号的玩家死亡

if (nowNum == dieNum) {
                order[orderNum] = 0;
                remains--;
                nowNum = 0;
                for (int i = 0; i < joinNum; i++) {
                    System.out.print(order[i]+" ");
                }

上面的代码我们可以看到order[orderNum] = 0;
即我们会把数组的编号赋值为0以表示他死亡了
后期如果看到数组中的值为0,则会跳过循环,如下:

 if (order[orderNum] == 0) {
                //人已经死了就跳过
                orderNum++;
                continue;
            }


remains用来计算剩余人数,当剩余人数=1时,退出循环

if(remains == 1){
                //只剩下一个人,退出
                break;
            }



整个主要操作的代码为:

 while(true){
            if(orderNum == joinNum){
                //判断是否要回到开头
                orderNum = 0;
            }
            if(remains == 1){
                //只剩下一个人,退出
                break;
            }
            if (order[orderNum] == 0) {
                //人已经死了就跳过
                orderNum++;
                continue;
            }
            nowNum++;//喊出号码

            if (nowNum == dieNum) {
                order[orderNum] = 0;
                remains--;
                nowNum = 0;
                for (int i = 0; i < joinNum; i++) {
                    System.out.print(order[i]+" ");
                }
                System.out.println();
            }
            orderNum++;
        }



执行结果:

image.png

image.png

总结:

(1)主要的总结详见上一篇文章
(2)大家会发现C语言实现这个程序和Java实现这个程序还是有很多不同的,不论是输入输出的语句,还是打断点调试的方法(有机会的话会补充如何打断点调试),但总体而言,Java写起来更方便简洁,还是让人比较欣慰的。

你可能感兴趣的:([Java]开发安卓,你得掌握的Java知识2)