zoukankan      html  css  js  c++  java
  • 不用IF比较两数大小

    这一道题关于到java的基础知识。

    方法一:

    位的运算。”|“,“&”,“^”。。。这一类的运算

    代码如下

     
    1. int a=4,b=9;   
    2. int[] tempArray={a,b};   
    3. int temp=a-b;   
    4. System.out.println(tempArray[temp>>>31]);  
    如上代码。进行了位的运算。

    二进制中非负数的第一位用0表示。负数用1表示。而int 型占4个字节也就是32位二进制。

    向右移动了31位后生成的新的二进制的值1或是0。如果是1说明后面的值大。反知另外个大

    此文引自:http://leiwuluan.iteye.com/blog/388983

    方法二:

     
    1. int getMaxNum(int a,int b){   
    2. double x = (double)a;   
    3. double y = (double)b;   
    4. return (int)(x/2+y/2+Math.abs(x/2-y/2));
    5. }  

     方法三:

     
    1. int getMaxNum(int a,int b){   
    2.  int[] array=new int[a];   
    3. try{   
    4. //只要b比a大,数组越界,肯定会导致异常,否则b比a小   
    5. //所以在catch模块中返回b,非异常返回a即可   
    6. array[b]=0;   
    7. }catch(Exception ex){   
    8. return b;   
    9. }   
    10. return a;   
    11. }  
  • 相关阅读:
    《node.js开发指南》读书笔记(一)
    boostrap按钮
    boostrap预定义样式风格
    bootstrap字体图标
    bootstrap初探2
    bootstrap初探
    CSS3 animation
    css3 3D变换和动画
    css3 2D变换 transform
    pandas处理Excel、cvs
  • 原文地址:https://www.cnblogs.com/zf2011/p/2253641.html
Copyright © 2011-2022 走看看