zoukankan      html  css  js  c++  java
  • 编写高质量代码

     

     

    • 三元操作符的类型务必一致
    int i = 80;
    String s = String.valueOf(i < 100 ? 90 : 100);
    String s1 = String.valueOf(i < 100 ? 90 : 100.0);
    System.out.println("两者是否相同:" + s.equals(s1));
    //返回false

     

    •  带有变长参数的方法
    public int sum(int... args) {  
        int result = 0;  
        for (int value : args) {  
            result += value;  
        return result;  

     

    •  警惕自增的陷阱
    int count=0;
    for(int i=0;i<10;i++){
      count=count++;  
    }
    System.out.println(count);

     本意是希望count自增的,结果却掉入java自增的陷阱中。解决方法很简单,把“count=count++”修改为“count++”即可。

    该问题在不同语言中有不同的实现:C++中“count=count++”与“count++”是等效的,而在PHP中则保持着与java相同的处理方式。

     

    •  易变业务使用脚本语言编写
    // 获取JavaScript的执行引擎
            ScriptEngine engine = new ScriptEngineManager().getEngineByName("javascript");
            // 建立上下文变量
            Bindings bind = engine.createBindings();
            bind.put("factor", 1);
            // 绑定上下文,作用域是当前引擎范围
            engine.setBindings(bind, ScriptContext.ENGINE_SCOPE);
            Scanner input = new Scanner(System.in);
            while (input.hasNext()) {
                int first = input.nextInt();
                int sec = input.nextInt();
                System.out.println("输入参数为:" + first + "," + sec);
                // 执行js代码
                engine.eval(new FileReader("D:/Desktop/model.js"));
                // 是否可调用方法
                if (engine instanceof Invocable) {
                    Invocable in = (Invocable) engine;
                    // 执行js中的函数
                    Double result = (Double) in.invokeFunction("formula", first, sec);
                    System.out.println("运算结果:" + result.intValue());
                }
            }
    function formula(var1,var2){
        return var1 * var2 * factor;
    }

     

     

     

     

     

     

     

     

     

     

     

     

     

     

  • 相关阅读:
    CocoaPods使用详细说明
    cocoapod使用
    Android-利用LinearGradient实现文字一闪一闪
    Android5.0 CheckBox颜色修改
    android实现文字渐变效果和歌词进度的效果
    Ceph 常规操作笔记
    Git版本控制器使用总结性梳理
    CentOS 7.5 部署 MySQL 5.7 基于GTID主从复制+并行复制+半同步复制+读写分离(ProxySQL) 环境- 运维笔记 (完整版)
    Ansible-playbook 运维笔记
    Docker容器基础介绍
  • 原文地址:https://www.cnblogs.com/tonychanleader/p/2814093.html
Copyright © 2011-2022 走看看