Java学习——Number类、Character类
Number类
在使用数字时,我们通常会使用内置数据类型,如
int a = 9; float b = 3.14
然而在实际开发中,我们经常遇到需要使用对象而不是使用内置数据类型的对象。为了解决这一问题,Java为每一个内置数据类型提供了对应的包装类(比如使用该类型所拥有的函数),如下图:
这种由编译器特别支持的包成为装箱,
例子
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