zoukankan      html  css  js  c++  java
  • 关于编程中所遇到的问题的一些理解

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

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

  • 相关阅读:
    总结7.19 laravel验证码
    java学习day74--Redis常用命令
    java学习day74--JT项目12(Redis缓存/spring boot整合redis)
    java学习day73-JT项目11(数据库高可用/读写分离/负载均衡)
    疯狂学java的第27天
    xtrabackup全备+binlog模拟slave恢复到某一时间点-启用GTID
    读写文件
    goroutine、chan、select、互斥、读写互斥
    接口

  • 原文地址:https://www.cnblogs.com/williamcai/p/2985766.html
Copyright © 2011-2022 走看看