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 */