简自动类型提升,精度损失类型强制转换,常用转义字符,简单帮你回顾Java基本数据类型整形浮点型字符型布尔型Boolean及其运算规则

简介: 简自动类型提升,精度损失类型强制转换,常用转义字符,简单帮你回顾Java基本数据类型整形浮点型字符型布尔型Boolean及其运算规则

文章目录


整形

浮点型

字符型

布尔型boolean

自动类型提升

强制类型转换

注意


整形


06b4fa12b50c4ee2885450a865b03d02.png


bit是计算机中的最小存储单位。

byte是计算机中的基本存储单元。

1MB=1024KB——1KB=1024B(byte)


public class JavaTest {
    public static void main(String[] args) {
        byte b1 = 18;
        byte b2 = -128;
        //b2 = 128;超出范围,编译失败。
        //声明long类型的变量,必须以L(l)结尾。
        short s1 = 128;
        int i1 = 1234;
        long l1 = 999999L;
    }
}


浮点型


2a2d07fa815a431a963c592f3c2a8447.png


float尾数可以精确到7位有效数字。

double是float的两倍,通常用它。


public class JavaTest {
    public static void main(String[] args) {
        double d1 = 12.4;
        //声明float型需要在结尾加上F(f)。
        float f1 = 12.4f;
    }
}


字符型


char(1字符=2字节)


public class JavaTest {
    public static void main(String[] args) {
        //定义char型变量,用一对英文单引号('')包住一个字符。
        char c1 = 'a';
        //char c2 = 'ab';编译不通过。
        char c3 = '中';
        char c4 = '1';
        //也可以使用转义字符
        char c5 = '\n';
        //也可以使用Unicode值
        char c6 = '\u0043';
    }
}


常用转义字符


image.png


布尔型boolean


boolean bl1 = true;
boolean bl2 = false;


自动类型提升


当容量小的数据类型的变量与容量大的数据类型的变量做运算时,结果自动提升为容量大的数据类型,需要用容量大的数据类型变量来接收。(容量大小是说表示数的范围大小,而不是所占存储空间大小,比如long比float容量小)

byte,char,short–>int–>long–>float–>double

特别的,当byte,char,short数据类型的变量之间或自己做运算时,结果为用int型接收。


强制类型转换


格式:(目标类型)xxx

可能导致精度损失

自动类型提升顺序反过来


double d1 = 12.9;
//精度损失1
int i1 = (int)d1; //截断操作,结果为12
//没有精度损失
long l1 = 123;
short s1 = (short)l1; //结果为123
//精度损失2
int i2 = 128;
byte b1 = (byte)i2; //结果为-128(byte(-128~127)最大为127,可以简单理解为超出就循环)


注意


①整形默认是int,浮点型默认是double。

②如果long型声明时,数值结尾不加L(l)(即默认为int型),若数值不超过int范围,则编译通过,若超过int范围,则编译失败。(long<–int,long可以放得下int,因为存储空间比较大)

③如果float型声明时,数值结尾不加F(f)(即默认为double型),编译失败。(float<–double,float放不下double)

④ string类型是引用数据类型,它可以和所有基本数据类型之间做连接(+)运算,结果均为string类型。


相关文章
|
6天前
|
安全 Java
使用Java多态性进行数据类型转换
以上示范了如何通过多态性来执行安全有效地对于Java对象间相互之间进行正确方式与场合下正确格式与条件限定内对于各个层级关系内部成员及其功能调取与应有操作处理过程,并通过 `instanceof`关键字确保了程序运行期间遵循逻辑合理并符合预设规则条件限定内正常工作流程而无需担忧潜藏风险问题出现可能带来影响结果质量问题情况存在可能。
47 12
|
1月前
|
存储 缓存 算法
Java数据类型与运算符深度解析
本文深入解析Java中容易混淆的基础知识,包括八大基本数据类型(如int、Integer)、自动装箱与拆箱机制,以及运算符(如&与&&)的使用区别。通过代码示例剖析内存布局、取值范围及常见陷阱,帮助开发者写出更高效、健壮的代码,并附有面试高频问题解析,夯实基础。
|
1月前
|
安全 IDE Java
Java记录类型(Record):简化数据载体类
Java记录类型(Record):简化数据载体类
296 120
|
1月前
|
Java 测试技术
Java浮点类型详解:使用与区别
Java中的浮点类型主要包括float和double,它们在内存占用、精度范围和使用场景上有显著差异。float占用4字节,提供约6-7位有效数字;double占用8字节,提供约15-16位有效数字。float适合内存敏感或精度要求不高的场景,而double精度更高,是Java默认的浮点类型,推荐在大多数情况下使用。两者都存在精度限制,不能用于需要精确计算的金融领域。比较浮点数时应使用误差范围或BigDecimal类。科学计算和工程计算通常使用double,而金融计算应使用BigDecimal。
814 102
|
1月前
|
安全 Java 编译器
Java类型提升与类型转换详解
本文详解Java中的类型提升与类型转换机制,涵盖类型提升规则、自动类型转换(隐式转换)和强制类型转换(显式转换)的使用场景与注意事项。内容包括类型提升在表达式运算中的作用、自动转换的类型兼容性规则,以及强制转换可能引发的数据丢失和运行时错误。同时提供多个代码示例,帮助理解byte、short、char等类型在运算时的自动提升行为,以及浮点数和整型之间的转换技巧。最后总结了类型转换的最佳实践,如避免不必要的转换、使用显式转换提高可读性、金融计算中使用BigDecimal等,帮助开发者写出更安全、高效的Java代码。
128 0
|
2月前
|
存储 人工智能 JavaScript
Java中的数据类型转换
本文介绍了 Java 中常见的数据类型转换方法,涵盖字符串与整型、长整型、浮点型、布尔型及日期类型的相互转换,并讲解了可能出现的异常和处理方式。
133 0
|
Java
【java规则引擎】简单规则的rete网络示意图
一个Fact通过Session添加到规则网络中,如何进行规则匹配的大致过程如下 (1)通过根结点对象从EntryPointNode的Map集合中找到相应的EntryPointNode对象 (2)EntryPointNode对象有一个ObjectTypeNode的Map集合,把fact的class转化...
1153 0
|
12天前
|
数据采集 存储 弹性计算
高并发Java爬虫的瓶颈分析与动态线程优化方案
高并发Java爬虫的瓶颈分析与动态线程优化方案
Java 数据库 Spring
47 0
|
24天前
|
算法 Java
Java多线程编程:实现线程间数据共享机制
以上就是Java中几种主要处理多线程序列化资源以及协调各自独立运行但需相互配合以完成任务threads 的技术手段与策略。正确应用上述技术将大大增强你程序稳定性与效率同时也降低bug出现率因此深刻理解每项技术背后理论至关重要.
58 16

热门文章

最新文章