做一些自己學習的心得與筆記
Java裡型態分兩種:
一、基本型態(Primitive type)
二、類別型態(Class type),亦稱參考型態(Reference type)
基本型態,指的就是一般的整數、浮點數、位元組byte、字元、布林等等...
整數:
又分short型態(佔2個位元組)、int型態(佔4個位元組)、long型態(佔8個位元組)
不同長度(或大小)的整數,儲存的值的範圍也不同
位元組:
長度就是一個位元組,1byte,byte可表示-128到127的整數
浮點數(小數點):
可分float型態(佔4個位元組)、double型態(佔8個位元組)
所以double型態精確度比較高!
字元:
char型態,用來儲存'A'、'B'、'林'等字元符號,每字元都佔2位元組空間,中與英都佔2位元組
範例程式碼:
System.out.printf()
package cc.openhome;
public class Range {
public static void main(String[] args) {
// byte、short、int、long 範圍
System.out.printf("%d ~ %d%n",
Byte.MIN_VALUE, Byte.MAX_VALUE);
System.out.printf("%d ~ %d%n",
Short.MIN_VALUE, Short.MAX_VALUE);
System.out.printf("%d ~ %d%n",
Integer.MIN_VALUE, Integer.MAX_VALUE);
System.out.printf("%d ~ %d%n",
Long.MIN_VALUE, Long.MAX_VALUE);
// float、double 精度範圍
System.out.printf("%d ~ %d%n",
Float.MIN_EXPONENT, Float.MAX_EXPONENT);
System.out.printf("%d ~ %d%n",
Double.MIN_EXPONENT, Double.MAX_EXPONENT);
// char 可表示的 Unicode 範圍
System.out.printf("%h ~ %h%n",
Character.MIN_VALUE, Character.MAX_VALUE);
// boolean 的兩個值
System.out.printf("%b ~ %b%n",
Boolean.TRUE, Boolean.FALSE);
} }
System.out.printf(),這f,表格式化,format的意思,printf()的第一個引數(Argument)是字串,當中%d、%h、%b等是格式控制符號
MAX_VALUE、MIN_VALUE、MIN_EXPONENT、MAX_EXPONENT、TRUE、FALSE等,都是這些類別上的靜態(static)成員
符號 | 說明 |
%% | 因為% 符號已經被用來作為控制符號前置,所以規定使用%% 才能在字串中表示% 。 |
%d | 以10進位整數格式輸出,可用於byte、short、int、long、Byte、Short、 Integer、Long或BigInteger 。 |
%f | 以10進位浮點數格式輸出,可用於float、double、Float、Double或BigDecimal 。 |
%e, %E | 以科學記號浮點數格式輸出,提供的數必須是float、double、Float、 Double或BigDecimal 。%e 表示輸出格式遇到字母以小寫表示,如2.13 e+12,%E 表示遇到字母以大寫表示。 |
%o | 以8進位整數格式輸出,可用於byte、short、int、long、Byte、Short、 Integer、Long或BigInteger 。 |
%x, %X | 以16進位整數格式輸出,可用於byte、short、int、long、Byte、Short、 Integer、Long或BigInteger 。%x 表示字母輸出以小寫表示,%X 則以大寫表示。 |
%s, %S | 字串格式符號。 |
%c, %C | 以字元符號輸出,提供的數必須是byte、short、char、Byte、Short、Character或Integer 。%c 表示字母輸出以小寫表示,%C 則以大寫表示。 |
%b, %B | 輸出boolean 值,%b 表示輸出結果會是true或false,%B 表示輸出結果會是TRUE或FALSE。非null 值輸出是true或TRUE,null 值輸出是false或FALSE。 |
%h, %H | 使用Integer.toHexString(arg.hashCode()) 來得到輸出結果,如果arg 是null ,則輸出null,也常用於想得到16進位格式輸出。 |
%n | 輸出平台特定的換行符號,如果Windows下會置換為"\r\n" ,如果是Linux下則會置換為'\n' ,Mac OS下會置換為'\r' 。 |
不同的型態,用的格式控制符號也不同
在看一個簡單浮點數範例:
System.out.printf("example:%.2f%n", 19.234); 執行結果為example:19.23,%.2f表取到小數點第二位
System.out.printf("example:%6.2f%n", 19.234); 執行結果為example:19.23,%6.2f,表取6個字元,一樣取到第2位
沒有留言:
張貼留言