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
复制代码

 







本文转自jihite博客园博客,原文链接:http://www.cnblogs.com/kaituorensheng/p/5751245.html,如需转载请自行联系原作者

相关文章
|
1天前
|
算法 Java 数据处理
从HashSet到TreeSet,Java集合框架中的Set接口及其实现类以其“不重复性”要求,彻底改变了处理唯一性数据的方式。
从HashSet到TreeSet,Java集合框架中的Set接口及其实现类以其“不重复性”要求,彻底改变了处理唯一性数据的方式。HashSet基于哈希表实现,提供高效的元素操作;TreeSet则通过红黑树实现元素的自然排序,适合需要有序访问的场景。本文通过示例代码详细介绍了两者的特性和应用场景。
13 6
|
3天前
|
IDE Java 编译器
Java:如何确定编译和运行时类路径是否一致
类路径(Classpath)是JVM用于查找类文件的路径列表,对编译和运行Java程序至关重要。编译时通过`javac -classpath`指定,运行时通过`java -classpath`指定。IDE如Eclipse和IntelliJ IDEA也提供界面管理类路径。确保编译和运行时类路径一致,特别是外部库和项目内部类的路径设置。
|
2天前
|
安全 Java 测试技术
Java零基础-StringBuffer 类详解
【10月更文挑战第9天】Java零基础教学篇,手把手实践教学!
9 2
|
3天前
|
算法 Java 数据处理
从HashSet到TreeSet,Java集合框架中的Set接口及其实现类以其独特的“不重复性”要求,彻底改变了处理唯一性约束数据的方式。
【10月更文挑战第14天】从HashSet到TreeSet,Java集合框架中的Set接口及其实现类以其独特的“不重复性”要求,彻底改变了处理唯一性约束数据的方式。本文深入探讨Set的核心理念,并通过示例代码展示了HashSet和TreeSet的特点和应用场景。
8 2
|
3天前
|
存储 Java 索引
Java 中集合框架的常见接口和类
【10月更文挑战第13天】这些只是集合框架中的一部分常见接口和类,还有其他一些如 Queue、Deque 等接口以及相关的实现类。理解和掌握这些集合的特点和用法对于高效编程非常重要。
|
11月前
|
算法
Leetcode 313. Super Ugly Number
题目翻译成中文是『超级丑数』,啥叫丑数?丑数就是素因子只有2,3,5的数,7 14 21不是丑数,因为他们都有7这个素数。 这里的超级丑数只是对丑数的一个扩展,超级丑数的素因子不再仅限于2 3 5,而是由题目给定一个素数数组。与朴素丑数算法相比,只是将素因子变了而已,解法还是和朴素丑数一致的。
95 1
|
4月前
|
存储 SQL 算法
LeetCode 题目 65:有效数字(Valid Number)【python】
LeetCode 题目 65:有效数字(Valid Number)【python】
|
5月前
|
存储 算法
【LeetCode力扣】单调栈解决Next Greater Number(下一个更大值)问题
【LeetCode力扣】单调栈解决Next Greater Number(下一个更大值)问题
41 0
|
11月前
|
存储
Leetcode Single Number II (面试题推荐)
给你一个整数数组,每个元素出现了三次,但只有一个元素出现了一次,让你找出这个数,要求线性的时间复杂度,不使用额外空间。
38 0
|
算法
LeetCode 414. Third Maximum Number
给定一个非空数组,返回此数组中第三大的数。如果不存在,则返回数组中最大的数。要求算法时间复杂度必须是O(n)。
91 0
LeetCode 414. Third Maximum Number