包装类 快来打我* 2021-10-30 02:14 400阅读 0赞 为什么需要学习包装类? * 保证基本数据类型的运算功能以外,还能够有更多属性和方法供开发者调用,更加满足了面向对象思想 * 八大基本数据类型 byte short int long float double boolean char Byte Short integer Long Float Double Boolean Character * 构造方法 public Integer(int value) public Integer(String s) public class IntegerDemo01 { public static void main(String[] args) { System.out.println(Integer.MAX_VALUE); // 2147483647 System.out.println(Integer.MIN_VALUE); // -2147483648 System.out.println(Integer.SIZE); Class c = Integer.TYPE; //class Integer Class c2 = int.class; System.out.println(c == c2); // true Integer ii = new Integer(100); // 手动装箱: 将基本数据类型 转换成 包装类类型 Class c3 = ii.getClass(); Integer ii2 = new Integer("100"); System.out.println(ii2); } } 成员方法 public int intValue() 拆箱,将Integer转化为整型 public static int parseInt(String s) 将字符串转换为int类型 public static String toString(int i) 将整型转换为字符串 public static Integer valueOf(int i) 将整型装换为Integer类型 public static Integer valueOf(String s) 将字符串转换为Integer类型 public class IntegerDemo02 { public static void main(String[] args) { Integer ii = new Integer(100); int i = ii.intValue(); // 手动拆箱: 将包装类类型转换成 基本数据类型 System.out.println(i); // 任何一个数值类型对应的包装类都可以拆箱成其他任何基本数据类型,只不过可能会出现小问题 byte by = ii.byteValue(); short s = ii.shortValue(); long longValue = ii.longValue(); float floatValue = ii.floatValue(); double doubleValue = ii.doubleValue(); // public static int parseInt(String s) 将字符串转换为int类型 int i2 = Integer.parseInt("100"); System.out.println(i2); // 将任意数据类型转换成字符串 String ss = String.valueOf(100); Integer ii2 = Integer.valueOf(i2); // 这是底层自动装箱的原理 System.out.println(ii2); // 为什么有了 new Integer(100), 还需要有个方法 Integer.value()? } } int类型和String类型之间的相互转换 String s2 = String.valueOf(i); // 推荐使用 int i2 = Integer.parseInt(ss); // 推荐使用 public class IntegerDemo03 { public static void main(String[] args) { // int - String // 方式一: int i = 10; String s = i + ""; // 方式二: String s2 = String.valueOf(i); // 推荐使用 // 方式三: String s3 = Integer.valueOf(i).toString(); // 方式四: String s4 = new Integer(i).toString(); // String -> int String ss = "100"; // 方式一: int i1 = Integer.valueOf(ss).intValue(); // 方式二: int i2 = Integer.parseInt(ss); // 推荐使用 // 方式三 int i3 = new Integer(ss).intValue(); } } 自动拆装箱 手动装箱: Intege.valueOf new Integer 手动拆箱: intValue 自动装箱: 在编译时期系统会根据实际运算的需求自动帮助我们将基本数据类型转换成包装类类型 自动拆箱: 在编译时期系统会根据实际运算的需求自动帮助我们将包装类类型转换成基本数据类型 public class IntegerDemo04 { public static void main(String[] args) { /*Object object = new Object(); System.out.println(object + 1);*/ Integer ii = new Integer(100); System.out.println(ii + 10); // 本质的结果 System.out.println(ii.intValue + 10); ii += 10; // ii = ii + 10; System.out.println(ii); // 本质的结果ii = Integer.valueOf(ii.intValue + 10); boolean bool = ii > 100; System.out.println(bool); // 本质的结果 boolean bool = ii.intvalue > 100 Integer ii2 = null; if (ii2 > 100) { System.out.println("hello"); } else { System.out.println("world"); } } } 2、如何计算65的二进制,八进制,十六进制呢? 如果可以的话能不能计算 3进制 9进制 17进制 45进制? 进制转换 * 十进制到其他进制 public static String toBinaryString(int i) public static String toOctalString(int i) public static String toHexString(int i) public static String toString(int i,int radix) * 其他进制到十进制 public static int parseInt(String s,int radix) * 任意进制的转换: 先将其它进制转换成十进制,再将十进制转换成其他机制 使用代码进行进制转换如果超过了进制的范围,会返回原值 计算机只能够使用 0-9 a-z来表示进制位,最多能够表示到36进制 编写一个方法实现任意进制的转换 public class IntegerDemo05 { public static void main(String[] args) { // Integer ii = 100; // Integer.valueOf(ii); ? 为什么不用 new的形式装箱 System.out.println(Integer.toString(100)); System.out.println(Integer.toBinaryString(100)); System.out.println(Integer.toOctalString(100)); System.out.println(Integer.toHexString(100)); System.out.println(Integer.toString(100, 2)); System.out.println(Integer.toString(100, 8)); System.out.println(Integer.toString(100, 3)); System.out.println(Integer.toString(100, 17)); System.out.println(Integer.toString(100, 36)); System.out.println(Integer.toString(100, 37)); // public static int parseInt(String s,int radix) System.out.println(Integer.parseInt("ffff", 16)); System.out.println(Integer.parseInt("1001", 2)); System.out.println(radixConvert("9zzz", 36, 10)); } /* * 编写一个方法实现任意进制的转换 * 返回值类型: int num * 参数列表: String num, int xRadix, int yRadix * 方法名: radixConvert */ public static String radixConvert(String num, int xRadix, int yRadix) { // 先将X进制的num转换成十进制 int i = Integer.parseInt(num, xRadix); // 再将十进制转换成对应的Y进制 String s = Integer.toString(i, yRadix); return s; } } /\* 关于Intger的面试题 观察Ineger.valueOf的源码: public static Integer valueOf(int i) \{ if (i >= IntegerCache.low && i <= IntegerCache.high) return IntegerCache.cache\[i + (-IntegerCache.low)\]; return new Integer(i); \} \*/ public class IntegerDemo06 { public static void main(String[] args) { Integer i01 = 128; // Integer.valueOf(59); int i02 = 128; Integer i03 = Integer.valueOf(128); Integer i04 = new Integer(128); System.out.println("i01 == i02:" + (i01 == i02)); // true i01.intValue = i02 System.out.println("i01 == i03:" + (i01 == i03)); // true ? false System.out.println("i03 == i04:" + (i03 == i04)); // false System.out.println("i02 == i04:" + (i02 == i04)); // true } } 其他包装类 Byte Short Long Float Double 都是和 Integer类似 Boolean 不能够参与运算 * Character 1.任意的包装类类型都能够满足自动拆装箱 2.使用包装类型参与运算以及类型转换和基本数据类型完全一样 3.包装类类型有更多的成员方法供我们使用,更加满足了面向对象的思想
相关 包装类 5.包装类 5.1.概述 在实际程序使用中,程序界面上用户输入的数据都是以字符串类型进行存储的。而程序开发中,我们需要把字符串数据,根据需求转换成指定的基本数 客官°小女子只卖身不卖艺/ 2023年10月04日 12:35/ 0 赞/ 11 阅读
相关 包装类 ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ub ゝ一纸荒年。/ 2023年02月26日 14:29/ 0 赞/ 187 阅读
相关 包装类 ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ub 迈不过友情╰/ 2023年01月20日 14:54/ 0 赞/ 214 阅读
相关 包装类 <table> <thead> <tr> <th>基本数据类型</th> <th>包装类</th> </tr> </thead> <tb 一时失言乱红尘/ 2023年01月08日 02:25/ 0 赞/ 157 阅读
相关 包装类 概述: 基本数据类型对应引用数据类型的类就叫做包装类 主要就定义了基本数据类型和字符串以及包装类之间相互转换的功能 基本数据类型不是对象,所以Java针对基本类型 我就是我/ 2022年12月30日 03:37/ 0 赞/ 171 阅读
相关 包装类 1. 基本类型与包装类 1. Java的基本数据类型包括:boolean、char、byte、short、int、float、long、double 8种。分别对应的包 曾经终败给现在/ 2022年04月23日 13:40/ 0 赞/ 268 阅读
相关 包装类 基本数据类型的包装类 所有的基本数据类型也包括引用类型都有一个class属性 基本数据类型的包装类可以使用基本类型对应的类的相关成员变量和成员方法,相比于基本数据类型 喜欢ヅ旅行/ 2022年03月22日 04:10/ 0 赞/ 270 阅读
相关 基本包装类 基本包装类(字符串与基本数据类型) 前台交给后台的都是字符串 注意的int对应的是Integer,char对应的Character,其他6个都是基本类型首字母大写。 比眉伴天荒/ 2021年12月15日 16:21/ 0 赞/ 374 阅读
相关 包装类 为什么需要学习包装类? 保证基本数据类型的运算功能以外,还能够有更多属性和方法供开发者调用,更加满足了面向对象思想 八大基本数据类型 byte sho 快来打我*/ 2021年10月30日 02:14/ 0 赞/ 401 阅读
相关 包装类练习 【题目一】创建两个Character对象,通过equals()方法比较它们是否相等;之后将这两个对象分别转化成小写形式,再通过equals()方法比较这两个Character对 ﹏ヽ暗。殇╰゛Y/ 2021年09月16日 07:26/ 0 赞/ 520 阅读
还没有评论,来说两句吧...