【今日】😘😘😘
笃志前行 虽远必达
目录
【包装类】
💕💕 Java是一种面向对象语言,但在Java中不能定义基本数据类型的对象:
为了能将基本数据类型视为对象处理,Java提出了包装类的概念,它主要是将基本数据类型封装在包装类中,这样便可以把这些基本数据类型转换为对象进行处理。Java中的包装类及其对应的基本数据类型如表:
一 Integer类
java.lang包中的Integer类,Byte类,Short类和Long类,分别将基本数据类型int,byte,short,long封装成一个类,由于这类都是Number的子类,区别就是封装不同的数据类型,其包含的方法基本相同。
Integer武林秘籍😎😎😶🌫️😶🌫️
Integer类武林秘籍提供了以下4个常量:
😶🌫️Max_VALUE: 表示int类型可取的最大值;
😎MIN_VALUE:表示int类型可取的最小值;
🙈SIZE:用来以二进制补码形式表示int值的位数(长度大小);
🐺TYPE:表示的类型;
Integer类常用方法:
我们接下来通过代码来实现一些功能:
public class Dome {
public static void main(String[] args) {
System.out.println("int类型的最大值为:"+Integer.MAX_VALUE);
System.out.println("int类型的最小值为:"+Integer.MIN_VALUE);
System.out.println("int类型的长度为:"+Integer.SIZE);
System.out.println("int类型的类型为:"+Integer.TYPE);
System.out.println("--------------------------");
Integer inte1= new Integer(123);//不同的方法创建对象
System.out.println(inte1);
Integer inte2=new Integer("123456");
System.out.println(inte2);
Integer inte3 =Integer.valueOf("867");
System.out.println(inte3);
System.out.println("--------------------------");
String str1=Integer.toBinaryString(44);//二进制
System.out.println("11的二进制为:"+str1);
String str2=Integer.toOctalString(11);//八进制
System.out.println("11的八进制为:"+str2);
String str3=Integer.toHexString(11);//十六进制
System.out.println("11的十六进制为:"+str3);
String str4=Integer.toString(11,15);//十五进制
System.out.println("11的十五进制为:"+str4);
//其他三种的创建方法
Byte b= new Byte("123");
Short c= new Short((short)123);
Long l= new Long(123L);
}
}
运行结果🙈🙈🙈🙈
二 Double类
Double和Float类是对double和float基本类型的封装。一样的他们的方法基本相同,这里以double为例:
Double的"菜品单"😶🌫️😶🌫️😶🌫️😶🌫️
Double的"菜品单"提供的4个”主食“(常量):
😶🌫️MIN_VALUE: 返回值为double类型,表示double类型最小值
🙈MAX_VALUE:返回值为double类型,表示double类型最大值
🐺SIZE:长度
😎TYPE:类型
当然除了这四个还有其他的:
🤩MAX_EXPONENT:返回 int值,表示有限double变量可能具有的最大指数。
🙂MIN_EXPONENT:返回int值,表示标准化double变量可能具有的最小指数。
🤗NEGATIVE_INFINITY:返回double值,表示保存double类型的负无穷大值的常量。
😐POSITIVE INFINITY:返回double值,表示保存double类型的正无穷大值的常量。
double类常用方法
😶🌫️😶🌫️😶🌫️又是代码实践时间:
public class Dome {
public static void main(String[] args) {
System.out.println("Double类型的最大值为:"+Double.MAX_VALUE);
System.out.println("Double类型的最小值为:"+Double.MIN_VALUE);
System.out.println("Double类型的长度为:"+Double.SIZE);
System.out.println("Double类型的类型为:"+Double.TYPE);
System.out.println("----------");
Double a=new Double(12.36);
System.out.println(a);
Double b=new Double("12.35");
System.out.println(b);
Double c= Double.valueOf(3.1415);
System.out.println(c);
System.out.println(c+"是不是非数字值:"+Double.isNaN(c));
System.out.println(a+"与"+b+"谁大?");
if(Double.compare(a, b)>0) {
System.out.println(a+"大");
}else if(Double.compare(a, b)<0) {
System.out.println(b+"大");
}else {
System.out.println(a+"="+b);
}
System.out.println(a+"的十六进制为:"+Double.toHexString(a));
}
}
运行结果🤩🤩🤩
三 Boolean类
Boolean类将基本类型为boolean的值包装在一个对象中。一个Boolean类型的对象中只包含一个类型为boolean的字段。
boolean的"葵花宝典" 🤔🤔🤔🤔
Boolean的三个常量:
😶🌫️TRUE: 对应基值true的Boolean对象。
😎FALSE: 对应基值flase的Boolean对象。
🤩TYPE: 基本类型boolean的Class对象。
Boolean类的常用方法:
来不急了🤨🤨 上代码,来实现部分功能:
public class Dome {
public static void main(String[] args) {
System.out.println(Boolean.FALSE);
System.out.println(Boolean.TRUE);
System.out.println("-------------");
Boolean a=Boolean.valueOf("true");
Boolean b=Boolean.valueOf("ok");//只要输入不是true,则默认结果都为false
System.out.println("a:"+a.booleanValue());
System.out.println("b:"+b.booleanValue());
}
}
运行结果🤗🤗🤗
四 Character类
Character类在对象中包装一个基本类型为char的值,该类提供了多种方法,以确定字符的类别(小写字母,数字等)
Character的秘籍😊😊😊
秘籍中遗漏的”常识“(常量):(了解)
Character类提供了大量表示特定字符的常量,例如:
🤩CONNECTOR_PUNCTUATION:返回byte型值,表示Unicode规范中的常规类别“Pc”。😎UNASSIGNED:返回byte型值,表示Unicode规范中的常规类别“Cn”。
😶🌫️TITLECASE_LETTER:返回byte型值,表示Unicode规范中的常规类别“Lt”。
Character类的常用方法:
代码:
public class Dome {
public static void main(String[] args) {
Character ch1=new Character('5');
System.out.println("字符"+ch1);
Character ch2=new Character('A');
System.out.println(ch2+"是大写字母吗?"+Character.isUpperCase(ch2));
System.out.println("字符"+ch2+"的小写为"+Character.toLowerCase(ch2));
System.out.println("字符"+ch1+"是数字吗?"+Character.isDigit(ch1));
System.out.println("字符"+ch2+"是数字吗?"+Character.isDigit(ch2));
Character ch3=new Character('b');
System.out.println(ch3+"是大写字母吗?"+Character.isUpperCase(ch3));
System.out.println("字符"+ch3+"的大写为"+Character.toUpperCase(ch3));
}
}
运行结果🫥🫥🫥
五 Number类(了解)
😶🌫️😶🌫️前面介绍了Java中的包装类,对于数值型的包装类,它们有一个共同的父类——Number类,该类是一个抽象类,它是Byte、Integer、Short、Long、Float和Double类的父类,其子类必须提供将表示的数值转换为byte、int、short、long、float和double的方法。例如,doubleValue方法返回双精度浮点值,floatValueO方法返回单精度浮点值,这些方法如表所示。
话不多说举个简单的例子:
public class Dome {
public static void main(String[] args) {
Number a = new Double(3.14);
System.out.println(a);
System.out.println("int型"+a.intValue());
System.out.println("byte型"+a.byteValue());
System.out.println("-----------");
Number b = new Double(1965200.32);
System.out.println(b);
System.out.println("int型"+b.intValue());
System.out.println("float型"+b.floatValue());
System.out.println("byte型"+b.byteValue());//溢出越界了
}
}
运行结果🤩😊🤗
😶🌫️😶🌫️😶🌫️感谢观看,三连必回。 🤗🤗🤗