神写的代码之符合运算符

来源:互联网 发布:在线投票系统源码 编辑:程序博客网 时间:2024/06/10 03:20

题外话:小白因为很现实的原因,暂时放弃了C++,转而投奔了当今的红人--Java,C++就像是初恋一样,有着我众多期盼中的东西,不过好在这两种语言从语法上来说,还是很相近,现在正在将这两者互补。

背景:今天遇到一编程题:输入12345,输出54321,题目不难,请对比小白和大神的距离。

小白写的:

package pb11;
import java.util.*;
public class test0 {
/**
* 输入12345,输出54321
*/
public static void main(String[] args) {
//输入一个数
System.out.println("输入一个数:");
Scanner input = new Scanner(System.in);
int num = input.nextInt();

while(num != 0)   //一开始小白连这个循环条件都模模糊糊的,还是参照的大神的
{
//取余数,得到末尾数5
int mod = num % 10;
System.out.print(mod);

//获取12345中的1234,为输出4做准备
int num2 = num / 10;
num = num2;

}
}
}


大神写的:

package pb11;

import java.util.*;
public class test0 {
/**
* 输入12345,输出54321
*/
public static void main(String[] args) {
//输入一个数
System.out.println("输入一个数:");
Scanner input = new Scanner(System.in);
int num = input.nextInt();

while(num!=0)
{
                     int mod = num %10;
                    System.out.print(mod);
                    num /= 10;
 //谭浩强老先生曾说过:善用符合运算符是一个程序员是否专业的一个标尺!
}
}
}

问题:1. 在写程序的时候,小白一般都是即兴的写,想要一个变量就会定义一个变量,不会先去考虑这个代码的基本框架,思路是什么,想到哪里就写到哪里,不会去考虑这个变量是否可以取缔,或者换一种更加快速的算法来实现

    2. 写完程序后,小白不会回头重新审视自己的代码,例如:查看是否有些地方有冗余,有些地方缺少人性提示输入

总结:a. 在正式敲代码之前将算法或者实现的框架考虑清楚,这样就不会出现连while中的循环条件是什么都不知道的尴尬境地了

            b. 代码写完功能编译成功后,可以去挑剔的去重审代码,哪些地方多余,哪些地方可以优化,哪些地方可以扩展,还有没有更好的实现方式

0 0
原创粉丝点击