美文网首页
Java-“基本数据”类型和“类”类型的转换

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

作者: a半亩方塘 | 来源:发表于2021-05-19 17:50 被阅读0次

    1. 知识点

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

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

    1.2 不同类型之间的转换

    • 基本数据类型<--->包装类:JDK5.0以后支持自动装箱和拆箱,就不用自己特意转啦
    • 基本数据类型/包装类--->Object:int类型自动装箱后为Interger对象,根据多态性可直接传参
    • Object--->基本数据类型/包装类:int i=(Integer)obj;

    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);
            }
        }
    }
    
    

    相关文章

      网友评论

          本文标题:Java-“基本数据”类型和“类”类型的转换

          本文链接:https://www.haomeiwen.com/subject/csgpjltx.html