基本数据类型包装类 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);
- }
- }