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


    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次。

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

  • 相关阅读:
    spark 提交任务(指定log4j日志配置)
    linux修改mysql root密码
    清理CDH日志
    hive中解析json数组[转载chenzechao]
    scala 语法 注意点
    excel常用公式
    Eclipse导入Java 的jar包的方法
    函数bsxfun,两个数组间元素逐个计算的二值操作
    函数的定义与调用
    clc和clear命令的使用
  • 原文地址:https://www.cnblogs.com/williamcai/p/2985766.html
Copyright © 2020-2023  润新知