java基础学习API之Integer类 六-3

Integer 类在对象中包装了一个基本类型 int 的值。Integer 类型的对象包含一个int 类型的字段。 


package wsj03;
/**
 * Integer类的使用
 * @author Angus
 *	判断某个数据是否在int范围内
 *	
	static int MAX_VALUE :值为 2^31-1 的常量,它表示 int 类型能够表示的最大值。 
	static int MIN_VALUE :值为 -2^31 的常量,它表示 int 类型能够表示的最小值。 
	if(num > Integer.MIN_VALUE && num<Integer.MAX_VALUE){
		是int范围内
	}
 */
public class IntegerDemo1 {
	
	public static void main(String[] args) {
		//部分方法使用
		//public static String toBinaryString(int i)  二进制
		//public static String toHexString(int i)	十六进制
		//public static String toOctalString(int i) 八进制
		System.out.println(Integer.toBinaryString(60)); //111100
		System.out.println(Integer.toHexString(60)); //3c
		System.out.println(Integer.toOctalString(60)); //74
		
	}
}

构造方法:


package wsj03;
/**
 * Integer类的使用
 * @author Angus
 * 
      基本数据类型       		 引用数据类型

   byte             Byte
   short            Short
   int              Integer
   long             long
   float            Float
   char             Character
   boolean          Boolean
   double           Double

	以Integer为例
	构造方法;
		Integer(int value) 
		Integer(String s) //字符串必须是数字字符的字符串  英文字母abc等会报错
 */
public class IntegerDemo1 {
	
	public static void main(String[] args) {
		//把int类型变成Integer类型
		int num = 100;
		Integer i = new Integer(num);
		System.out.println(i.toString());
		//把String类型变成Integer类型
//		String s = "100as"; //java.lang.NumberFormatException: For input string: "100as"
		String s = "100"; //java.lang.NumberFormatException: For input string: "100as"
		Integer ii = new Integer(s);
		System.out.println(ii.toString());
	}
}

常用方法:



package wsj03;
/**
 * 
 * @author Angus
 *	int-- String 
 *
 *	String -- int
 */
public class IntegerDemo2 {
	public static void main(String[] args) {
		//int-- String 
		int num = 100;
		
		//方式一
		String s1 = num+"";
		//方式二
		String s2 = String.valueOf(num);
		//方式三
		//int --Integer--String 
		Integer i = new Integer(num);
		String s3 = i.toString();
		//方式四   
		//public static String toString(int i)
		String s4 = Integer.toString(num);
		
		//String -- int
		String s = "100";
		//方式一
		//String --- Integer -- int 
		Integer ii =new Integer(s);
		//public int intValue()
		int number = ii.intValue();
		//方式二  记住
		//public static Integer valueOf(String i)
		int number2 = ii.valueOf(s);
	}
}

Integer在JDK5以后的新特性

package wsj03;
/**
 * 
 * @author Angus
 * JDK5 以后新特性
 * 自动装箱:也就是把基本类型赋值给引用类型
 * 自动拆箱;把引用类型直接拆成基本类型
 * 	
 * 开发原则:
 * 		只要是对象就要判断不为null的判断
 */
public class IntegerDemo2 {
	public static void main(String[] args) {
		Integer ii = 100;
		ii = ii+100;
		System.out.println(ii); //200
		/*
		 * 数据参与运算要求类型一致
		 * 而现在ii 是Integer类型100是int类型
		 * 底层调用的是intvalue方法
		 * 也就是ii+100
		 * 其实是ii.intvalue+100
		 * 计算后是200
		 * 最后又做了一次装箱的操作
		 */
		Integer i = null;
		i= i+100;
		System.out.println(i);  // java.lang.NullPointerException
		//报错,空指针异常 
		//验证 i.intvalue 方法空指针
		
	}
}

Integer面试:

package wsj03;
/**
 * 
 * @author Angus
 * 关于Integer面试题
 *   byte常量池
 *   也就是byte范围内的值,直接赋值给Integer,是从常量池中获取的。 byte的值用的概率高常量池中长存
 */
public class IntegerDemo2 {
	public static void main(String[] args) {
		Integer i1 = new Integer(127);
		Integer i2 = new Integer(127);
		System.out.println(i1 == i2); //false
		System.out.println(i1.equals(i2)); //true
		System.out.println("-----------------------------");
		
		Integer i3 = new Integer(128);
		Integer i4 = new Integer(128);
		System.out.println(i3 == i4);//false
		System.out.println(i3.equals(i4));//true
		System.out.println("-----------------------------");
		
		Integer i5 = 128;
		Integer i6 = 128;
		System.out.println(i5 == i6);//false
		System.out.println(i5.equals(i6));//true
		System.out.println("-----------------------------");
		
		Integer i7 = 127;
		Integer i8 = 127;
		System.out.println(i7 == i8);//true
		System.out.println(i7.equals(i8));//true
		
		
	}
}


最后附上JDK使用文档API 下载



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值