基本数据类型的包装类和随机数

/**
 *
 *   包装类/封装类:  把基本数据类型转换成对象!
 *               每一个基本数据类型都有一个对应的包装类!都是位于java.lang包中!
 *          作用: 提供我们操作的一系列方法!
 *           例子:集合中能存放基本数据类型吗???不能! 必须是包装类!
 *
 *   基本数据类型                             包装类
 *   byte                Byte
 *   short               Short
 *   int                 Integer
 *   long                Long
 *   float               Float
 *   double              Double
 *   char                Character
 *   boolean             Boolean
 *
 */
public class BasisTest {

    @Test
    public  void  test01(){
        //所有的包装类都有将对应的基本数据类型作为参数!来构造实例!
         Integer  i=new Integer(1);
         Double   d=new Double(5);
         Boolean b=new Boolean(true);
         Character c=new Character(‘a‘);
    }

    @Test
    public  void  test02(){
        //除了Character类,其他所有的包装类都可以传一个字符串作为参数!
         Integer  i=new Integer("1");
         Double   d=new Double("5");
         Boolean b=new Boolean("true");
         //Character c=new Character("a");  编译报错
    }

    /*
     * Byte,Short,Integer,Float,Double,Long
     * 都继承了 Number这个父类
     * 当他们的参数是String来构造实例的时候  ,如果传递Null都抛出 NumberFormatException
     *
     * Boolean    传Null是   能正常运行
     * Character  编译就报错了
     */
    @Test
    public  void  test03(){
        //Integer  i=new Integer(null);
        //Double   d=new Double(null);
        //Character c=new Character(null); 编译报错
        //在参数是String的类型时,除了 大小写的TRUE,其余的都是false
        Boolean b=new Boolean(null);
        System.out.println(b);
    }

    @Test
    public  void  test04(){
        String  num="12345a";
        System.out.println(num+1);  //123451
        //使用Integer的paseInt(数值类型的String)
        System.out.println(Integer.parseInt(num)+1);
    }

    /*
     * valueOf() 只能传递可以转换成对应基本数据类型的值
     * 除Character类外,其他包装类都有方法(字符串->包装类)
     */

    @Test
    public  void  test05(){
        Integer i=Integer.valueOf(20);
        Integer a=Integer.valueOf("20");
        Integer b=Integer.valueOf("abc");  //NumberFormatException
        Integer c=Integer.valueOf("20.0");  //NumberFormatException
    }

    //基本数据类型和对应包装类之间的转换 我们称之为  装箱和拆箱操作
    @Test
    public  void  test06(){
        int a =5;
        Integer i=new Integer(a);   //相当于装箱
        a=i.intValue(); //相当于拆箱
        Integer b=5; //相当于装箱
        int  num=b;  //相当于拆箱
    }

    //所有的包装类 都有对应的方法叫做    包装类Value()  作用:转换成基本数据类型 (拆箱)
    @Test
    public  void  test07(){
        Double a=new Double(50);
        Double b=new Double(50.5);
        Double c=new Double("50.5");
        double d=c.doubleValue();  //转换成基本数据类型
        System.out.println(d);
        Float f=new Float(58.0);
        float e=f.floatValue(); //转换成基本数据类型
        Character t =new Character(‘a‘);
        System.out.println(t.charValue()+1);

        Boolean l=new Boolean("true");
        System.out.println(l.booleanValue());
    }

    @Test
    public  void  test08(){
        /*
         * 除了 Character之外 ,每个包装类都有对应的parse方法
         */
        System.out.println(Integer.parseInt("123"));
        System.out.println(Double.parseDouble("123"));
        System.out.println(Boolean.parseBoolean("123"));
        System.out.println(Long.parseLong("123"));
        /*int  n =null;   编译报错
        Integer an=null;*/
    }

    @Test
    public  void  test09(){
        Integer a=50;
        Integer b=new Integer(50);
        int     c=50;
        System.out.println(a==b);  //false
        System.out.println(c==b);  //true    基本数据类型和对应的包装类比较 都是true
        System.out.println(c==a);  //true
    }

    @Test
    public  void  test10(){
        /*Integer a=new Integer(50);
        Integer b=new Integer(50);
        System.out.println(a==b);  //false*/
    /*    Integer a=127;
        Integer b=127;
        System.out.println(a==b); //true*/    

        Integer a=128;  //底层 执行了  valueOf()   new  Integer(128)
        Integer b=128;
        System.out.println(a==b); //false

    }

    @Test
    public  void  test11(){
        System.out.println("向上取值:"+Math.ceil(50.1));
        System.out.println("向下取值:"+Math.floor(50.2));
        System.out.println("绝对值:"+Math.abs(-50));
        System.out.println("最大值:"+Math.max(50, 60));
        System.out.println("最小值:"+Math.min(50, 60));
        System.out.println("随机数:"+(int)(Math.random()*10));

        Random random=new Random();
        for (int i = 1; i <=100; i++) {
            System.out.println(random.nextInt());  //int值的区间
        }
        System.out.println("*********************");
        for (int i = 1; i <=100; i++) {
            System.out.println(random.nextInt(100));  //0-99  不包含100
        }
    }

    //随机数
    @Test
    public   void  test12(){
        Scanner scanner=new Scanner(System.in);
        System.out.println("请输入一个4位数字:");
        String num=scanner.next();
        //把String类型的num转换成int
        int realNum=Integer.parseInt(num);
        //获取百位
        int bai=realNum/100%10;
        Random random=new Random();
        //定义一个标记
        boolean flag=false;
        for (int i = 1; i <=100; i++) {
        int a=    random.nextInt(10);
        System.out.println("第"+i+"次的随机数:"+a);
            if (a==bai) {
                //找到了
                flag=true;
                break;
            }
        }
        if (flag) {
            System.out.println("中奖了");
        }else {
            System.out.println("下次努力...");
        }
    }

}

  

时间: 2024-10-11 13:32:10

基本数据类型的包装类和随机数的相关文章

基本数据类型的包装类

Java设计之初,一切皆对象.但是基本数据类型不是对象. 开始的时候人为的包装一个基本数据类型 class Myint{ private int num : public Myint(int num){//打包 this.num = num ; }public int intValue(){//拆包return this.num;}.....} Java提供了一些包装类. byte(Byte) short(Short) int (Interger)..... long(Long) float(F

JAVA学习第三十二课(常用对象API)- 基本数据类型对象包装类

将基本数据类型(8种:int..)封装成对象的好处就是可以在对象中封装更多的功能和方法来操控该数据 常见的操作就是:用于基本数据类型与字符串之间的转换 基本数据类型对象包装类一般用于基本类型和字符串之间的转换 基本类型----->字符串 1.基本类型数值+"" 2.用string类中的valueOf(基本类型数值) 3.用Integer.ValueOf(); 字符串-->基本类型数值 1.使用包装类中的静态方法XXX  parseXXX("XXXX")比

基本数据类型对象包装类和自动装箱自动拆箱技术

一.基本数据类型对象包装类 byte Byte short Short int  Integer long Long boolean Boolean flaot Float double Double char Character 二.基本数据类型对象包装类的最常见作用 就是用于基本数据类型和字符串类型之间做转换 三.基本数据类型转成字符串:   基本数据类型+"": 基本数据类型.toString(基本数据类型值)   如:Integer.toString(34);将34整数转成字符

java 基础笔记 基本数据类型对象包装类

基本数据类型对象包装类: 为了方便操作基本数据类型值,将其封装成了对象,在对象中定义了属性和行为丰富了该数据的操作. 用于描述该对象的类就称为基本数据类型对象包装类. 基本数据类型 包装类 byte Byte short Short int Integer long Long float Float double Double char   Character boolean Boolean 该包装对象主要用于基本类型和字符串之间的转换. 基本类型-->字符串 1.基本类型数据+"&quo

Java中基本数据类型和包装类

参考:深入剖析Java中的装箱和拆箱; Java中基本数据类型和包装类互转中 缓冲机制的使用; java学习笔记:装箱和拆箱,包装器和缓冲池 Java 各 类型数据在内存中分配情况详解 一 java内存分配 这里只是在网上找的一些资料; Java 中的数据类型分为 1. 基本类型(原始数据类型) byte short int long float double char boolean 基本类型的变量持有原始值. 2. 符合数据类型(引用类型),引用类型持有引用值(即对某个对象的引用,而非对象本

8中基本数据类型及其包装类

8中基本数据类型及其包装类 byte----------->Byte char------------>character short----------->short in--------------->Integer long------------>long float------------>Float double---------->Double boolean--------->Boolean

深入Java基础(一)——基本数据类型及其包装类

作为一名程序员,我觉得会多门语言的前提,必须把一门语言熟练掌握,才能触类旁通,因此,也就出现了这次的Java基础与深入之旅啦!欢迎大家关注这一系列. 这一系列打算慢慢地去接触源码,并且列出相关的题目,对于完全的初学者的话,我到时候会搜一套我认为比较好的培训机构的视频以及给些社区资料和相关博客咯.让我们一起开始思考,深入学习Java吧. 这篇文章就数据类型咯-文章结构:1. 基本数据类型的系统描述:2.数据类型的包装类理解(含源码解析):3.数据类型转换.装包拆包等一些小坑. 一.基本数据类型的系

Java SE-基本数据类型对应包装类

包装类 Java是面向对象的编程语言,包装类的出现更好的体现这一思想. 其次,包装类作为类是有属性有方法的,功能比基本数据类型要强大. [八种基本数据类型的包装类] byte --Byte short --Short int --Integer long--Long float--Float double--Double char--Character boolean--Boolean 装箱与拆箱 装箱是指由基本数据类型向对应的包装类型转换.例如,int包装成Integer类的对象. 拆箱是指有

黑马程序员-----基本数据类型对象包装类

1.1 基本数据类型对象包装类. byte Byteshort shortint Integerlong Longboolean Booleanfloat Floatdouble Doublechar Character 基本数据类型对象包装类的最常见作用,就是用于基本数据类型和字符串类型之间做转换 基本数据类型转成字符串. 基本数据类型+"" 基本数据类型.toString(基本数据类型值); 如: Integer.toString(34);//将34整数变成"34&quo