Java-“基本数据”类型和“类”类型的转换

2021-05-19  本文已影响0人  a半亩方塘

1. 知识点

1.1 基本数据类型与包装类(Wrapper)

基本数据类型与包装类(Wrapper)

1.2 不同类型之间的转换

1.3 自动装箱与拆箱

JDK5.0新特性:自动装箱和拆箱
自动装箱:(基本类型转为包装类可以不需要调用包装类的构造器)
int num = 10;
Integer in1 = num;
自动拆箱:(包装类转换为基本数据类型可以不需要调用包装类的xxxValue()方法)
Integer in1 = 100;
int num = in1;

2. 练习题目:

利用Vector代替数组处理:从键盘读入学生成绩(以负数代表输入结束),找出最高分,并输出学生成绩等级。
要求:若与最高分相差10分内,A等;20分内,B等;30分内,C等;其它,D等。
提示:数组一旦创建,长度就固定不变,所以在创建数组前就需要知道它的长度。而向量类Vector可以根据需要动态伸缩。

3. 代码实现

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

public class ScoreTest {
    public static void main(String[] args){
        //1.从键盘输入学生成绩
        Scanner scanner = new Scanner(System.in);
        //2.创建Vector对象来处理数据
        Vector v = new Vector();
        //3.收集学生成绩
        for(;;){
            System.out.println("请输入学生成绩(负数结束输入):");
            int score = scanner.nextInt();
            if(score>=0){
                v.addElement(score); //本应该接收Object类型,现在参数直接传了score
            }else {
                break;
            }
        }
        //4.遍历成绩,找出最大分数
        int maxScore = 0;
        for(int i=0; i<v.size();i++){
            if((Integer) v.elementAt(i) > maxScore){
                maxScore = (Integer) v.elementAt(i); //要把Object类型转换成基本数据类型才可以比较大小
            }
        }
        //5.遍历成绩,确定等级
        char level;
        for (int i=0; i<v.size();i++){
            if(maxScore-(Integer) v.elementAt(i)<=10){
                level = 'A';
            }else if(maxScore-(Integer) v.elementAt(i)<=20){
                level = 'B';
            }else if(maxScore-(Integer) v.elementAt(i)<=30){
                level = 'C';
            }else {
                level = 'D';
            }
            System.out.println("学生" + (i+1) + "成绩是:" +  v.elementAt(i) + ", 等级是:" + level);
        }
    }
}

上一篇下一篇

猜你喜欢

热点阅读