码迷,mamicode.com
首页 > 其他好文 > 详细

数据类型转换

时间:2019-12-11 17:08:36      阅读:102      评论:0      收藏:0      [点我收藏+]

标签:png   double   http   代码   play   byte   进制   and   none   

  1 package com.java.demo;
  2 
  3 public class Demo_1 {
  4     public static void main(String[] args){
  5         int i = 1;
  6         byte b = 2;
  7         //byte x = b + i; 会报错
  8         //int类型和byte类型运算,结果是int类型
  9         int c = b + i;
 10         System.out.println(c);
 11     }
 12 }

1、自动类型转换

  1、特点:代码不需要进行特殊处理,自动完成

  2、规则:数据范围从小到大

  转换规则

    范围小的类型向范围大的类型提升,byte、short、char运算时直接提升为int

  1 byteshortchar --> int --> long --> float --> double

2、强制转换

  1. 特点:代码需要进行特殊的格式处理,不能自动完成;

  2. 格式:范围小的类型 范围小的变量名 = (范围小的类型)原本范围大的数据;

  3. 一般不推荐使用,因为有可能发生精度损失、数据溢出;

  4. byte/short/char这三种类型都可以发生数学运算。

  例子:

  1 int num = (int) 100L;
  2 System.out.println(num);

注:

  - 浮点转成整数,直接取消小数点,可能会造成数据损失精度

  - int强制转成short砍掉两个字节,可能造成数据损失

  1 //定义z为short范围内最大值
  2         short z = 32767;
  3         //运算后,强制转换,砍掉2个字节后会出现不确定的结果
  4         z = (short)(z + 10);
  5         System.out.println(z);

3、ASCII编码表

  1 	//字符类型变量
  2     char w = ‘a‘;
  3     int i1 = 1;
  4     //字符类型和int类型计算
  5     System.out.println(w + i1);//输出结果为98

- 编码表:就是将人类的文字和一个十进制数进行对应起来组成一张表格

技术图片

    - 将所有的英文字母,数字,符号都和十进制进行了对应,因此产生了世界上第一张编码表ASCII(American Standard Code for Information Interchange美国标准信息交换码)。

  在char类型和int类型计算的过程中,char类型的字符线查询编码表,得到97,在和1求和,结果为98。char类型提升为了int类型

数据类型转换

标签:png   double   http   代码   play   byte   进制   and   none   

原文地址:https://www.cnblogs.com/nan-qiu/p/12023555.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!