基本数据类型(8个)

1.整数类型(4个)

  字节个数 取值范围
byte(字节) 1(8位) -2^7~2^7-1
short(短整型) 2(16位) -2^15~2^15-1
int(整形) 4(32位) -2^31~2^31-1
long(长整形) 8(64位) -2^63~2^63-1

2.浮点类型(2个)

  名称 字节 精度问题
float 单精度浮点类型 4 保留8位小数点
double 双精度浮点类型 8 保留16位小数

2.1 float与double精度丢失问题

float与double运算时将十进制转为二进制,整数永远可以用二进制精确的表示,但小数就不一定,小数的二进制有时候是不可能准确的,有时候会无限算下去,所以在银行里不能使用float与double。

(解决精度丢失问题(BigDecimal))

3.布尔类型(1个)

boolean的值只有两个 true 和 false,在8种简单类型中除了boolean类型,其他的数据类型可以自动转换成其他类型,例: 自动类型转换 (小 -> 大)

byte -> int          char -> int

强制类型转换 (大 -> 小)

int -> char          double -> long

4.下面有鄙人珍藏多年的几道数据类型面试题(☆)

1、short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 +=1;有什么错?

答: 前面表达式有错误,s1+1中1是int类型,右边的结果为int int赋值给s1,s1为short,需要强制类型转换 s1 = (short)(s1+1); 后面的表达式没有错误,因为+=这种扩展赋值运算符会自动类型转换。

2、char类型变量能不能储存一个中文的汉子,为什么?

答: char是2个字节16位,所以可以使用unicode编码表示 只要是在unicode编码中文范围的汉字都可以存储4E00-9FA5 但是也有特殊情况生僻字不能存储。

3、Integer和int的区别

答: int 基本数据类型,只能用于算术运算,位运算 Integer引用数据类型,类提供很多方法去便捷操作一些int值 例如:10进制数转2进制数的方法。

4、能否在不进行强制转换的情况下将一个 double 值赋值给 long 类型的变量?

答:不可以,虽然double 和 long 都是8个字节(64位),但是底层的存储 结构不一样,double表示的范围 > long表示的范围 所以把double值赋值给long需要强制类型转换。

5、java 中 3*0.1 == 0.3 将会返回什么?true 还是 false?

答:java中float和double,在做运算的时候,会有精度丢失 所以这个表达式的值为false。

6、java 中 float f = 3.4; 是否正确?

答:3.4默认为double类型,若需要强制将3.4赋值给float需要强制类型转换 也有其他解决方案。 解决方案1: 3.4后面添加小f或者大F float f = 3.4F; 解决方案2: 变量f的数据类型,改为 double double f=              3.4; 解决方案3: 使用造型符号,强制类型转换 float f = (float) 3.4。

JAVA的8种基本数据类型分析的更多相关文章

  1. Java的8种基本数据类型

    待整理主题:Java的8种基本数据类型与对应封装类型.拆箱.装箱 =================================================================== ...

  2. Java的八种基本数据类型及其包装类

    Java有八种基本数据类型,所谓基本类型就是说存储时仅存在栈中,那么与之相对就是引用类型,引用类型既存在栈里又存在堆里,栈内存放堆内地址. 八种基本类型分别为byte short int long f ...

  3. Java学习笔记四:Java的八种基本数据类型

    Java的八种基本数据类型 Java语言提供了八种基本类型.六种数字类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔型. Java基本类型共有八种,基本类型可以分为三类,字符类型char,布 ...

  4. Java的9种基本数据类型以及封装类

    Java的9种基本数据类型以及封装类 基本类型 大小(单位/字节) 默认值 封装类 byte 1 (byte)0 Byte short 2 (short)0 Short int 4 0 Integer ...

  5. Java中几种常用数据类型之间转换的方法

    Java中几种常用的数据类型之间转换方法: 1. short-->int 转换 exp: short shortvar=0; int intvar=0; shortvar= (short) in ...

  6. java中八种基本数据类型以及它们的封装类,String类型的一些理解

    在我们面试或者考试过程中经常会考到八种基本数据类型以及它们的封装类,那么有哪八种基本数据类型呢?它们的封装类又是什么呢? 首先,八种基本数据类型分别是:int.short.float.double.l ...

  7. java 基础--8 种基本数据类型:整型、浮点型、布尔型、字符型 整型中 byte、short、int、long 的取值范围 什么是浮点型?什么是单精度和双精度?为什么不能用浮点型表示金额?

     一.8种基本数据类型(4整,2浮,1符,1布): 整型:byte(最小的数据类型).short(短整型).int(整型).long(长整型): 浮点型:float(浮点型).double(双精度浮点 ...

  8. JAVA的8种基本数据类型和类型转换

    byte 字节型                        1字节(8bit) 初始值:0 char 字符型 2字节 空格 short 短整型 2字节 0 int 整形    4字节 0 long ...

  9. Java - day001 - 8种基本数据类型

    一字节8电位 Java byte 最左边一位表示正负,0是正,1是负. (option / alt)  + / 代码提示 Refactor 重构 Rename 重命名  (windows 重命名是选中 ...

随机推荐

  1. [转载]java内存工具VisualVM的简单使用以及与Idea集成

    本文来源https://blog.csdn.net/KingBoyWorld/article/details/75579606 一.idea集成 1.打开设置 windows File->Set ...

  2. Thread基础-创建线程的方式

    Java线程创建的几种简单方式 1. extends Thread类 public class ThreadDemo extends Thread{ @Override public void run ...

  3. Apache(httpd)详解

    httpd详解(思维导图) 1. httpd服务 ASF 服务器类型 http服务器 应用程序服务器 httpd的特性 高度模块化 DSO机制 MPM httpd的并发响应模型 prefork wor ...

  4. Python实现DPABI当中“DICOM Sorted”功能

    1. 前言 在对DICOM数据预处理之前很重要的一步是将扫描得到的文件按照不同的扫描序列区分开来.DPABI和PANDA工具包中已经提供了相应的功能模块.但由于是集成的模块,不容易及逆行扩展和调整.这 ...

  5. Python中的字段分割

    很多时候我们要完成分词的任务,这篇文章讲的非常非常好.生动形象,原文是https://www.cnblogs.com/douzi2/p/5579651.html,作者是宋桓公.

  6. MAC地址表、ARP缓存表、路由表及交换机、路由器基本原理

    在网上找到了这篇讲述MAC地址,ARP协议和路由表的文章,如获至宝.一篇文章把组网中的相关概念讲的明明白白. 原文是发布在51cto博客上,但不知道为什么点进去却是404.让我没想到的是这个技术论坛上 ...

  7. 事务的特性ACID、隔离级别

    1.事务特性ACID 1.1 事务的四大特性 1.原子性(Atomicity) 事务包装的一组sql,要么都执行成功,要么都失败.这些操作是不可分割的. 2.一致性(Consistency) 数据库的 ...

  8. Swagger之外的选择

    今天给大家安利一款接口文档生成器--JApiDocs. swagger想必大家都用过吧,非常方便,功能也十分强大.如果要说swaager有什么缺点,想必就是注解写起来比较麻烦.如果我说有一款不用写注解 ...

  9. FIS3安装与编译

    安装 FIS3 npm install -g fis3 -g 安装到全局目录,必须使用全局安装,当全局安装后才能在命令行(cmd或者终端)找到 fis3 命令 安装过程中遇到问题具体请参考 fis#5 ...

  10. SpringMVC面试专题

    SpringMVC面试专题 1. 简单的谈一下SpringMVC的工作流程? 流程 1.用户发送请求至前端控制器DispatcherServlet 2.DispatcherServlet收到请求调用H ...