JAVA的8种基本数据类型(面试题)

您所在的位置:网站首页 java语言的八种基本类型有哪些 JAVA的8种基本数据类型(面试题)

JAVA的8种基本数据类型(面试题)

2024-07-10 20:39| 来源: 网络整理| 查看: 265

基本数据类型(8个)

一.整数类型(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

二.(1.1) 浮点类型(2个)

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

(2.1) float与double精度丢失问题(解决方法)

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

三.布尔类型(1个)

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

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

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。

在这里插入图片描述



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3