JAVA的8种基本数据类型分析
基本数据类型(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种基本数据类型分析的更多相关文章
- Java的8种基本数据类型
待整理主题:Java的8种基本数据类型与对应封装类型.拆箱.装箱 =================================================================== ...
- Java的八种基本数据类型及其包装类
Java有八种基本数据类型,所谓基本类型就是说存储时仅存在栈中,那么与之相对就是引用类型,引用类型既存在栈里又存在堆里,栈内存放堆内地址. 八种基本类型分别为byte short int long f ...
- Java学习笔记四:Java的八种基本数据类型
Java的八种基本数据类型 Java语言提供了八种基本类型.六种数字类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔型. Java基本类型共有八种,基本类型可以分为三类,字符类型char,布 ...
- Java的9种基本数据类型以及封装类
Java的9种基本数据类型以及封装类 基本类型 大小(单位/字节) 默认值 封装类 byte 1 (byte)0 Byte short 2 (short)0 Short int 4 0 Integer ...
- Java中几种常用数据类型之间转换的方法
Java中几种常用的数据类型之间转换方法: 1. short-->int 转换 exp: short shortvar=0; int intvar=0; shortvar= (short) in ...
- java中八种基本数据类型以及它们的封装类,String类型的一些理解
在我们面试或者考试过程中经常会考到八种基本数据类型以及它们的封装类,那么有哪八种基本数据类型呢?它们的封装类又是什么呢? 首先,八种基本数据类型分别是:int.short.float.double.l ...
- java 基础--8 种基本数据类型:整型、浮点型、布尔型、字符型 整型中 byte、short、int、long 的取值范围 什么是浮点型?什么是单精度和双精度?为什么不能用浮点型表示金额?
一.8种基本数据类型(4整,2浮,1符,1布): 整型:byte(最小的数据类型).short(短整型).int(整型).long(长整型): 浮点型:float(浮点型).double(双精度浮点 ...
- JAVA的8种基本数据类型和类型转换
byte 字节型 1字节(8bit) 初始值:0 char 字符型 2字节 空格 short 短整型 2字节 0 int 整形 4字节 0 long ...
- Java - day001 - 8种基本数据类型
一字节8电位 Java byte 最左边一位表示正负,0是正,1是负. (option / alt) + / 代码提示 Refactor 重构 Rename 重命名 (windows 重命名是选中 ...
随机推荐
- 【Mysql】使用一条sql查询出库表结构信息
1.新建查询 将以下脚本粘贴进去 脚本如下: SELECT TABLE_SCHEMA 库名, TABLE_NAME 表名, COLUMN_NAME 列名, COLUMN_TYPE 数据类型, DATA ...
- 彻底解决go get golang.org/x等包失败与VSCode golang插件安装失败问题
由于某种众所周知的一些原因,https://golang.org/ golang 的官方域名是被墙了的,这也就导致了, 在广大 go 开发者使用 golang 的时候,总会出现 go get 失败的问 ...
- Java基础(十)
一.XML概述 属性文件是用来描述程序配置,属性文件包含了一组名/值对.属性文件采用的是一种单一的平面层次结构,同时属性文件要求键是唯一的. XML格式能够表达层次结构,并且重复的元素不会被曲解. H ...
- 给Linux小白的CentOS8.1基本安装说明
写在前面的话:用过Linux的同学应该都会觉得Linux安装是件非常简单的事情,根本不值得用博客记下来!但是我发现,其实没接触过Linux的同学还真不一定会装,就像在IT行业工作过几年但一直用Wind ...
- 构建操作mysql的类
<?phpclass PdoMySQL{ public static $config=array();//设置连接参数,配置信息 public static $link=null;//保存连接标 ...
- nsswitch名称解析框架
name service switch 名称解析框架(逻辑图) 让多种应用程序能灵活进行名称解析的通用框架 与各种类型存储进行交互的公共实现 规定通过哪些途径以及按照什么顺序通过这些途径来查找特定类型 ...
- @atcoder - CODE FESTIVAL 2017 Elimination Tournament Round 3 F@ Unicyclic Graph Counting
目录 @description@ @solution@ @accpeted code@ @details@ @description@ 求有多少 n 点 n 边的无向连通图,满足第 i 个点的度数为 ...
- python下载及安装步骤
Python安装 1.浏览器打开网址:www.python.org 2.根据电脑系统选择下载 3.确定电脑系统属性,此处我们以win10的64位操作系统为例 4.安装python 3.6.3 双击下载 ...
- 说说TCP的三次握手和四次挥手
一.传输控制协议TCP简介 1.1 简介 TCP(Transmission Control Protocol) 传输控制协议,是一种 面向连接的.可靠的.基于字节流的传输层 通信协议. TCP是一种面 ...
- MyBatis入门学习-连接oracle实现CURD基本操作
目录 前言 导入oracle库 配置 环境配置 配置引用 配置映射 查询 单条件查询 多条件查询 通过类字段传递参数 通过Map接口传参 Param注解 插入 更新 删除 字段映射 参考文献 前言 本 ...