0.前言
注意:
本文实际是上一篇文章的后续,建议先把上一篇文章阅读完毕
《[Java]开发安卓,你得掌握的Java知识1》本文与以往文章结构不太一样,统一采用先讲解,后放图的形式,以避免文章结构过于混乱
观众请先看讲解,然后看后面跟着的>图进行理解即可由于最终目的是要开发安卓app,因此这里使用的IDE是AS(Android Studio)
本文主要讲述的还是Java的内容,涉及安卓内容不多
ps:本文内容不涉及AS的配置教程
1.从零到"hello world"
image.png第一步 新建项目
首先我们先新建一个项目:
File-->New-->New Project
- 如果本身没有项目,AS 会显示“Welcome”屏幕。点击 Start a New Android Studio project即可
选择Empty Activity 工程命名第二步
我们这里主要是先要写一个Java程序,因此选择空的界面(Empty Activitiy)
name的话随便就行(最好能够辨认)
- Package Name要全部小写,
- Language选Java
最后点击finish
点击finish后的页面
- ps:这里选择Android会方便一些
创建module第三步 新建Module
在app上右键->New->Module(单元)
选择最后的那个Java library(因为要写Java程序,不涉及安卓app)
Library name随便(这里用的是Java1)
Java Class Name本文用的默认的MyClass
点击finish然后等待初始化完成
-
ps:蓝色那部分就是选中的
选Java library
左边出现这个文件夹之后就OK
点开Java1中的MyClass 输入psvm就会有提示,此时回车 自动生成了主函数(自己敲出来也行)第四步 编写main函数
打开MyClass
然后在MyClass里面编写主函数
可以自己完整的敲完,但是推荐在MyClass里输入psvm,
然后回车,就会自动生成主函数(psvm其实就是主函数各单词的首字母)
输入sout然后回车 自动生成了方法 点击左边的箭头 bug第五步 输出hello world
在main函数里输入System.out.println("hello world");
也可以输入sout然后回车(和上面的psvm性质一样)
然后点击主函数同一行的最左边的绿色剪头,然后点击run,就可以在终端看到运行结果
注意:可能第一遍运行会出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
总结:
(1)主要的总结详见上一篇文章
(2)大家会发现C语言实现这个程序和Java实现这个程序还是有很多不同的,不论是输入输出的语句,还是打断点调试的方法(有机会的话会补充如何打断点调试),但总体而言,Java写起来更方便简洁,还是让人比较欣慰的。
网友评论