今天日子很特殊啊,据说是千年一遇,20200202,没什么好纪念的,就发一篇博客纪念一下吧!哈哈
1 目录及资源索引
2 练习1
2.1 实际练习
题目:将学生的分数按照标准分为优、良、中、差四个级别。按照老师讲解的,分步骤来操作:
- 创建一个名为 Test01 的类;
- 在 Test01 类中加入主函数;
- 在主函数中定义一个整形变量,用于表示学生的分数;
- 使用 if … else … 结构对分数进行分级。
我们按照要求,先尝试写一下代码如下:
public class Test01
{
public static void main(String args[])
{
int score = 90;
if( (score >= 90) && (score <= 100) )
{
System.out.println("成绩为优");
}
else if( (score >= 80) && (score < 90) )
{
System.out.println("成绩为良");
}
else if( (score >= 60) && (score < 80) )
{
System.out.println("成绩为中");
}
else if( (score >= 0) && (score < 60) )
{
System.out.println("成绩为差");
}
else
{
System.out.println("成绩非法");
}
}
}
程序运行结果如下:
2.2 练习总结
针对上述代码,做出如下几点分析,可以一步一步来看:
- 分数要求定义为一个整形变量,需要想到整形:可正,可负,可0;但是分数只有:正数和0。
- 有了上述基础,接下来可以想一下取值范围,分数取值范围为:0 - 100;整形取值范围:-231 ~ 231 - 1。
- 接下来就是对分数进行对应的优良中差等级划分,90 - 100是优;80 - 89是良;60 - 79是中;0 - 59是差。
- 在划分的时候,不要忘了100分,0分这两个特殊的。然后在这个分数等级外的任何分数(大于100,小于0),都会进到 else,打印“成绩非法”。
- 最后总结下来就是,需要考虑到各种不同的情况,比较好点的办法就是把取值范围列出来,把不同等级的分数段取值范围列出来,一一对应,这样到代码中就不会出错。
3 练习2
3.1 实际练习
题目:猜拳游戏。按照老师讲解的,分步骤来操作:
- 创建一个名为 Test02 的类;
- 在 Test02 类中加入主函数;
- 在主函数中定义两个 char 类型的变量,分别代表两个玩家的出拳;
- 使用 if … else … 分支结构对结果进行判断。
同理,按照上述步骤要求,先写一下代码如下:
public class Test02
{
public static void main(String args[])
{
// a:石头 b:剪刀 c:布
char play1 = 'a'; // 玩家1
char play2 = 'b'; // 玩家2
if( ('a' == play1) && ('a' == play2) )
{
System.out.println("平局"); // 石头 石头
}
else if( ('a' == play1) && ('b' == play2) )
{
System.out.println("Player1 赢"); // 石头 剪刀
}
else if( ('a' == play1) && ('c' == play2) )
{
System.out.println("Player2 赢"); // 石头 布
}
else if( ('b' == play1) && ('a' == play2) )
{
System.out.println("Player2 赢"); // 剪刀 石头
}
else if( ('b' == play1) && ('b' == play2) )
{
System.out.println("平局"); // 剪刀 剪刀
}
else if( ('b' == play1) && ('c' == play2) )
{
System.out.println("Player1 赢"); // 剪刀 布
}
else if( ('c' == play1) && ('a' == play2) )
{
System.out.println("Player1 赢"); // 布 石头
}
else if( ('c' == play1) && ('b' == play2) )
{
System.out.println("Player2 赢"); // 布 剪刀
}
else if( ('c' == play1) && ('c' == play2) )
{
System.out.println("平局"); // 布 布
}
}
}
程序运行结果如下:
3.2 练习总结
针对上述代码,简要做出如下几点分析或思路,一步一步来看:
- 猜拳游戏,无非就是石头、剪刀、布这三种,我们可以找三个字母分别对应这三种形式,此代码中,我使用 a 代表石头,b 代表剪刀,c 代表布。注意写清楚注释,很重要,不然你写的多了,谁知道 a 代表啥?自己都乱了。
- 定义两个字符型变量,也就是 char 型变量,这样才能存储一个字母。
- 在打印语句后面,可以类似代码中示例,写好注释,表明此次是哪两个类型的判断结果,可按顺序来,我默认的是:玩家1 玩家2 :石头 石头;类似这种。这样很一目了然的就看出来了是什么判断条件。
- 猜拳游戏,有三种类型,这三种类型组合在一块,有9种组合,怎么写能使组合更好理解呢?我自己采用的方法是:玩家1先出石头,对应玩家2三种情况;然后玩家1出剪刀,对应玩家2三种情况;接着玩家1出布,对应玩家2三种情况。这样先固定一个,把另一个按顺序依次都完成,结构也很清晰,也不会乱,不会丢,不会忘了哪一个。
4 总结
- 写代码一定要有注释,一定要有注释,一定要有注释!重要的事情说三遍。我看这个教程,可能年代久远,发现这个老师特别不爱写注释。下图是老师写的代码,没有注释还没有括号,我们在写的时候,该加括号的地方加括号,该注释的地方写清楚注释。
- 有一点老师教的比较好,写之前,先理清一下框架,老师说面向对象的编程语言,就是和现实中的事情差不多,老师举的有的例子还是比较好的。
- 再提一下,我目前装的标准版的 Java 编译环境,当代码中有中文字符,在编译的时候,必须加上使用的字符集是哪个,不然会使用错误的字符集,并报错。
- 最近肺炎情况越来越严重了,保护好自己!
- 今天日子也不错,20200202,希望2020一切都会好起来的!