黑马程序员技术交流社区
标题: 包装类 [打印本页]
作者: panda果冻 时间: 2018-4-7 20:01
标题: 包装类
1.1 基本类型包装类的概述需求:我要判断一个数据是否在int范围内?
要想判断一个数据是否在int范围内,首先我们得知道int范围,在前面我们讲解基本数据类型的时候说过了:
-2147483648 到 2147483647
为了对基本数据类型进行更多更方便的操作,Java就针对每一种基本数据类型提供了一个对应的引用类型。
基本类型包装类:
Byte byte
Short short
Integer int
Long long
Float float
Double double
Character char
Boolean boolean
基本数据类型包装类最常见的用法就是用于和字符串之间进行相互转换。
1.2 Integer类的概述和构造方法Integer:Integer类在对象中包装了一个基本类型 int 的值。
构造方法:
Integer(int value)
Integer(String s)
注意:这个字符串必须由数字字符组成
1.2.1 案例代码三package com.itheima_02;
/*
* Integer:Integer类在对象中包装了一个基本类型 int 的值。
*
* 构造方法:
* Integer(int value)
* Integer(String s)
* 注意:这个字符串必须由数字字符组成
*/
public class IntegerDemo {
public static void main(String[] args) {
//Integer(int value)
int value = 100;
Integer i = new Integer(value);
System.out.println(i); //100
System.out.println("------------");
//Integer(String s)
String s = "100";
//NumberFormatException:数据格式化异常
//String s = "abc";
Integer ii = new Integer(s);
System.out.println(ii);
}
}
1.3 int类型和String类型的相互转换int类型和String类型的相互转换
int -- String
String类中:public static String valueOf(int i)
String -- int
Integer类中:public static int parseInt(String s)
1.3.1 案例代码四package com.itheima_03;
/*
* int类型和String类型的相互转换
*
* int -- String
* String类中:public static String valueOf(int i)
*
* String -- int
* Integer类中:public static int parseInt(String s)
*/
public class IntegerDemo {
public static void main(String[] args) {
//int -- String
int number = 100;
//方式1
String s1 = "" + number;
System.out.println(s1);
//方式2
//public static String valueOf(int i)
String s2 = String.valueOf(number);
System.out.println(s2);
System.out.println("--------------");
//String -- int
String s = "100";
//方式1
//String -- Integer -- int
Integer i = new Integer(s);
//public int intValue()
int x = i.intValue();
System.out.println(x);
//方式2
//public static int parseInt(String s)
int y = Integer.parseInt(s);
System.out.println(y);
}
}
1.4 Integer的练习之把字符串中的数据排序需求:
我有如下一个字符串:”91 27 46 38 50”
请写代码实现最终输出结果是:”27 38 46 50 91”
提示:这里需要参考String类中的方法
public String[] split(String regex)
1.4.1 案例代码五package com.itheima_04;
import java.util.Arrays;
/*
* 我有如下一个字符串:”91 27 46 38 50”
* 请写代码实现最终输出结果是:”27 38 46 50 91”
* 提示:这里需要参考String类中的方法
* public String[] split(String regex)
*
* 分析:
* A:定义一个字符串对象
* B:把字符串中的数字数据存储到一个int类型的数组中
* C:对int数组进行排序
* D:把排序后的数组中的元素进行拼接得到一个字符串
* E:输出字符串
*/
public class IntegerDemo {
public static void main(String[] args) {
//定义一个字符串对象
String s = "91 27 46 38 50";
//把字符串中的数字数据存储到一个int类型的数组中
//public String[] split(String regex)
String[] strArray = s.split(" ");
/*
for(int x=0; x<strArray.length; x++) {
System.out.println(strArray[x]);
}
*/
//定义一个int类型的数组
int[] arr = new int[strArray.length];
for(int x=0; x<arr.length; x++) {
arr[x] = Integer.parseInt(strArray[x]);
}
//对int数组进行排序
Arrays.sort(arr);
//把排序后的数组中的元素进行拼接得到一个字符串
StringBuilder sb = new StringBuilder();
for(int x=0; x<arr.length; x++) {
if(x==arr.length-1) {
sb.append(arr[x]);
}else {
sb.append(arr[x]).append(" ");
}
}
String result = sb.toString();
//输出字符串
System.out.println("result:"+result);
}
}
作者: 小浙姐姐 时间: 2018-4-10 17:22
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |