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编码
java八大基本类型介绍的更多相关文章
- 一文详解 Java 的八大基本类型
自从Java发布以来,基本数据类型就是Java语言中重要的一部分,本文就来详细介绍下每种基本类型的具体使用方法和限制. 作者 | Jeremy Grifski 译者 | 弯月,责编 | 郭芮 出品 | ...
- Android java传递string类型数据给C
本文接着实现<Android java传递int类型数据给C>的还未实现的方法: public native String sayHelloInC(String s); 先贴一个工具方法, ...
- [原创]java WEB学习笔记81:Hibernate学习之路--- 对象关系映射文件(.hbm.xml):hibernate-mapping 节点,class节点,id节点(主键生成策略),property节点,在hibernate 中 java类型 与sql类型之间的对应关系,Java 时间和日期类型的映射,Java 大对象类型 的 映射 (了解),映射组成关系
本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...
- Java泛型类与类型擦除
转载自:http://blog.csdn.net/lonelyroamer/article/details/7868820 一.Java泛型的实现方法:类型擦除 前面已经说了,Java的泛型是伪泛型. ...
- 深度分析 Java 的枚举类型:枚举的线程安全性及序列化问题(转)
写在前面: Java SE5 提供了一种新的类型 Java的枚举类型,关键字 enum 可以将一组具名的值的有限集合创建为一种新的类型,而这些具名的值可以作为常规的程序组件使用,这是一种非常有用的功能 ...
- 深度分析Java的枚举类型—-枚举的线程安全性及序列化问题
原文:深度分析Java的枚举类型--枚举的线程安全性及序列化问题 枚举是如何保证线程安全的 要想看源码,首先得有一个类吧,那么枚举类型到底是什么类呢?是enum吗?答案很明显不是,enum就和clas ...
- Java 4- Java 变量类型
Java 变量类型 在Java语言中,所有的变量在使用前必须声明.声明变量的基本格式如下: type identifier [ = value][, identifier [= value] ...] ...
- [ JAVA编程 ] double类型计算精度丢失问题及解决方法
前言 如果你在测试金融相关产品,请务必覆盖交易金额为小数的场景.特别是使用Java语言的初级开发. Java基本实例 先来看Java中double类型数值加.减.乘.除计算式实例: public cl ...
- Java enum枚举类型
java的枚举类型详解: 简单示例: public enum Color{ RED,BLUE,BLACK,YELLOW,GREEN } 复杂示例(带自定义构造方法与类型) public enum En ...
随机推荐
- .NET架构师必备知识
.NET架构师,我归纳一下要学的知识: 成为优秀程序员,需要学好的知识: 1. 面向对象编程.UML画图.设计模式.代码重构 2. 常用ORM工具 3. MVC,WCF,XMl, JQuery ,S ...
- 使用Nexus管理Maven仓库时,上传带依赖的第三方jar
总所周知,使用Maven构建非常方便.在企业中使用Nexus创建私服来管理Maven时,需要上传很多没有开放源码的第三方Jar包.本文将讲述当第三方Jar包有很多并且互相有依赖时如何上传. 核心操作 ...
- Spring基础知识详解
Spring 概述 1. 什么是spring? Spring 是个java企业级应用的开源开发框架.Spring主要用来开发Java应用,但是有些扩展是针对构建J2EE平台的web应用.Spring ...
- ID生成策略
在电商项目中,图片名.商品ID都要唯一且方便存储,于是记录下这两个ID生成策略的方法,以便日后项目再有需要.具体代码如下 import java.util.Random; /** * 图片名生成 */ ...
- POJ 3026 Borg Maze【BFS+最小生成树】
链接: http://poj.org/problem?id=3026 http://acm.hust.edu.cn/vjudge/contest/view.action?cid=22010#probl ...
- coursera 《现代操作系统》 -- 第十周 文件系统(2)
身份验证 Authentication 知道用户是谁.通过账号密码.Id 这样的识别出来. 访问控制 Permission 知道用户是谁后. 主动控制 记录用户ID和对应的访问权限 --> 记录 ...
- 封装AFNetworking
用了一下AFNetworking感觉比ASIHttprequest 真心好用一些,因为我还是个初学者吧,很多ASIHttprequest 的功能还没有用到,与ASIHttprequest 不用的是AF ...
- 解决CSS3多列样式column-width布局时内容被截断、错乱
一.问题 使用CSS3的column-width: auto | <length>属性时,出现排列的内容被截断,出现错位的现象. 二.原因 需要为图片容器设置高度,不然会崩掉. 三.解决方 ...
- 洛谷 P4071 [SDOI2016]排列计数
洛谷 这是一道组合数学题. 对于一个长为n的序列,首先我们要选m个使之稳定\(C^{m}_{n}\). 且要保证剩下的序列不稳定,即错排\(D_{n-m}\). 所以答案就是:\[ANS=C^{m}_ ...
- 流畅的python python 序列
内置序列 容器类型 list .tuple和collections.deque这些序列能放入不同的类型的数据 扁平序列 str.byets.bytearray.memoryview(内存视图)和arr ...