package com.wonders.week01.bzl;
/**
* JDK1.7
* (1)Long類型是long類型的包裝類
* (2)Long有兩個構造函數,構造方法的參數可以是long類型也可以是String類型
* @author liyongyong
*
*/
public class LongTest {
public static void main(String[] args) {
Long l = 1l;
/**
* Long類型轉為字元串類型
*/
String s1 = Long.toString(1l);
System.out.println("Long類型轉為字元串類型 :" + s1);
/**
* 傳回一個按照第二個參數解析第一個long類型數值所形成的字元串
* (1)能被轉換為字元串的數值
* (2)在字元串表示中使用的基數
*/
String s2 = Long.toString(3l, 8);
System.out.println("Long類型按照第二個基數進行轉化目标是一個字元串 : " + s2);
/**
* 将一個long類型數值轉化為16進制的無符号字元串
* (1)參數1:一個可以被轉為String的long類型數值
*/
String s3 = Long.toHexString(200);
System.out.println("long轉16進制的結果 :"+ s3);
/**
* 傳回值是一個無符号的long類型轉的八進制的字元串
* 參數:一個可以被轉為字元串的long類型數值
*/
String s4 = Long.toOctalString(234L);
System.out.println("long轉8進制的結果是 : " + s4);
/**
* 将一個long類型轉為一個二進制數值字元串
*/
String s5 = Long.toBinaryString(8L);
System.out.println("long類型轉為二進制數值字元串的結果是 :" + s5);
/**
* 将字元串解析為long類型,如果不能解析就會抛出異常:NumberFormatException
* 預設是按照十進制進行解析
*/
long l1 = Long.parseLong("123");
System.out.println("字元串解析為long類型的結果是 : " + l1);
/**
* 将字元串按照指定的基數來進行解析,得到一個long類型的數值
*/
long l2 = Long.parseLong("c8", 16);
System.out.println("将字元串按照16進制進行解析,得到的數值是 : " + l2);
/**
* 将String轉為Long類型,預設是按照十進制轉
*/
Long l3 = Long.valueOf("1234");
System.out.println("String轉Long的結果是: " + l3);
/**
* 将String字元串按照指定的基數進行轉換,得到一個Long類型的數值
*/
Long l4 = Long.valueOf("c8", 16);
System.out.println("按照16進制将String轉為Long的結果是 : " + l4);
/**
* 将一個字元串按照10進制進行解碼,解碼結果是一個Long類型
* 如果不能進行解碼就會抛出異常NumberFormatException
*/
Long l5 = Long.decode("321");
System.out.println("解碼的結果是 : " + l5);
/**
* 分别将Long類型轉為byte,short,int,long,float,double類型
*/
System.out.println("Long -> byte 結果是 : " + l.byteValue());
System.out.println("Long -> short 結果是 : " + l.shortValue());
System.out.println("Long -> int 結果是 : " + l.intValue());
System.out.println("Long -> long 結果是 : " + l.longValue());
System.out.println("Long -> float 結果是 : " + l.floatValue());
System.out.println("Long -> double 結果是 : " + l.doubleValue());
}
}