zoukankan      html  css  js  c++  java
  • java八大基本类型介绍

    //今天说一下java的八大基本类型:
     // 数字类型:byte(8位)、short(16位)、int(32位)、long(64位)
     //浮点类型:float(32位)、double(64位)
     //字符类型:chart(16位)Unicode字符
     //boolean类型:只有2个值true和false。个人理解为是1位的,因为是有0和1表示的。
     //八大基本类型都有最大值和最小值。今天来看下他们分别代表的最大值和最小值
     System.out.println("byte最小值:"+Byte.MIN_VALUE);
     System.out.println("byte最大值:"+Byte.MAX_VALUE);
     //通过代码输出得知byte的取值在-128~127之间。这里要问为什么,为什么是-128~127的区间。
     //我想这个问题要完全明白只能找计算机的发明者们来解释了。以下的内容都是个人理解,有错误的地方还请大家在回复中指出
     //简单知道,计算机底层是二进制计算的。Byte是8位的,我们反推一下-128和127的二进制是:1111111(127)、-00000001(-128)
     //127的二进制加1的结果是:1111111+1=00000001
     //在讲二进制转换为十进制的过程:1111111 使用java.lang.Math的pow方法求2的次方十进制数相加
    System.out.println( Math.pow(2,0)+"+"+Math.pow(2,1)+"+"+Math.pow(2,2)
            +"+"+Math.pow(2,3)+"+"+Math.pow(2,4)+"+"+Math.pow(2,5)+"+"+Math.pow(2,6)+"=127.0");
    //结果为:1.0+2.0+4.0+8.0+16.0+32.0+64.0=127.0
     //所以00000001的值就是Math.pow(2,7)也就是2的7次方。这里有个问题就是Byte是8位的负数是-128可以理解了,但正数为啥是127那。
     //也就是说Byte正数的实际占位是7位二进制的1111111。是不是考虑到有0的存在,0也是正式的一位,而负数是由-1开的的。这个只是猜测。
     //关于为啥8位的正数只是占满二进制的7个位置,就不纠结了。只要知道8位区间为啥是-128~127就可以了。
     //所以对于数字类型类推:Byte(8位)的区间是-2的7次方(-2^7)到2的7次方减去1(2^7-1)
     //short(16位)的(-32768~32767)区间(-2^15)到(2^15-1)
     //int(32位)的(-2147483648~2147483647)区间(-2^31)到(2^31-1)
     //long(64位)的(-9223372036854775808~9223372036854775807)区间(-2^31)到(2^31-1)
     //上面说的都是数字类型,下面说下两种浮点类型float和double 浮点型是遵守IEEE 754标准。提到标准一定是有一群计算机界牛逼到牛逼
     //的人在一起制定。百度简单看来了下完全看不懂,涉及到高等数学。
     //通过java提供的方法
     System.out.println("Float最大值:"+Float.MAX_VALUE+";Float最小值:"+Float.MIN_VALUE);
     //Float最大值:3.4028235E38;Float最小值:1.4E-45
     System.out.println("Double最大值:"+Double.MAX_VALUE+";Double最小值:"+Double.MIN_VALUE);
     //Double最大值:1.7976931348623157E308;Double最小值:4.9E-324
     //我们可以看到在浮点型的最大最小值中有个E,这个E代表的含义是:1.4E-45就是1.4*10^-45;1.4E10就是1.4*10^10。
     //直白点说就是1.4E-3就是0.0014;1.4E3就是1400。E后边的是负数就是向小数点后移多少位;E后边的事正数就是向小数点前移多少位
     //这么说下来,boolean类型就是1位的了,只是0和1的值,0代表false,1代表true。
     //char类型是16位的Unicode字符
     System.out.println("Char最大值:"+(int)Character.MAX_VALUE+";Char最小值:"+(int)Character.MIN_VALUE);
     //Char最大值:65535(uffff);Char最小值:0(u0000);
     //Unicode是一张编码表,将全世界所有用到的字符类型都编入到Unicode表中,然后根据u0000的编码位置查找对应的字符。
     //具体的请百度Unicode编码

  • 相关阅读:
    使用golang访问kubebernetes
    使用 Rancher 管理现有 Kubernetes 集群
    Running powershell scripts during nuget package installation and removal
    How to Create, Use, and Debug .NET application Crash Dumps in 2019
    寻找写代码感觉(一)之使用 Spring Boot 快速搭建项目
    Selenium+Java之解决org.openqa.selenium.InvalidArgumentException: invalid argument报错问题
    Selenium环境搭建
    关于Xpath定位方法知道这些基本够用
    Web自动化之浏览器启动
    【翻译】编写代码注释的最佳实践
  • 原文地址:https://www.cnblogs.com/gynbk/p/9361343.html
Copyright © 2011-2022 走看看