基本數據類型包裝類 2
Java中8種基本數據類型總結 |
|||||
序號 |
數據類型 |
封裝類 |
默認值 |
可表示數據範圍 |
|
1 |
byte(位) |
1字節 |
Byte |
0 |
-128~127 |
2 |
short(短整數) |
2字節 |
Short |
0 |
-32768~32767 |
3 |
int(整數) |
4字節 |
Integer |
0 |
-2147483648~2147483647 |
4 |
long(長整數) |
8字節 |
Long |
0 |
-9223372036854775808~9223372036854775807 |
5 |
float(單精度) |
7位 |
Float |
0.0 |
1.4E-45~3.4028235E38 |
6 |
double(雙精度) |
15位 |
Double |
0.0 |
4.9E-324~1.7976931348623157E308 |
7 |
char(字符) |
2字節 |
Character |
空 |
0~65535 |
8 |
boolean |
Boolean |
flase |
true或false |
1. 基本數據類型對象包裝類中的方法 static String toString(基本類型);2. String類中的方法: static String valueOf(基本類型)3. 基本類型數據 +“ ”;
System.out.println(Integer.parseInt("23") + 1);
parseInt(intString , radix);
System.out.println(a.compareTo(b));
而很多對象都可以進行比較。所以這個方法定義在Comparable接口中。
代碼體現:
- /**
- * 需求:"34 9 -7 67 25"要求對這個字符串中的數值進行從小到大的排序,生成一個數值有序的字符串。
- * @author Administrator
- *
- */
- public class StringTestint {
- /**
- * @param args
- */
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- //要操作的目標
- String s = "34 9 -7 67 25";
- //用空格對原字符串進行切割,轉成字符串數組;
- String[] s1 = s.split(" ");
- //定義int[]數組,用來存放整型數據
- int[] arr = new int[s1.length];
- //將字符串數組轉成int類型的數組。
- for(int i = 0 ; i < s1.length; i++)
- arr[i] = Integer.parseInt(s1[i]);
- //對int類型的數組進行排序
- for(int i = 0 ; i < s1.length;i++){
- for(int j = i+1 ; j < s1.length;j++){
- if(arr[i] > arr[j]){
- int temp = arr[i];
- arr[i] = arr[j];
- arr[j] = temp;
- }
- }
- }
- //定義字符串緩衝區,並將int類型的數組轉換爲 字符串類型的數組。
- StringBuilder sb = new StringBuilder();
- for (int i = 0; i < arr.length; i++) {
- if(i != arr.length - 1)
- sb.append(arr[i] + " ");
- else
- sb.append(arr[i]);
- }
- System.out.println(sb);
- }
- }
代碼優化:
- import java.util.Arrays;
- public class WrapperTest2 {
- private static final String SPACE = " ";
- /**
- * @param args
- */
- public static void main(String[] args) {
- /*
- * 綜合練習:
- * "34 9 -7 12 67 25"要求對這個字符串中的數值進行從小到大的排序,
- * 然後生成一個數值有序的字符串。
- *
- * 思路:
- * 1,看到排序,就想要到了數組
- * 2,那數組中的元素怎麼獲取呢?數值都在字符串中。
- * 3,先從字符串中獲取到這些具體的數值。怎麼獲取呢?
- * 4,發現這個字符串居然有規律。數值之間都是由空格隔開的。
- * 可以對字符串進行切割。
- * 5,將獲取的數據存儲到數組中並排序,在將數組轉成字符就可以了。哦了。
- *
- *
- * 步驟:
- * 1,將字符串切割成字符串數組。split。
- * 2,定義一個int數組將字符串數組中的元素轉成整數存儲到int數組中。
- * 3,對int數組排序。
- * 4,將int數組排序後轉成一個字符串。
- *
- */
- String str = "34 9 -7 12 67 25";
- str = sortStringNumber(str);
- System.out.println(str);
- }
- public static String sortStringNumber(String str) {
- //1,將字符串中的數值通過指定的規則進行切割獲取字符串數組。
- String[] str_nums = toStringArray(str);
- //2,將字符串數組轉成int數組。
- int[] nums = toIntArray(str_nums);
- //3,對int數組排序;
- sortIntArray(nums);
- //4,將int數組變成字符串。
- return arrayToString(nums);
- }
- /*
- * 將int數組變成字符串。
- */
- private static String arrayToString(int[] nums) {
- //1,創建字符串緩衝區。
- StringBuilder sb = new StringBuilder();
- for (int i = 0; i < nums.length; i++) {
- if(i!=nums.length-1)
- sb.append(nums[i]+SPACE);
- else
- sb.append(nums[i]);
- }
- return sb.toString();
- }
- /*
- * 對int數組排序。
- */
- private static void sortIntArray(int[] nums) {
- Arrays.sort(nums);
- }
- /*
- * 將字符串數組轉成int數組。
- */
- private static int[] toIntArray(String[] str_nums) {
- //1,先定義一個int數組。
- int[] arr = new int[str_nums.length];
- //2,對字符串數組進行遍歷。
- for (int i = 0; i < str_nums.length; i++) {
- //將數組格式的字符串轉成整數。存儲到arr數組中。
- arr[i] = Integer.parseInt(str_nums[i]);
- }
- return arr;
- }
- /*
- * 將字符串轉成字符串數組。
- */
- private static String[] toStringArray(String str) {
- return str.split(SPACE);
- }
- }