网站首页 > 基础教程 正文
Java语言本身是一个强类型的语言,这就意味着在声明一个变量时必须规定其数据类型。在Java中有8种基本数据类型,其中包括4个整数类型,2个浮点类型,1个字符型,1个布尔型
一、整数类型
整数类型用来表示没有小数部分的数值,它允许是负数。在Java中一共有4个整数类型,主要区别在于每个类型的存储大小以及取值范围,具体如下:
一般情况下,int类型是最常用的,但是在处理数字较大的数据时可能就需要用到长整型long。long类型的数据后边需要加上大写的L或者小写l,表示当前的数据类型为长整型,例如:
//声明两个长整型的变量
long n = 1000L;
long m = 1000l;
二、浮点类型
浮点类型用来表示带有小数部分的数值,在Java中一共有2个整数类型,主要的区别在于其存储的大小以及取值的范围,具体如下:
float类型的精度是小数点后6~7位,double类型的精度是小数点后15位,是float类型精度的2倍。double类型是最常用的浮点类型。如果要声明一个float类型的变量,需要在数值后边添加一个大写的F或者小写的f,如果没有F则会被默认位double类型。例如:
float f1 = 3.14F;
三、字符类型
char是一种用于表示Unicode编码的字符单元的字符类型,它通过一对单引号表示。例如’A‘就是65所对应的字符常量。这里涉及到了Unicode编码,可以参考下方的文章读懂编码的问题,这里就不做过多的介绍。
四、布尔类型
布尔(boolean)类型有两个值,true和false,通常用于逻辑判断。整数类型和布尔类型之间不可以相互转换。
五、数据类型转换
程序在运行期间,经常会将一种数据类型转换成另一种数据类型,此时就会涉及到数据类型转换的问题。数据类型在转换时分为”自动转换“和”强制转换“两种。
自动转换是指存储小的空间类型向存储大的空间类型转换,在转化时不需要额外的操作,直接进行转换。具体转换类型如下:
图中实线箭头表示转换的时候数据的精度不会有丢失,虚线的箭头表示在转换的过程中精度可能会造成丢失的情况。整数类型无论占用的空间有多大都是可以转换成浮点类型的。
强制转换是指存储大的空间类型向存储小的空间类型转换,例如double类型转换成int类型。此时就需要用到强制类型转换。但是这种类型转换可能会丢失一些信息。例如:
double n = 9.97;
int m = (int)n;
此时就是将double类型的变量n强制转换成了int类型的变量m,在转换时需要在变量前加上要转换的类型
六、总结
1、在Java当中共有8种基本数据类型,分别是byte、short、int、long、float、double、boolean、char。其具体分类如下:
2、数据类型之间是可以进行转换的,当小存储空间向大存储空间转换时为自动类型转换,当大存储空间向小存储空间转换时为强制类型转换
猜你喜欢
- 2024-11-06 Java后端精选基础教程:Java 中的基本数据类型「连载 6」
- 2024-11-06 深圳尚学堂Java培训:Java 基本数据类型。
- 2024-11-06 你真的理解 Java 的基础数据类型吗
- 2024-11-06 讲给小白的JAVA基础课(二)基本数据类型
- 2024-11-06 金蝶一面:Java基本数据类型有哪些?包装类型的常量池技术了解么
- 2024-11-06 Java语言提供了8种基本数据类型,你知道吗?
- 2024-11-06 JAVA 基本数据类型 Java基本数据类型有哪些
- 2024-11-06 四类八种基本数据类型 四类基本数据结构的含义
- 2024-11-06 Java的数据类型 Java的数据类型在不同平台的长短不同
- 2024-11-06 java基础学习——数据类型 java 数据类型有哪几种
- 05-14CSS基础知识(一) CSS入门
- 05-14CSS是什么? CSS和HTML有什么关系?
- 05-14什么是CSS3?
- 05-14CSS如何画一个三角形?
- 05-14初识CSS——CSS三角制作
- 05-14Wordpress建站教程:给图片添加CSS样式
- 05-14HTML和HTML5,css和css3的区别有哪些?
- 05-14Html中Css样式Ⅱ
- 最近发表
- 标签列表
-
- jsp (69)
- pythonlist (60)
- gitpush (78)
- gitreset (66)
- python字典 (67)
- dockercp (63)
- gitclone命令 (63)
- dockersave (62)
- linux命令大全 (65)
- mysql教程 (60)
- pythonif (86)
- location.href (69)
- deletesql (62)
- c++模板 (62)
- linuxgzip (68)
- 字符串连接 (73)
- nginx配置文件详解 (61)
- html标签 (69)
- c++初始化列表 (64)
- mysqlinnodbmyisam区别 (63)
- arraylistadd (66)
- console.table (62)
- mysqldatesub函数 (63)
- window10java环境变量设置 (66)
- c++虚函数和纯虚函数的区别 (66)