关于编程中所遇到的问题的一些理解

关于编程中所遇到的问题的一些理解

1.比较下面两段程序

(1)第一段程序  

Checkbox check=(Checkbox)(e.getSource());

  if(e.getLabel()=="普通")

   show_style.setFont(new Font("TimesRoman",Font.PLAIN,size));

 else if(e.getLabel()=="黑体")

  show_style.setFont(new Font("TimesRoman",Font.BOLD,size));

else

show_style.setFont(new Font("TimesRoman",Font.ITALIC,size));

(2)第二段程序

Checkbox check=(Checkbox)(e.getSource());

  if(e.getLabel()=="普通")

   show_style.setFont(new Font("TimesRoman",Font.PLAIN,size));

  if(e.getLabel()=="黑体")

  show_style.setFont(new Font("TimesRoman",Font.BOLD,size));

  if(e.getLabel()=="斜体")

show_style.setFont(new Font("TimesRoman",Font.ITALIC,size));

以上两段程序实现的功能相同,但是效率却有差异。为了方便,简化一下,根据e.getLabel()的返回值,与各段程序if比较的次数,设为∑i。

先比较第一段程序,如果e.getLabel()=="普通",需比较1次;如果e.getLabel()=="黑体",需比较2次;如果是e.getLabel()=="斜体",需比较3次。从而得到∑i=1+2+3=6。

 再比较第二段程序,如果e.getLabel()=="普通",虽然第一次就匹配了,但是后面的if也要相比较,所以需比较3次;如果e.getLabel()=="黑体",需比较3次;如果是e.getLabel()=="斜体",需比较3次。此时∑i=3+3+3=9次。

 很显然,第一段程序的效率要高。

posted @ 2013-04-01 16:31 williamcai 阅读( ...) 评论( ...) 编辑 收藏
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值