博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
基本数据类型的包装类和随机数
阅读量:6589 次
发布时间:2019-06-24

本文共 5057 字,大约阅读时间需要 16 分钟。

public class BasisTest {    /**     *  封装类/包装类 :  把 基本数据类型转换成对象!     *      *  基本数据类型               包装类     *  byte           Byte     *  short          Short     *  int            Integer     *  long           Long     *  float          Float     *  double         Double     *  char           Character     *  boolean        Boolean     *       *  使用我们的封装类 ,就可以使用类中对应的方法     *  集合中在存储基本数据类型时!只能存放封装类!     */    // 所有的封装类 都有将对应的基本数据类型作为参数的方法 来构造实例    @Test    public void test01() {        /**         * 除了Character来构造实例的时候,没有String类型的参数!         * Float有三个实例化构造方法  分别是  传递 double  float  String         */        Byte a = new Byte((byte) 1);        Short s = new Short((short) 1);        Integer b = new Integer(5);        Long l = new Long(1);        Float f = new Float(2);        Double c = new Double(5);        // 上面的六个封装类都继承了Number        Boolean boolean1 = new Boolean(true);        Character character1 = new Character((char) 1);        Character character2 = new Character('1');    }    /**     * 六个封装类继承了Number     * 用String来构造实例的时候,String中存放的必须是数值类型的字符串     */    @Test    public void test02() {        Byte a = new Byte("1");        Short s = new Short("1");        Integer b = new Integer("1");        Long l = new Long("1");        Float f = new Float("1");        Double c = new Double("1");        // 除了大小写的true 其它都返回false        Boolean boolean1 = new Boolean("");        System.out.println(boolean1);        // 编译报错 Character character1 = new Character("1");    }    @Test    public void test03() {        System.out.println(Integer.toBinaryString(28)); // 转换成2进制        System.out.println(Integer.toHexString(28)); // 转换成16进制        System.out.println(Integer.toOctalString(28)); // 转换成8进制    }    /**     * 六个封装类继承了Number,只要不是传递 字符串类型的数值     * 都会抛出NunberFormatException     */    @Test    public void test04() {        // Integer integer = new Integer(null);        double a = 1;        System.out.println(a);        Double double1 = new Double(1);        System.out.println(double1);    }    /**     *      *除了Character,都有对应的parse的方法     */    @Test    public void test05() {        Integer integer = new Integer(5);        //第一个参数是对应进制的写法        System.out.println(integer.parseInt("11011", 2));        /**    String num = "27";            System.out.println(Integer.parseInt(num) + 1);            Double.parseDouble("20");            Byte.parseByte("1");            Short.parseShort("1");            System.out.println(1 + 1 + "2"); // 22            System.out.println("1" + (1 + 2)); // 13        */    }    /**     * valueOf      * 把基本数据类型转换成对应的封装类     * 除了Character没有传递String类型的参数     *      * xxxValue     * 把xxx类型转换成xxx对应的基本数据类型     */    @Test    public void test06() {        // 基本数据类型和对应封装类之间的转换 我们称之为 装箱和拆箱操作        int a = 5;        Integer integer = Integer.valueOf(a);        integer.intValue();        Double double1 = Double.valueOf(20);        double1.doubleValue();        Character character = Character.valueOf('a');        character.charValue();    }    @Test    public void test07() {        Integer a = new Integer(1);        Integer b = new Integer(1);        int c = 1;        System.out.println(a == b); // false 都是new出来的对象        System.out.println(a == c);    }    @Test    public void test08() {        /**         *底层默认执行了valueOf()          *如果值在  -128到127 之间  则不会new对象         *否则 会new出来新的对象         */        Integer a = 128;        Integer b = 128;        System.out.println(a == b); // false    }}
@Test    public void testMath() {        System.out.println("向上取值:" + Math.ceil(50.1));        System.out.println("向下取值:" + Math.floor(50.9));        System.out.println("绝对值:" + Math.abs(-50.9));        System.out.println("最大值:" + Math.max(50, 60));        System.out.println("最小值:" + Math.min(50, 60));        System.out.println("随机数:" + (int) (Math.random() * 10));        // 之前使用的Math.random() 其实是调用了Random.nextDouble();    }    @Test    public void testRandom() {        Random random = new Random();        for (int i = 0; i < 100; i++) {            // System.out.println(random.nextBoolean()); 随机boolean类型的值            // System.out.println(random.nextDouble()); 0-1之间            // System.out.println(random.nextInt()); int取值范围            System.out.println(random.nextInt(10)); // 参数的范围 但是不包含本身 参数必须大于0        }    }
//随机数    @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("下次努力...");        }    }    }

 

转载于:https://www.cnblogs.com/xtdxs/p/7093914.html

你可能感兴趣的文章
前端05.js入门之BOM对象与DOM对象。
查看>>
CISCO路由器NTP服务器配置
查看>>
oracle kill所有plsql developer进程
查看>>
12c rac 实例无法启动之磁盘组空间耗尽
查看>>
keepalived双机热备原理及实例部署LVS+keepalived
查看>>
曲线学习PyQt5方案一
查看>>
爬虫采集-基于webkit核心的客户端Ghost.py [爬虫实例]
查看>>
企业私有云之rabbitmq高可用
查看>>
OpenCV学习】矩阵运算和操作2
查看>>
nginx+ffmpeg搭建rtmp转播rtsp流的flash服务器
查看>>
Win10 IoT C#开发 1 - Raspberry安装IoT系统及搭建开发环境
查看>>
关于在arm裸板编程时使用printf问题的解决方法
查看>>
开源人工智能技术将改变一切
查看>>
2015 上半年 JavaScript 使用统计数据
查看>>
《Python算法教程》——1.6 如果您感兴趣
查看>>
干货 | 豆子科技首席架构师钟声:Java的纯真年代
查看>>
深度解析Java8 – AbstractQueuedSynchronizer的实现分析(下)
查看>>
SSH原理与运用(一):远程登录
查看>>
Spring Framework 4.2 中的新功能和增强功能
查看>>
动态代理解决网站字符集编码
查看>>