前言:jdk5以后的特性:自动拆装箱 int->Interger(是int类型的包装类类型),需要将int--->String,Interger会自动拆箱为int,char->Character,需要char--String。
为什么要类和类之间转换:
要将A类类型转换成B类型,为了使用B类的功能
有时候,有需要将B类转换成A类,可能需求需要的是A类型
问题: 需要将100十进制 (整数默认十进制) 它的二进制,八进制,十六进制...
需求:获取Integer的最值
public static final int MAX_VALUE 值为 2 31-1 的常量,它表示int类型能够表示的最大值。
public static final int MIN_VALUE 值为 -2 31 的常量,它表示int类型能够表示的最小值。
一.Integer类:
Integer提供了静态功能:
public static String toBinaryString(int i): 以二进制(基数 2)无符号整数形式返回一个整数参数的字符串表示形式
public static String toOctalString(int i): 以八进制(基数 8)无符号整数形式返回一个整数参数的字符串表示形式。
public static String toHexString(int i): 以十六进制(基数 16)无符号整数形式返回一个整数参数的字符串表示形式
举例:
* @author 田伟
*
*/
public class Student {
public static void main(String[] args) {
System.out.println(Integer.toBinaryString(2));
System.out.println(Integer.toOctalString(100));
System.out.println(Integer.toHexString(100));
System.out.println(Integer.MAX_VALUE);
System.out.println(Integer.MIN_VALUE);
}
}
基本类型对应都有一个保证类型,目的就为了将基本数据类型可以String类型之间进行互相转换
byte Byte
short Short
int Integer (重点)
long Long
float Float
double Double
char character (重点)
boolean Boolean
Integer的构造方法:
public Integer(int value) 构造一个新分配的Integer 对象,它表示指定的int 值。
public Integer(String s) 构造一个新分配的Integer 对象,它表示String参数所指示的int 值。
* @author 田伟
*
*/
public class demo {
public static void main(String[] args) {
//public Integer(int value)
Integer i = new Integer(100);
Integer i1 = 100 ; //底层实际代码执行的是:valueOf(int i) :该类中本身有一缓冲区的 :缓冲的值的范围:-128~127
System.out.println("i:"+i);
System.out.println("i1:"+i1);
System.out.println("-----------------");
//public Integer(String s)
Integer i2 = new Integer("100"); //当前String类型的值是一个数字类型的字符串
System.out.println("i2:"+i2);//java.lang.NumberFormatException
//int---String
//String---int
}
}
将int转换为String类型:
public static Integer valueOf(int i)返回一个表示指定的 int 值的 Integer 实例。
将String转换为int类型public static int parseInt(String s)
throws NumberFormatException 将字符串参数作为有符号的十进制整数进行解析
public int intValue() 以 int 类型返回该 Integer 的值。
举例:
* @author 田伟
*
*/
public class Demo2 {
public static void main(String[] args) {
//int---->String
//定义一个int类型的变量
int num = 100 ;
//方式1: 字符串拼接
String str = "" + num ;
System.out.println("str:"+str);
//方式2:valueOf(int i) ;
//int -->Integer--->String
Integer i = Integer.valueOf(num) ;
String str2 = i.toString() ;
System.out.println("str2:"+str2);
//方式3:静态toString(int i): public static String toString(int i )
String str3 = Integer.toString(num) ;
System.out.println("str3:"+str3);
System.out.println("----------------------");
//String--->int
String s = "100";
//方式1:String-->integer--->int
Integer i1 = new Integer(s);
//public int intValue()
int num2 = i1.intValue() ;
System.out.println("num2:"+num2);
//方式2:(常用)public static int parseInt(String s)
int num3 = Integer.parseInt(s) ;
System.out.println("num3:"+num3);
}
}
JDK5 以后提供了自动拆装箱
可以将Integer-->拆箱 int类型
可以将int类型--->装箱 Integer类型
JDK5 还提供了哪些特性:
泛型,可变参数,增强for循环(在集合中)等等..
JDK8特性:
Stream流 --> 表达式
举例:
Integer i = Integer.valueOf(100);
i = Integer.valueOf(i.intValue() + 200);//(int类型的100 +200)
System.out.println((new StringBuilder("i:")).append(i).toString());
二.Character类:Character :类在对象中包装一个基本类型 char 的值。Character 类型的对象包含类型为 char 的单个字段。
以确定字符的类别(小写字母,数字,等等),
构造方法:
public Character(char value) 构造一个新分配的character 对象,用以表示指定的char 值。
举例:
* 构造一个新分配的character 对象,用以表示指定的char 值。
* @author 田伟
*
*/
public class Demo3 {
public static void main(String[] args) {
Character ch = new Character('a') ;
System.out.println("ch:"+ch);
int a=ch.charValue();
System.out.println(a);
}
}
Character类的判断功能:
public static boolean isDigit(char ch)确定指定字符是否为数字。
public static boolean isLowerCase(int ch): 确定是否是小写字母字符
public static boolean isUpperCase(int ch):确定是否大写字母字符
举例:
* @author 田伟
*
*/
public class Demo4 {
public static void main(String[] args) {
Character ch=new Character('6');
System.out.println(ch.isDigit(ch));
Character ch1='a';
System.out.println(ch1.isLowerCase(ch1));
Character ch2='B';
System.out.println(ch2.isUpperCase(ch2));
}
}
两个转换功能:
public static int toLowerCase(int codePoint)
public static int toUpperCase(int codePoint)
举例:
public class Demo5 {
public static void main(String[] args) {
Character ch='h';
System.out.println(ch.toUpperCase(ch));
Character ch1='H';
System.out.println(ch.toLowerCase(ch1));
}
}