网站首页 > java教程 正文
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、数据类型之间是可以进行转换的,当小存储空间向大存储空间转换时为自动类型转换,当大存储空间向小存储空间转换时为强制类型转换
猜你喜欢
- 2025-03-13 Java 泛型大揭秘:类型参数、通配符与最佳实践
- 2025-03-13 修改 mybatis-generator 中数据库类型和 Java 类型的映射关系
- 2025-03-13 Java 泛型使用(类、方法、接口协议、类型通配符、通配符上下限)
- 2025-03-13 Java中怎样将bytes转换为long类型?
- 2025-03-13 Java程序设计模拟B卷
- 2025-03-13 吊打面试官(三)--9000字讲透Java基础类型知识
- 2025-03-13 GBASE南大通用数据JDBC处理数据类型与 Java 数据的类型的灵活转换
- 2025-03-13 Java进行二元操作类型转换
你 发表评论:
欢迎- 最近发表
-
- Java常量定义防暴指南:从"杀马特"到"高富帅"的华丽转身
- Java接口设计原则与实践:优雅编程的艺术
- java 包管理、访问修饰符、static/final关键字
- Java工程师的代码规范与最佳实践:优雅代码的艺术
- 编写一个java程序(编写一个Java程序计算并输出1到n的阶乘)
- Mycat的搭建以及配置与启动(mycat部署)
- Weblogic 安装 -“不是有效的 JDK Java 主目录”解决办法
- SpringBoot打包部署解析:jar包的生成和结构
- 《Servlet》第05节:创建第一个Servlet程序(HelloSevlet)
- 你认为最简单的单例模式,东西还挺多
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)