数据类型转换

文章目录

基本数据类型(primitive type)

整数类型:

​ byte占1个字节范围:-128-127

​ short占2个字节范围:-32768-32767

​ int占4个字节范围

​ long占8个字节范围

浮点类型

​ float占4个字节

​ double占8个字节

字符类型

​ char占2个字节(本质还是数字)

boolean类型

​ boolean占1位,其值只有true和false两个

类型转换

由于java是强类型语言,所以进行有些运算的时候,需要用到类型转换

低 -------------------------------------------------------------> 高

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

运算中,不同类型的数据先转化为同一类型,然后进行运算

  • 强制类型转换 (类型)变量名 高->低
  • 自动类型转换 低->高

类型转换注意点

  1. 不能对布尔值进行转换
  2. 不能把对象类型转换为不相干的类型
  3. 在把高容量转换到低容量的时候,要使用强制转换
  4. 转换的时候可能存在内存溢出,或者精度问题
java 复制代码
public class demo01 {
    public static void main(String[] args) {
//        操作比较大的数的时候,注意溢出问题
//        JDK7新特性,数字之间可以用下划线分割
        int money = 10_0000_0000;
        int years = 20;
        int tatal1 = money * years;
        System.out.println(tatal1); // -1474836480,计算的时候溢出了
        long tatal2 = money * years;
        System.out.println(tatal2); //-1474836480,赋值前,已经默认转换成int了
        long tatal3 = money*((long)years); // 先把一个数转换成long
        System.out.println(tatal3); // 20000000000
    }
}
相关推荐
没有bug.的程序员几秒前
服务网格 Service Mesh:微服务通信的终极进化
java·分布式·微服务·云原生·service_mesh
_OP_CHEN7 分钟前
C++基础:(十二)list类的基础使用
开发语言·数据结构·c++·stl·list类·list核心接口·list底层原理
南尘NCA86663 小时前
企业微信防封防投诉拦截系统:从痛点解决到技术实现
java·网络·企业微信
ONE_PUNCH_Ge3 小时前
Go 语言变量
开发语言
幼稚园的山代王3 小时前
go语言了解
开发语言·后端·golang
晚风残3 小时前
【C++ Primer】第六章:函数
开发语言·c++·算法·c++ primer
满天星83035773 小时前
【C++】AVL树的模拟实现
开发语言·c++·算法·stl
怪兽20144 小时前
SQL优化手段有哪些
java·数据库·面试
weixin_456904274 小时前
基于.NET Framework 4.0的串口通信
开发语言·c#·.net