基本数据类型的类型转换和编码表

在java中数据类型分为2大类:
1,基本数据类型:8种
2,引用数据类型:(类类型,数组,接口)
基本数据类型中的字符型char的码表:
char中的字符和数字之间可以相互转换,char中有0-65535个数字,也对应65535个字符
编码表:就是数字和字符一一对应的一张表
1946年,计算机诞生于美国的宾夕法尼亚大学,重达30吨,秒次的计算次数是5000次,也就是一秒计算5000次
1s=1000ms
1ms=100万纳秒
char中的字符和数字之间可以相互转换,char中有0-65535个数字,也对应65535个字符
编码表:就是数字和字符一一对应的一张表
1946年,计算机诞生于美国的宾夕法尼亚大学,重达30吨,秒次的计算次数是5000次,也就是一秒计算5000次
1s=1000ms
1ms=100万纳秒
最早的计算机应用与导弹的运行轨迹,一般新技术都是先用于军事,再用于科研,然后才是个人应用。
最早是美国制作了一张码表 Ascii(美国标准信息交换码)包含一些字母,数字,字符总共是128个。
随着计算机的普及Gb2312码表,中国人发明的,里面不仅包含了Ascii里面的所有字符,还包含一些简体中文。
后来中国又有了Gbk(国标扩展码):又添加了繁体字。
再到后来中国的Gb18030:添加了少数民族的字符,维吾尔族,回族,藏族等各个名族的字符。 日本人为了发展计算机又发明了sjis。
美国又站出来,unicode码表,包含全球所有国家的常用字符,基本成为全球统一的编码表,是 1994年发明的
后来美国的Uft-8,包含了全球所有文字,字符。
但是我们java中默认使用的是unicode码表,因为当时java出来时unicode是最流行的编码表。所以才用的它。
码表(char中的数字和字符之间对应的关系)
基本的几个码表:

在这里插入图片描述
设计程序打印0-65535数字对应的字符,此程序用一个循环语句,其中程序运行后显示的问号表示此操作系统不识别有些字符

在这里插入图片描述
在这里插入图片描述

类型转换(只发生在基本数据类型里)
自动类型转换:(小范围往大范围转)
表达式中有long,结果就是long类型
表达式中有float,结果就是float类型
表达式中有double,结果就是double类型
其余全为int类型
下面程序没有long,float,double,就自动转换为int类型,如果有他们其中一个,就自动转换为其类型:
在这里插入图片描述
在这里插入图片描述
强制类型转换(大范围往小范围转)转换成自己想要的类型
如果一个程序里面有long和float同时存在,long(8个字节)的范围比float(4个字节)大,但是转换的时候还是转换为float类型,这是因为long中64位中除了第一位是符号外,其他63位都参与运算,但是float中(32位)中拿出来8位存放指数,所以是损失了精度,换来了范围。double也一样。
如果大范围给小范围转,会编译报错,因为高位截断,损失精度,大范围给小范围装不下。
为甚要有类型转换?
因为一个表达式在进行运算时,操作数的数据类型必须一致才能运算,否则就不能编译通过
在这里插入图片描述
上面输出的(i==ii)是ture,因为float保留7位有效数字

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值