包装类的定义和基本数据类型+包装类+String类的转换方法

版权声明:此文为本人所写,严禁版权侵占行为。如需转载请注明出处。 https://blog.csdn.net/Abby_lxf/article/details/88920160

包装类:八种基本数据类型对应着一个类,此类即为包装类,针对八种基本数据类型定义的相应的引用类型

注:boolean  b ;      system.out.println(b);         //输出值为false

       Boolean  b;        system.out.println(b);         // 输出值为Null

当为boolean是,此时的b为一个基本数据类型,而当其定义为Boolean时即为一个类,返回的数值默认为空。

基本数据类型

包装类

boolean

Boolean

byte

Byte

short

Short

int

Integer

long

Long

char

Character

float

Float

double

Double

基本数据类型   包装类以及String类型之间的相互转换

1.基本数据类型转化为包装类时:只需要调用包装类的构造器

                Integer i1 = new Integer(i);
		System.out.println(i1.toString());
		
		
		Float float1 = new Float(12.3F);
		System.out.println(float1);
//		//数值转换异常(此处将会抛出异常无法运行,此处运行会给出警告二无法向下进行)
//		i1 = new Integer("12abc");
//		System.out.println(i1);
		
		boolean b1 = new Boolean(true);
		System.out.println(b1);
		//此处将不会抛出异常(boolean类型是不会出现上述的情况,比较特殊)
		//对于boolean来讲,参数为“true”时为true,除此之外为false
		boolean b2 = new Boolean("kjashfak");
		System.out.println(b2);

2.包装类转化为基本数据类型:调用包装类的XxxValue()方法

                int i2 = i1.intValue();
		System.out.println(i2);
		
		float f1 = float1.floatValue();
		System.out.println(f1);
		
		System.out.println(b1.booleanValue());

3.JDK5.0以后,自动拆箱和装箱(直接转化即可)

int i4 = 12;
Integer i3 = i4;//自动装箱
Boolean b = false;
int i5  = i3;//自动拆箱

4.基本数据类型+包装类----》String类:调用String类中的重载ValueOf(Xxx x)方法

int i1 = 10;
		String str1 = i1 + "";  //"10"
		System.out.println(str1);
		
		Integer i2 = i1;
		String str2 = String.valueOf(i1);
		System.out.println(str2);
		String str3 = String.valueOf(true);
		System.out.println(str3);

5.String --->基本数据类型+包装类:调用包装类的Parsexxxx(字符串对象)

int i3 = Integer.parseInt(str2);
System.out.println("$" + i3);
boolean b3 = Boolean.parseBoolean(str3);
System.out.println("$" + b3);

1

包装类的练习

package day09;

import java.util.Scanner;
import java.util.Vector;

/*利用Vector代替数组处理:从键盘读入学生成绩(以负数代表输入结束),找出最高分,并输出学生成绩等级。
➢提示:数组一旦创建,长度就固定不变,所以在创建数组前就需要知道
	它的长度。而向量类java.util.Vector可以根据需要动态伸缩。
➢创建Vector对象: Vector v=new Vector();
➢给向量添加元素: v.addElement(obi); //obj必须是对象
➢取出向量中的元素: 0bject obj=v.elementAt(0);
	V注意第一个元素的下标是0,返回值是Object类型的。
➢计算向量的长度: v.size();
➢若与最高分相差10分内: A等; 20分内: B等;
30分内:  C等;其它:D等I
*/

public class ExceWrapper {
	@SuppressWarnings("resource")
	public static void main(String[] args) {
		//1.从键盘输入学生的成绩
		Scanner scanner = new Scanner(System.in);
		System.out.println("请输入学生的成绩:(当成绩为负值时结束)");
		//2.将学生的成绩存入数组
		Vector<Integer> v = new Vector<Integer>();
		int maxScore = 0; //记录最高分
		for(;;) {
			int score = scanner.nextInt();
			if(score < 0) {
				break;
			}
			//3.获取成绩中的最高分
			if(maxScore < score) {
				maxScore = score;
			}
			//依次将学生成绩存入数组
			v.addElement(score);
		}
		//4.将v.elementAt(i)依次获取填入v中的元素,同事判断一下各个分数的等级并输出
		for (int i = 0; i < v.size(); i++) {
			Integer score = (Integer)v.elementAt(i);
			char level;
			if(maxScore - score <= 10) {
				level = 'A';
			}else if (maxScore - score <= 20) {
				level = 'B';
			}else if (maxScore - score <= 30) {
				level = 'C';
			}else {
				level = 'D';
			}
			System.out.println("学生的成绩为:" + score + ",等级为:" + level);
		}
		
		
	}

}

猜你喜欢

转载自blog.csdn.net/Abby_lxf/article/details/88920160