Integer
Integer类是int类型的包装类类型,Integer类,在jdk1时就已经存在了,但是“自动装箱”这个机制在jdk1.5后出现的,既然有自动装箱也肯定会有“自动拆箱”了,下面我会一一介绍。
首先我们先看看Integer提供的静态功能:
public static String toBinaryString(int i)
public static String toOctalString(int i)
public static String toHexString(int i)
因为整数类型默认的是十进制,所以是将十进制转化成其他进制
例如:
package TextDome01;
/*public static String toBinaryString(int i)
public static String toOctalString(int i)
public static String toHexString(int i)*/
public class IntegerDome {
public static void main(String[] args) {
System.out.println(Integer.toBinaryString(73));//二进制
System.out.println(Integer.toOctalString(73));//八进制
System.out.println(Integer.toHexString(73));//十六进制
}
}
运行结果:
/**
* @author 杰哥
*1001001
*111
*
*
*/
获取Integer的最值:
package TextDome01;
/*获取Integer的最值
public static final int MAX_VALUE
public static final int MIN_VALUE*/
public class IntegerDome1 {
public static void main(String[] args) {
System.out.println(Integer.MAX_VALUE);//他表示的是int类型能表示的最大值,值为2^32-1的常量
System.out.println(Integer.MIN_VALUE);//他表示int类型能表示的最小值,值为-2^32的常量
}
}
/*运行结果为:
2147483647
-2147483648*/
所有的基本类型对应都有一个包装类型,目的是为了将基本类型与String类型进行相互转换
byte Byte
Short Short
int Integer
long Long
float Float
char Character
boolean Boolean
Integer的构造方法:
package TextDome01;
/*Integer的构造方法:
public Integer(int value)
public Integer (String s)*/
public class IntegerDome2 {
public static void main(String[] args) {
// public Integer(int value)
Integer i=new Integer(110);
Integer ii=110;//在查看反编译代码时,这里运用了valueof(int i)
System.out.println("i:"+i);
System.out.println("ii:"+ii);
System.out.println("---------------");
// public Integer (String s)
Integer iii=new Integer("110");//括号里的字符串必须的是数字类型的字符串,否则就会报错
System.out.println("iii:"+iii);
}
}
运行结果:
i:110
ii:110
---------------
Iii:110
通过Integer如何将int类型和String类型进行互换
例如:
package TextDome01;
/**
* @author 杰哥
*
*/
public class IntegerDome3 {
public static void main(String[] args) {
//int->String
int num=73;
//第一种方式:字符串的拼接
String str=""+num;//先定义一个空字符串,然后与int 类型值进行拼接,返回的就是String类型
System.out.println("str:"+str);
//第二种方式:valueof(),用的最多
Integer x=Integer.valueOf(num);
String str1=x.toString();//返回的是String类型
System.out.println("str1:"+str1);
//第三种方式:静态中的toString方法
String str2=Integer.toString(num);
System.out.println("str2:"+str2);
System.out.println("--------------------");
//String->int
//方式1:
String st="37";//切记这里要用数字字符串
Integer i=new Integer(st);
int num1=i.intValue();//这里的intvalue()是Iinteger里的方法
System.out.println("num1:"+num1);
//方式2:用的最多
int num2=Integer.parseInt(st);
System.out.println("num2:"+num2);
}
}
运行结果:
/**
* @author 杰哥
*str:73
*str1;73
*str2:73
*-----------------
*num1:37
*num2:37
*
*/
上述案例中,将String转化成int的方式2:
static int parseInt(String s);除了int类型外其他类型都可以用,而且在开发中用的最多,我们可以去掌握它
前面说过的jdk1.5有的自动拆分装在这里简单的介绍一下:
package TextDome01;
//自动拆装箱
public class IntegerDome4 {
public static void main(String[] args) {
Integer i=73;
i+=200;
System.out.println("i:"+i);
/**
* 反编译代码:
*
* Integer i = Integer.valueOf(73);
* i = Integer.valueOf(i.intValue() + 200);//(int类型的73 +200)
* System.out.println((new StringBuilder("i:")).append(i).toString());
*/
}
}
运行结果:i:273
代码中的注释是根据反编译工具编译出来的,可以看出73是Integer类型的,然后通过i.intValue()拆箱成整形(int)73,200+73再通过Valueof()装箱成Integer类型
Character类
Character 类在对象中包装一个基本类型 char 的值。Character 类型的对象包含类型为 char 的单个字段,以确定字符的类别(小写字母,数字,等等)。
Character只有一个构造方法:
public Character(char value)
例如:
package TextDome02;
public class characterDome {
public static void main(String[] args) {
//创建character类对象
Character ch=new Character((char)97);
System.out.println("ch:"+ch);
}
}
运行结果:
Ch:a
系统会自动将97通过ASCII码在转化成char类型
Character类的简单功能:
判断功能:
public static boolean isDigit(char ch)确定指定字符是否为数字。 public static boolean isLowerCase(int ch): 确定是否是小写字母字符
public static boolean isUpperCase(int ch):确定是否大写字母字符
例如:
package TextDome02;
/**
* Character类的判断功能:
* public static boolean isDigit(char ch)确定指定字符是否为数字。
* public static boolean isLowerCase(int ch): 确定是否是小写字母字符
* public static boolean isUpperCase(int ch):确定是否大写字母字符
*/
public class characterDome01 {
public static void main(String[] args) {
Character ch=new Character('0');
Character ch1=new Character('A');
Character ch2=new Character('a');
System.out.println("isDigit:"+Character.isDigit(ch));
System.out.println("isLowerCase:"+Character.isLowerCase(ch1));
System.out.println("isUpperCase:"+Character.isUpperCase(ch2));
}
}
运行结果:
* @author 杰哥
*isDigit:true
*isLowerCase:false
*isUpperCase:false
*/
转换功能:
两个转换功能:
public static int toLowerCase(int codePoint)
public static int toUpperCase(int codePoint)
例如:
package TextDome02;
public class characterDome01 {
public static void main(String[] args) {
Character ch=new Character('b');
Character ch1=new Character('A');
System.out.println("toLowerCase:"+Character.toLowerCase(ch1));
System.out.println("toUpperCase:"+Character.toUpperCase(ch));
}
}
运行结果:
/**
* @author 杰哥
*toLowerCase:a
*toUpperCase:B
*/