Number类

在使用数字时,我们通常会使用内置数据类型,如

int a = 9;
float

然而在实际开发中,我们经常遇到需要使用对象而不是使用内置数据类型的对象。为了解决这一问题,Java为每一个内置数据类型提供了对应的包装类(比如使用该类型所拥有的函数),如下图:

 

Java学习——Number类、Character类_编译器

这种由编译器特别支持的包成为装箱,

例子

public class ForTest {

public static void main(String args[]){
//char grade = args[0].charAt(0);
Integer x = 5;
x += 20;
System.out.println(x);
}
}

Integer x = 5,编译器对x进行装箱,x+=20编译器对x进行了拆箱。

Number方法使用举例

public class ForTest {

public static void main(String args[]){
//char grade = args[0].charAt(0);
Integer x = 5;
System.out.println(x);
System.out.println("5 compareTo 1:" + x.compareTo(1));
System.out.println("5 compareTo 50:" + x.compareTo(50));

Integer intx = Integer.valueOf("3");
System.out.println("valueOf" + intx);

//该对象中保存了用第二个参数提供的基数进行解析时从指定的 String 中提取的值
Integer inty = Integer.valueOf("13", 16);
System.out.println("valueOf" + inty);

System.out.println("Math.max(3,5):" + Math.max(3, 5));
System.out.println("Math.min(3,5):" + Math.min(3, 5));
System.out.println("exp(2):" + Math.exp(2));
System.out.println("log(2):" + Math.log(2));
System.out.println("pow(2,3):" + Math.pow(2, 3));
System.out.println("sqrt(2,3):" + Math.sqrt(4));
System.out.println("toRadians(30):" + Math.toRadians(30));
System.out.println("sin(1):" + Math.sin(Math.toRadians(30)));
System.out.println("random:" + Math.random());

}
}

运行结果

5
5 compareTo 11
5 compareTo 50-1
valueOf3
valueOf19
Math.max(3,5):5
Math.min(3,5):3
exp(2):7.38905609893065
log(2):0.6931471805599453
pow(2,3):8.0
sqrt(2,3):2.0
toRadians(30):0.5235987755982988
sin(1):0.49999999999999994
random:0.10509218688109245

Character类

Character类用于对单个字符进程操作,例如

char ch = 'a';
// Unicode 字符表示形式
char uniChar = '\u039A';
char[] charArray = {'a', 'b', 'c'};

然而,在实际开发中,经常遇到使用char类型的对象,而不是内置数据类型。编译器把char类型自动转化为Character对象成为“装箱”,反过来成为“拆箱”。Character用法举例

public class CharTest {
public static void main(String args[]) {
char ch = 'a';
// Unicode 字符表示形式
char uniChar = '\u039A';
char[] charArray = {'a', 'b', 'c'};

Character ch2 = 'a';
System.out.println("a是否是一个字母:" + Character.isLetter(ch2));
System.out.println("a是否是一个数字字符:" + Character.isDigit(ch2));
System.out.println("是否是一个空格:" + Character.isWhitespace(ch2));
System.out.println("\\t是否是一个空格:" + Character.isWhitespace('\t'));
System.out.println("a是否是一个大写字母:" + Character.isUpperCase(ch2));
System.out.println("a是否是一个小写字母:" + Character.isLowerCase(ch2));
System.out.println("a转化为大写字母:" + Character.toUpperCase(ch2));
System.out.println("a转化为小写字母:" + Character.toLowerCase(ch2));
System.out.println("a字符转化为字符串:" + Character.toString(ch2));
}
}

运行结果

a是否是一个字母:true
a是否是一个数字字符:false
是否是一个空格:false
\t是否是一个空格:true
a是否是一个大写字母:false
a是否是一个小写字母:true
a转化为大写字母:A
a转化为小写字母:a
a字符转化为字符串:a