基本数据类型(原生类、内置类型)8种:

整型(默认int):byte(1个字节)、short(2个字节)、int(4个字节)、long(8个字节)

浮点类型(默认double):float(4个字节)、double(8个字节)

字符型:char

布尔型:boolean

另外有四种常用但不属于基本数据类型:数组、String、自定义类、接口。

数据类型转换有两种形式:1.隐式转换2.显式转换

隐式转换指从低级类型向高级类型的转换,系统将自动执行,我们不需要做任何操作的。那么什么算高级?什么算低级?占字节数大的属于高级,占字节数少的算低级。比如在整型中,int比short所占字节要多,那么我们在把short转为int时,系统可以自动转换。如:

int a;

short b=4;

a=b;

System.out.print(a);

我们可以这样理解,把一个能装2个鸡蛋的篮子short里的鸡蛋倒入和另一个能装4个鸡蛋的int篮子,这样做是绝对可行的,所以系统是自动执行。

显式转换(强制类型转换)指高级类型向低级类型转换,格式:(类型名)要转换的值

如果把int篮子里的鸡蛋倒入short篮子这个时候就会出现编译错误,需要进行显式转换的书写,如下:

int a=4;

short b;

b=(short) a;

System.out.print(b);

在这时需要注意一点,short的数值范围是:-32768 - 32767,而int范围是-2147483648-2147483647,如果我们给int赋一个大于short最大值而小于int最大值时,比如40000,然后再进行显式赋值给short,这时运行系统比过不会报错,输出的short值并不是之前int的值,精度已经丢失,所以我们一定要注意!

long型(8字节)为什么能自动转成float型(4字节)

刚才在整型之间转换时举了一个鸡蛋和篮子的例子,但是我们发现,如果整型转浮点型时,那么哪个是高级,哪个是低级呢?难道还是要看字节数吗?答案是不是的。在这里,我们把浮点型作为高级,整型作为低级的,也就是说,即使是8个字节的long型转4个字节的float型,那么我们也不需要显式转换,那么这是为什么呢?

这是因为二者在内存中的存储形式不同。

long整型数,在内存中占用8个字节共64位,它表示的数值有2的64次方,平分正负,数值范围是负2的63次方到正2的63次方-1。

float在内存中占4个字节,共32位,但是浮点数在内存中是这样的:V=(-1)^s * M * 2^E,浮点数的32位不是简单的直接表示大小,而是按照一定的标准分配的。其中第1位,符号位,即S。接下来的8位,指数域,即E。剩下的23位,小数域,即M,M的取值范围为[1,2)或[0,1)。也就是说,浮点数在内存中的二进制值不是直接转换为十进制数值的,而是按照上述公式计算而来,通过这个公式,虽然只用到了4个字节,但是浮点数却比长整型的最大值要大。 这也就是为什么在数据转换的时候,long类型转换为float类型的根本原因所在。

字符型与整型之间的相互转换

我们没有能将char型一步转为整型的方法,需要先转为String型进行过渡,然后再从String转为整型。

char ch='2';

int a;

a=Integer.parseInt(Character.toString(ch));

System.out.println(a);

运行结果:2

整型转为char型:

int a=22;

char[] ch;

String b=String.valueOf(a);

ch=b.toCharArray();

for(char c:ch){

System.out.println(c);

运行结果:2

2

char转String小技巧

String str;

char ch ='a';

str=ch+"";

在char变量后直接加“”即可转换为String哦~。

java 原生数据类型的转换_Java基本数据类型转换分析相关推荐

  1. java整数能强转转字符,Java中数据类型默认转换和强制类型转换

    默认转换: a:由低到高一次为:(byte   short    char  )---int ---long ---float --- double b:注意:byte   short    char ...

  2. ​​​​​​​Java 基本数据类型的转换

    基本数据类型转换 Java 中数据类型的转换有两种: 1.自动转换: 2.强制转换. Java 中整型和浮点型按照范围从小到大: byte -> short -> int -> lo ...

  3. java原生类型没有封装_Java基本数据类型与封装类型详解(int和Integer区别)

    Java基本数据类型与封装类型详解(int和Integer区别) 发布于 2020-4-19| 复制链接 摘记: int是java提供的8种原始数据类型之一.Java为每个原始类型提供了封装类,Int ...

  4. java基本数据类型的标识符_java基础(一)-标识符、变量、基本数据类型及转换、运算符及表达式...

    一.标识符 二.关键字 三.JAVA基础数据类型 3.1.常量 3.2.变量 从本质上来讲,变量其实是内存里面的一小块区域,一个程序在运行的时候,实际上这个程序是位于内存里面,然后才开始运行.一个.e ...

  5. java类型之间的转换_JAVA基本数据类型及之间的转换

    一.数据类型 1.布尔型(boolean) :true/false,不可以以0或非0的数字代替:不能进行数据之间的转换. 2.整数类型 ** 整型默认为int型,而long类型表示的范围要超出int表 ...

  6. java赋值运算的类型转换出新的问题_学习Java基本数据类型与转换++,--等问题总结...

    java中的数据类型java有4种类型分别是整数类型.浮点类型.字符型.布尔型.java的八中分类分别是byte.short.int.long.float.double.char.boolean简称4 ...

  7. Java基础数据类型二进制转换

    Java基本数据类型与表示范围(boolean忽略) 1,byte(整型):8位,short(整型):16位,char(字符型):16位,int(整型):32位,float(浮点型单精度):32位,l ...

  8. java中数据类型的等级_Java 数据类型、变量

    Java 数据类型 在 Java 中,对于每一种数据都定义了明确的具体的数据类型,在内存中分配了不同大小的内存空间. 整数类型 (byte.short.int.long) 1.Java 各整数类型有固 ...

  9. Java中数据类型 + 强制转换

    数据类型有: 数据类型 字节数 默认值   包装类 案例 byte   1字节   0 Byte byte b =10; short  2字节  0 Short short s=10; int 4字节 ...

最新文章

  1. 听说你有10年的工作经验?还是你把1个经验反复用了10年?
  2. ZVM – 记VMP保护代码还原工程
  3. Windows 下面 redis 发布为服务的官方方法
  4. win7删除计算机库文件,win7怎么将“库”从资源管理器导航栏中删除【图文】
  5. 计算机三级考试题库网络,计算机三级网络试题及答案解析
  6. Jquery中使用SweetAlert使弹窗更漂亮
  7. .net随笔-vb.net Accord.Net机器学习之贝叶斯分类
  8. 大分区表高并发性能提升100倍?阿里云 RDS PostgreSQL 12 解读
  9. 解构产品经理的技术思维
  10. web前端学习:1分钟了解JavaScript基础语法规则
  11. PYQT5+PYTHON杂谈
  12. ETC passwd 用户和组管理
  13. 用CSS样式如何制作圆角的详细教程
  14. react 拆分组件于组件
  15. Cuda Graph (cuda 优化)
  16. XcodeGhost:墙、感染、信任和欺骗
  17. C++ 逆向笔记12 call和堆栈平衡
  18. Paper Notes: Cross-Domain Image Translation Based on GAN
  19. IO流---Reader和Writer
  20. 安卓版本与adb的问题

热门文章

  1. 华为云IoT提出泛在新联接,让万物皆可联
  2. python 判断目录和文件是否存在,若不存在即创建
  3. gitHub使用记录
  4. python数据类型转换方法列表
  5. eclipse插件的发布
  6. Elasticsearch java客户端调用cat服务
  7. 区块链在天猫国际商品溯源中的应用
  8. spark源码解析之scala基本语法
  9. [Security] Automatically adding CSRF tokens to ajax calls when using jQuery--转
  10. nginx 学习笔记(5) nginx调试日志