1、JAVA数据类型

JAVA的数据类型

A:基本数据类型

整型:byte、short、int、long

浮点型:float、double

布尔型:boolean

字符型:char

B:引用数据类型

类:class

接口:interface

数组:Array

C:八种基本数据类型的包装类(引用数据类型)

Byte: 类将基本类型 byte 的值包装在一个对象中

Short: 类在对象中包装基本类型 short 的值

Integer:Integer 类在对象中包装了一个基本类型 int 的值

Long: 类在对象中包装了基本类型 long 的值

Float: 类在对象中包装一个基本类型 float 的值

Double: 类在对象中包装一个基本类型 double 的值

Character: 类在对象中包装一个基本类型 char 的值

Boolean: 类将基本类型为 boolean 的值包装在一个对象中

问题

面试官的问题一:JAVA为什么需要这么多数据类型呢?

答:我们电脑上的内存大小是有极限的,我们在使用内存的时候要本着一些原则:

1:使用完毕之后立即释放内存

2:尽量不要浪费内存

3:java的不同的数据类型就是要让使用者按需分配内存大小。

合理开销

面试官的问题二:JAVA基本数据类型的包装类到底能干嘛?

1:存储着这个基本数据类型的最大、最小值

2:表示基本类型 short 的 Class 实例。

3:java的不同的数据类型就是要让使用者按需分配内存大小。

合理开销

面试官的问题三:小周,你工作三年了,有什么难忘的事情?

小周答:

我们公司有一个小郑,下班时间不走,很纠结,因为程序出

错,找不到地方,于是,我挺身而出,帮他解决了。java中的基本数据

类型都有极限值,如果超越这个极限值,将发生无法预知的后果 。

面试官的问题四:程序中遇到带小数点的数据运算如何处理?

Java中遇到带小数点的数都认为是double型,所以开发中尽量不要使用float,如果使用混合数据类型运算会强制转换。遇到浮点数据类型的运算推荐使用BigDecimal,可以保留精度。

面试官的问题五:包装的常量池数组:-128到127

超过了这个范围返回的是一个对象,没有超出,返回的则是一个基本数据类型的值

1:基本概念

比如:请您谈谈对JAVA的数据类型的理解

java只所以对数据进行类型的区分,是为了合理的分配和使用

内存的开销,主要分为两大类型:基本数据类型和引用数据类型

基本数据类型的分类:

整形、浮点型、布尔型、字符型

引用数据类型的分类:

类、接口、数组

那我来详细阐述下基本数据类型:

byte、short、int、long、float、double、boolean、char

这八种类型分别对应八种包装类:

包装类存储着此种基本数据类型的最大值、最小值

2:深度拓展

每一种基本数据类型因为有存储的极限值,如果超过这个值将导致 不可预知的结果

比如:因为超过极限导致的死循环

byte b1=127;

b1++;

System.out.println(b1);//结果不是128

for(byte b=1;i<=Byte.MAX_VALUE;b++){}

混合数据类型进行算时有一些规则:

混合数据类型进行算将先进行类型的统一

将小类型向大类型进行转换,再进行运算。

float f1=3.14f;

System.out.println(3.14==f1);

结果是false

实际项目开发中,不使用float double来进行浮点数的运算

使用BigDecimal来准确的控制精度

Integer包装类在进行声明赋值时有两种方式:

如果是用简便的方法进行则要注意值如果大于127或小于等于127,结果不同

一个表示new对象,一个表示类似于基本数据类型

Integer i1=128;
Integer i2=128;
System.out.println(i1==i2);
System.out.println(i1.equals(i));

JAVA表达中如果数据类型不统一,则要注意运算的规则:

如果遇到不带小数点值默认为int,带小数点的默认为double

类型如果不统一,就进行统一之后再运算

3:项目运用

防止数据类型不统一的情况下产生的强制转换

使用推荐做法:s++

如果是浮点数据类型进行运算推荐使用BigDecimal,它可以保证精度

小心数据类型存储的极限范围,防止溢出

4:常见异常

java.util.InputMismatchException: Value out of range. Value:"129"

原文地址:https://www.cnblogs.com/ooos/p/13463375.html