每次大家些代码的时候,相信大家都会写得长长的,而且有些还会错误,其实,小编告诉大家,代码是可以优化的,可以使他简单化的。这个想法是在一次意外,我突然想到的。其实,今天在公司,一同事问了我一个问题,我想写一个方法,而且当接收到任意长度整型数值的时候,问我我如何只保留首位,其他位全部置为0呢。于是我思考了几秒钟:首先你可以先把整型参数用String强类型转换,看看字符串的长度,这样你就能根据长度得到首位的数字,然后后面再根据长度补零就行了。这时他问道,可不可以不通过字符串转换,直接用整型来处理呢?于是我们开始研究:
研究所得出的结果,也正是本节所要推出的教程,希望对大家有作用,感谢大家的支持。
第一种做法(大家可以看出以下的代码,而做出判断,看出这个代码真的是很长的,眼花缭乱。):
结果:而经过我们的测试,这种做法是没有问题的,但是有一个问题我们要提出来了:这是不是最好的方法呢,当然不是,因为Math.floor()的原因肯定会导致其效率下降一部分,那么有办法替换么,其实很简单,我们可以直接用int()转换一下就行了。那么这样是最优做法么,当然还不是啦,让我们来看看下面这段代码:
第二种做法:
其实这段代码相信大家都能看懂,那么它的优化在哪呢?那就是比之前少了一个循环,当然效率会大幅提升了。而我们只需再添加一个变量作为被乘数,那么就可以这样就减少了一个循环。这段代码基本已经是效率很高了,但其实如果你够细心的话,仍然可以再进行优化,那就是这句:i=num/j;我们把它替换成i*=.1;为什么呢?因为在计算机内部,乘运算比除运算要快。那么让我们看一下测试结果吧:
结果:大家看到了吧,其运算的效率提高了一点,这是优化的优化,不过大家做到第一步已经是很不错的啦,因为最后那步优化的程度并不是很高,而第二种方法就可以优化很多了,建议考虑使用。
小编结语:相信大家看完之后,都会觉得很神奇吧,仅仅把几个符号改一下,那就把效率大大地提高了,真的是很神奇,这是小编和同事一起研究出来的结果,希望能对大家有所帮助。如果大家还想了解更多更精彩的教程,那么欢迎继续关注我们课课家教育,我们将为大家带来更多更精彩的教育咨询,教程,以及软考等内容。
上一篇:制作与设计可爱牛奶字
下一篇:建筑设计中实用的工程常用公式
¥30.00
¥100.00
¥25.00