基本数据类型: byte, int, short, long , boolean, char, float, double等
包装类型 : Byte,Integer,Short , Long, Boolean,Character,Float,Double等
int | 4字节(32位) | -2147483648 ~ 2147483647 (正好超过20亿) |
short | 2字节(16位) | -32768 ~ 32767 |
long | 8字节(64位) | -9223372036854775808 ~ 9223372036854774807 |
byte | 1字节(8位) |
-128 ~ 127
|
float | 4字节(32位) | 大约±3.40282347E+38F (有效位数为6-7位) |
double | 8字节(64位) | 大约±1.79769313486231570E+308 (有效位数为15位) |
1.Integer
Integer类在对象中包装了一个基本类型int的值该类提供了多个方法,能在int类型和String类型之间互相转换。
(1)构造方法
1)Integer(int number) 该方法以int型变量作为参数来获取Integer对象。
Integer number = new Integer(7);
2)Integer(String number) //注意一定是数值型String变量作为参数.
Integer number = new Integer ("7");
(2)常见方法
源码 反码和补码的问题:
计算机储存有符号的整数时,是用该整数的补码进行储存的,0的原码、补码都是0,正数的原码、补码可以特殊理解为相同,负数(最高符号位为1)的补码是它的反码加1。
package hello;
public class Main {
public static void main(String[] args) {
// 1.byteValue() 以byte类型返回该 Integer的值,
// byte只能表示-128~127之间的数,故只取后8位。
Integer a1 = new Integer(222); // 1011110 →0100001 →0100010
byte b1 = a1.byteValue();
System.out.println(b1);// 输出:-34
// 2.compareTo(Integer anotherInteger) 返回值为int型
// 相等返回0,若调用对象的数值<another..的数值,则返回负值,否则返回正值
Integer a2 = new Integer(22);
Integer b2 = new Integer(11);
Integer c2 = new Integer(33);
System.out.println(a2.compareTo(b2));// 输出 :1
System.out.println(b2.compareTo(c2));// 输出:-1
// 3.equals(Object IntegerObj) 返回值为boolean
Integer a3 = new Integer(11);
Integer b3 = new Integer(11);
Integer c3 = new Integer(22);
System.out.println(a3.equals(b3));// 输出:true
System.out.println(a3.equals(c3));// 输出:false
// 4.intValue() 以int型返回此Integer对象
Integer a4 = new Integer(11);
System.out.println(a4.intValue());// 输出:11
// 5.toString() 返回一个表示该Integer的String对象
Integer a5 = new Integer("22");
System.out.println(a5.toString());// 输出:22
// 6.valueOf(String str) 返回保存指定的String值的Integer对象
// 7.parseInt(String str) String→int型
Integer a6 = new Integer(22);
String str1 = "5";
System.out.println(a6.valueOf(str1));// 输出:5
System.out.println(a6.parseInt(str1));// 输出:5
// 8.static int parseInt(String s, int radix)
// 以radix为基数radix返回s的十进制数。所谓的基数,就是“几进制”。
Integer a8 = new Integer(11);
String str2 = "110";
System.out.println(a8.parseInt(str2, 2));// 2进制下的110转化为10进制输出:6
// 十进制转化为其他进制(以下结果全部是String型)
System.out.println(Integer.toString(19));// 十进制:19
System.out.println(Integer.toBinaryString(19));// 二进制:10011
System.out.println(Integer.toHexString(19));// 十六进制:13
System.out.println(Integer.toOctalString(19));// 八进制:23
}
}
Integer类提供了4个常量:
MAX_VALUE : 表示int类型可取的最大值,即2的三十一次方 -1。
MIN_VALUE : 表示int类型可取的最小值,即-2的三十一次方。
SIZE : 用来以二进制补码形式表示int值的位数。
TYPE : 表示基本类型int的Class实例。
2.Boolean
(1)构造方法
1) Boolean(boolean value)
Boolean b = new Boolean(true);
2) Boolean(String str) 当所给字符串 不为null,且等于字符串true时(不论大小写),返回true,否则返回false
Boolean b=new Boolean("ok");
(2)常见方法
package hello;
public class Main {
public static void main(String[] args) {
// 1.booleanValue() 返回Boolean对象的boolean类型值
Boolean b1 = new Boolean(true);
Boolean bb1 = new Boolean("ok");
System.out.println(b1.booleanValue());// 输出:true
System.out.println(bb1.booleanValue());// 输出:false
// 2.equals(Boolean anotherBoolean)
Boolean b2 = new Boolean(true);
Boolean bb2 = new Boolean("TRue");
System.out.println(b2.equals(bb2));// 输出:true
// 3.parseBoolean(String s)将字符串参数解析为Boolean值
Boolean b3 = new Boolean(false);
System.out.println(b3.parseBoolean("True"));// 输出:true
System.out.println(Boolean.parseBoolean("fal"));// 输出:false
// 4.valueOf(String str | boolean bool)
// Boolean 返回保存指定的String值或者boolean值的Boolean对象
Boolean b4 = Boolean.valueOf("TRue");// 注意!!!b4=true
System.out.println(b4.booleanValue());// 输出:true
// 5.toString()返回表示该boolean值的String对象 有以下三种形式:
System.out.println(Boolean.toString(true));// 输出字符串:true
Boolean b5 = new Boolean("Tre");
System.out.println(b5.toString());// 输出字符串:false
System.out.println(b5.toString(true));// 输出字符串:true
}
}
(3) 常量
Boolean提供3个常量:
TRUE: 对应基值true的Boolean对象。
FALSE: 对应基值false的Boolean对象。
TYPE: 基本类型boolean的Class对象。
3.Byte
(1)构造方法
1) Byte(byte value)
byte be=45;
Byte b=new Byte(be);
2) Byte(String str) String对象value字符串对应的数值必须在byte类型取值范围内。
Byte be=new Byte("12");
3) 利用Byte类中的valueOf()方法创建对象
Byte b = Byte.valueOf(23);
Byte b = Byte.valueOf("23");
Byte b = Byte.valueOf("23");
(2)常见方法
package hello;
public class Main {
public static void main(String[] args) {
// 1.byteValue() 返回Byte类的一个byte类型值
Byte be = 11;
Byte b1 = new Byte(be);
System.out.println(b1.byteValue());// 输出:11
// 2.compareTo(Byte anotherByte) 在数值上比较两个类对象,相等返回0
// 如果调用对象小于anotherByte对象则返回负值,否则返回正值
Byte b2 = Byte.valueOf("19");
Byte bb2 = Byte.valueOf("11");
System.out.println(b2.compareTo(bb2));// 输出:8
// 3.doubleValue() 返回Byte类的一个double类型值
Byte b3 = Byte.valueOf("19");
System.out.println(b3.doubleValue());// 输出:19.0
// 4.parseByte(String str) String→byte 类型
// 5.toString() 返回Byte类的String类型值
Byte bee = 23;
Byte b4 = new Byte(bee);
System.out.println(Byte.toString(b4));// 输出:23
System.out.println(b4.toString());// 输出:23
// 6.valueOf(String str | byte x) 返回的是 String型 或 Byte 型
// 7.equals(Byte anotherByte)
}
}
4.Character
1 . 构造方法
Character(char value)
Character ch=new Character('s');
2 . 常见方法
(1) valueOf(char ch); 返回值类型:Character对象 Character ch=Character.valueOf('s');
注意:参数只能为char类型,而不能为String类型。
(2)
charValue(); 返回Character对象的值。
(3) compareTo(Character anotherCharacter) 比较两个Character对象,若相等返回0,若调用对象小于anotherCharacter对象返回负值,否则返回正值
(4) equals(Character anotherCharacter)比较两个Character对象,若相等返回true,否则返回false。
(5) toUpperCase(char ch):将字符参数转化为大写(要求必须有参数)
(6)toLowerCase(char ch):将字符参数转化为小写
(7)toString(): 返回值类型:String
1) String str = Character.toString('A');
Character ch = Character.valueOf('A');
2) String str = Character.toString(ch);
1) String str = Character.toString('A');
Character ch = Character.valueOf('A');
2) String str = Character.toString(ch);
Character ch = Character.valueOf('A');
3) String str = ch.toString();
3) String str = ch.toString();
(8) isUpperCase(char ch);返回值类型:boolean
判断指定字符是否是大写(要求必须有参数)
(9) isLowerCase(char ch);返回值类型:boolean 判断指定字符是否是小写(要求必须有参数)
5.Double
1.构造方法
Double(double value)
Double(String str)
Double a = new Double("23.5");
Double a = new Double(23.5);
Double b =Double.valueOf("23.5");//应以数值类型的字符串作为参数
2.常见方法
Double a = new Double(23.5);
Double b =Double.valueOf("23.5");//应以数值类型的字符串作为参数
2.常见方法
(1) valueOf(String str | double a) 返回值为String类型或Double。
(2) byteValue() 返回Double类的一个byte类型值
(3) intValue() 返回Double类的一个int类型值
(4) longValue()返回Double类的一个long类型值
(5) doubleValue() 返回Double类的一个double类型值
(6) compareTo(Double anotherDouble)在数值上比较两个类对象
(7) equals(Double anotherDouble) 返回值类型:boolean
(8) toString() 返回值类型为String
1) Double a = Double.valueOf(67.8);
String str = Double.toStirng(a);
2) Double a = Double.valueOf(67.8);
String str = a.toString();
3) String str = Double.toString(67.8);
1) Double a = Double.valueOf(67.8);
String str = Double.toStirng(a);
2) Double a = Double.valueOf(67.8);
String str = a.toString();
3) String str = Double.toString(67.8);
(9)parseDouble(String str) 将String类型转换为double类型
6.Number
抽象类Number 是BigDecimal、BigInteger、Byte、Double、Float、Integer、Long、和Short 类的父类 ,Number的子类必须提供将表示的数值转化为 byte、double、float、int、long、short的方法。
Number类的方法分别被Number的各子类所实现,也就是说,在Number类的所有子类中都包含以下几种方法。
(1) byteValue() 返回值类型为byte
(2) intValue() 返回值类型为int
(3) floatValue() 返回值类型为float
(4) shortValue() 返回值类型为short
(5) longValue() 返回值类型为long
(6) doubleValue() 返回值类型为double