Integer类及Character类的认识

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

代码中的注释是根据反编译工具编译出来的,可以看出73Integer类型的,然后通过i.intValue()拆箱成整形(int73200+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
 */

 

 

猜你喜欢

转载自blog.csdn.net/j_better/article/details/80113232