zoukankan      html  css  js  c++  java
  • Java常用方法总结(持续更新中)

    1.开发中经常会遇到整数相除的情况,如果你想要得到一个带两位小数的值,可以使用一下方法

    DecimalFormat df = new DecimalFormat("#.00");
    System.out.println(df.format(f));
    

    例如(double)4/7 结果为 0.57,假如你想得到类似于57.14%的情况可以稍微改一下上面的代码如下

     DecimalFormat df = new DecimalFormat("#.00%");
     System.out.println(df.format(f));
    

     2.字符串和时间格式的转换

      如果你想将一个字符串转换成Date类型,很简单,只需要两行代码就可以搞定

    SimpleDateFormat sf=new SimpleDateFormat("yyyy-MM-dd");
    
    Date date=sf.parse("2012-7-15");
    
    System.out.println(date);
    

     那假如我想把一个时间格式转换成想要的字符串形式呢,同样很简单代码如下:

    SimpleDateFormat sf=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
    String date1=sf.format(new Date());
    System.out.println(date);
    

    结果就会输出 2012-02-14 04:01:23

    3.开发中有时候因为用户的输入会遇到将全角字符串,如果对全角字符串直接操作我们会遇到问题,所以需要将其转成半角字符串的情况,下面的代码提供了一个解决方法

             //任意字符串
    	//半角字符串
    	//全角空格为12288,半角空格为32
    	//其他字符半角(33-126)与全角(65281-65374)的对应关系是:均相差65248
           public static String ToDBC(String input) {
    	     char[] c = input.toCharArray();
    	     for (int i = 0; i < c.length; i++) {
    		if (c[i] == 12288) {
    		  c[i] = (char) 32;
    		  continue;
    		}
    		if (c[i] > 65280 && c[i] < 65375)
    		  c[i] = (char) (c[i] - 65248);
    		}
    	        return new String(c);
    	}
    

    4. 将byte数组转换成对应的十六进制的字符串形式

    byte[] buffer ={ -123, -8, 12, 45, 56 };
    StringBuffer sb = new StringBuffer();
    String s = null;
    for (int i = 0; i < buffer.length; i++)
       {
          s = Integer.toHexString(buffer[i] & 0xff);
          System.out.println(s);
          if (s.length() < 2){
    	     sb.append('0');
    	  }
    	   sb.append(s);
        }
    

      

    java中负数是用补码表示的,非负数用原码表示

    byte类型的数字是是用八位一个字节来表示

    下面我们拿-123来举例

    补码=绝对值的原码的反码+1

    -123的绝对值是123,其原码是:

    01111011

    其反码是:

    10000100

    再加1得

    10000101

    byte(8位)类型的数字,它的高24位里面都是随机数字,低8位才是实际的数据。java.lang.Integer.toHexString() 方法的参数是int(32位)类型,如果输入一个byte(8位)类型的数字,这个方法会把这个数字的高24为也看作有效位,这就必然导致错误,使用& 0XFF操作,可以把高24位置0以避免这样错误的发生。

    01011100101011001101010110000101

    &00000000000000000000000011111111

    ----------------

    -=0000000000000000000000010000101

    这样的话就转成了正数了,16进制为85

    5.Java 拼接字符串时,去掉最后一个多余的逗号

    比如:"str1,str2,str3,",要去除str3后的逗号,可用如下方法:

    String str="str1,str2,str3,";
    System.out.println(str.substring(0,str.length()-1));

    或者

    String str="str1,str2,str3,";
    System.out.println(str.substring(0,str.lastIndexOf(",")));
    

      

      

  • 相关阅读:
    Android导出jar包后的资源使用问题
    怎样设计接口?
    自己动手写shell之chgrp,chown,chmod
    妹子图太多怎么看才好,Swing来支招
    Etcd学习(一)安装和.NETclient測试
    js中return false,return,return true的使用方法及区别
    C语言运算符的优先级
    运动物体检测与跟踪——累积权重构建背景模型
    推理集 —— 现场的观察
    推理集 —— 现场的观察
  • 原文地址:https://www.cnblogs.com/heshan664754022/p/2957697.html
Copyright © 2011-2022 走看看