数据类型转换:

JAVA语言中要求参与计算的数据类型要保持一致,如果不一致则会发生数据类型转换,数据类型转换可分为:自动类型转换(隐式转换)和强制类型转换(显式转换)。

自动类型转换:代码不需要特殊处理,自动转换;要求数据范围从小到大(数据范围小的可以向数据范围大的转换)。

/*注意:如果注释中含中文,那么在编译时会获取操作系统的编码格式gbk,此时会报错: 编码 GBK 的不可映射字符;其中一种解决方法是在编译时指明编码格式,加-encoding UTF-8字符,如:javac -encoding UTF-8 DataType.java
*/
public class DataType{public static void main(String[] args){// 1.整数默认是int类型:System.out.println(88);//88// 2.浮点数默认是double类型:System.out.println(5.21);//5.21// 3.int类型转long类型:long类型的变量在赋值时后面要加L,但是不加也会自动加上,不会报错,如:long num1 = 5L;System.out.println(num1);//5long num2 = 5;System.out.println(num2);//5// 4.float类型可以自动转double类型,但是double类型不能被自动转换为float类型:double num3 = 5.2F;System.out.println(num3);//5.199999809265137// 5.当取值范围大的数据类型向取值范围小的数据类型自动转换时,会报错:float num4 = 5.2;System.out.println(num4);//报错:不兼容的类型: 从double转换到float可能会有损失}
}

强制类型转换:自动转换只能对取值范围小的向取值范围大的数据类型转换,若想要取值范围大的向取值范围小的数据类型转换,此时就需要强制转换对代码进行格式处理,其格式:取值小范围数据类型关键字 变量名 = (取值范围小的数据类型关键字)取值范围大的数据

数据溢出:当取值范围大的数据的值本身不是很大或很小时,可以正常转换且值不变,但是当值本身特别大或特别小时,此时会发生数据溢出,即数据增大或减小到某类型的取值范围内。

精度损失:当浮点型向整型转换时,会自动丢弃小数部分,并非四舍五入。

public class DataType2 {public static void main(String[] args){// 1.整数型默认数据类型为int:int num1 = 8;System.out.println(num1);//8// 2.long数据类型的取值范围比int数据类型的取值范围大,取值范围大的向取值范围小的自动转换时会报错,此时可以强制转换:// int num2 = 6L;// System.out.println(num2);//错误: 不兼容的类型: 从long转换到int可能会有损失// 3.强制类型转换:格式:小范围数据类型关键字  变量名  =  (小范围数据类型关键字) 取值范围大的数据int num3 = (int) 6L;System.out.println(num3);//6// 4.数据溢出:当转换后的值不在某个数据取值范围内时,会发生数据溢出(可理解为装不下)。int num4 = (int) 8888888888L;System.out.println(num4);//298954296// 5.精度损失:小数转整数时,小数部分会舍弃,并非四舍五入,只留下整数部分:int num5 = (int) 5.20;System.out.println(num5);//5// 6.byte、char、short三类型可以发生数学运算,在运算前首先会提升为int类型后在参与计算,如:char str = 'f';System.out.println(str + 1);//103,数据在计算机中是二进制储存的,二进制本身就是数字形式,// 7.BOOlean类型不能发生数据类型转换:boolean flag = false;int num6 = (int) flag;System.out.println(flag);//错误: 不兼容的类型: boolean无法转换为int}
}

ASCII编码表:

在计算机的内部都是二进制的0、1数据,为让计算机可以直接识别人类文字,于是产生了编码表的概念。

ASCII全称American Standard Code for Information Interchange ,意为:美国标准信息交换码,它只包含了美国语言中所对应的将所有的英文字母,数字,符号都和十进制数字进行了一一对应的关系,它属于Unicode(万国表)中的一部分。

public class Ascii {public static void main(String[] args){// char类型数据可以发生数学运算,运算时先提升为int类型,则可以推出a的ASCII编码:char a = 'a';System.out.println(a + 0);//97,a在计算机底层编码为:97}
}

提示:本文图片等素材来源于网络,若有侵权,请发邮件至邮箱:810665436@qq.com联系笔者删除。
笔者:苦海

java中数据类型转换、ASCII编码相关推荐

  1. Java中数据类型转换大全(个人总结)

    一.字符串转换为其他类型 1.将字符串转化为int型 (1)方法一 int i = Integer.parseInt(String str); (2)方法二 int i = Integer.value ...

  2. hadoop与java中数据类型转换

    1.hadoop数据类型转换成Java-String类型.toString();即可 2.Int类型-->IntWritable类型IntWritable i = new IntWritable ...

  3. Java基础知识强化23:Java中数据类型转换(面试题)

    1. 以下代码输出结果是( D ).                     public  class  Test   {                                       ...

  4. JAVA中数据类型转换

    自动转换 范围小的类型向范围大的类型提升 , byte.short.char 运算时直接提升为 int . byte.short.char‐‐>int‐‐>long‐‐>float‐ ...

  5. HQL语句中数据类型转换,及hibernate中createQuery执行hql报错

    一.HQL语句中数据类型转换: 我们需要从数据库中取出序号最大的记录,想到的方法就是使用order by子句进行排序(desc倒序),然后取出第一个对象,可是当初设计数据库时(我们是在原来的数据库的基 ...

  6. java中的类型转换

    今天复习了一下java的基础,重新回顾一下java中的类型转换. 一.自动类型转换 java中的数值类型都能进行自动类型的转换,表示范围小的能自动转化为表示范围大的. 总的来说如下图: 还有一种自动转 ...

  7. Python数据分析中数据预处理:编码将文字型数据转换为数值型

    [小白从小学Python.C.Java] [Python-计算机等级考试二级] [Python-数据分析] Python数据分析中 数据预处理:编码 将文字型数据转换为数值型 选择题 对于以下pyth ...

  8. java中char类型转换成int类型的两种方法

    java中char类型转换成int类型的两种方法 方法一: 第一种利用Integer包装类的方法Integer.parseInt Copychar ch = '9'; if (Character.is ...

  9. opengl中的Floatbuffer和IntBuffer与java中数据的存储方式不同的解决方法,编辑一个自己的BufferUtil工具类

    opengl中的Floatbuffer和IntBuffer与java中数据的存储方式不同的解决方法,编辑一个自己的BufferUtil工具类 参考文章: (1)opengl中的Floatbuffer和 ...

最新文章

  1. linux下遇到的小问题与解决方法
  2. sdcms的一个bug,总是提示,该文件不允许被上传
  3. C#读取与修改XML文档
  4. python输出一个数的每一位_Python练习实例88 | 读取7个数(1—50)的整数值,每读取一个值,程序打印出该值个数的*。...
  5. linux安装tomcat Neither the JAVA_HOME nor the JRE_HOME environment variable is defined
  6. 汇编语言学习系列 for循环实现
  7. css动画改变高度有过渡效果,css3-形变、过渡、动画
  8. web入门,这些必须掌握!!!
  9. JS获取浏览器滚动条的宽度
  10. 通过ida dump Uinity3D的加密dll
  11. 拓端tecdat|回归树模型分析纪录片播放量影响因素|数据分享
  12. Rust : future库
  13. 【电大题酷】【5】2269个人与团队管理
  14. gst-example
  15. 王之泰201771010131《面向对象程序设计(java)》第一周学习总结
  16. frp frpc,frps开机自动运行 ubuntu
  17. 利用 node.js 云函数解密获取微信小程序的手机号码等加密信息 encryptedData 的内容。
  18. pygame用blit()实现动画效果
  19. STM32+PN532写UltraLight标签
  20. 常见竖屏设备屏幕宽高比

热门文章

  1. MySQL 修改视图
  2. java某个类避免findbug检查_Findbug插件静态java代码扫描工具使用
  3. 错误处理方法 java_JAVA常见错误处理方法 和 JVM内存结构
  4. kali linux子远程桌面,适用于kali linux的远程桌面开启方法(从windows xp 远程登录到kali linux )...
  5. JAVA中增强循环中用线程_在Java中以循环方式运行线程
  6. python图像质量评价_OpenCV图像质量评价的SSIM算法(图像相似度)
  7. python3 week4
  8. 数据结构-哈希与映射
  9. ●BZOJ 1855 [Scoi2010]股票交易
  10. 自动轮播与按钮的联动