首页 > 编程知识 正文

字符串和ascii关系,汉字的ascii码表

时间:2023-05-03 20:31:55 阅读:159779 作者:4369

Java程序要求参加的计算的数据,必须保证数据类型的完整性,如果数据类型不一致,则数据类型变换1.1 自动转换

将一个int型变量和一个byte型变量相加,会变成什么样的数据类型?

int i=1;

byte b=2;

运算的结果是变量的类型为int型。 这就是数据类型的自动类型转换现象。

自动转换:自动将取值范围小的类型提升为取值范围大的类型。

代码如下所示

publicstaticvoidmain (string [ ] args ) {int i=1; byte b=2; //byte x=b i; //错误//int型和byte型的运算结果为int型int j=b i; system.out.println(j ); }转换原理图

byte型存储器占用1个字节,如果运算为int型,则升级为int型,自动补充3个字节,所以计算的结果还是int类

类型。

同样,对int和double变量进行运算时,int类型会自动升级为double类型进行运算。

代码如下所示

publicstaticvoidmain (string [ ] args ) {int i=1; double d=2.5; //int型和double型的运算结果表明,double型//int型为double型double e=d i; system.out.println(e; }转换规则

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

字节、短字节、字符- -长整型- -浮点型- -双精度

1.2 强制转换

将1.5代入int型变量会发生什么? 编译失败了。 无法分配值。

int i=1.5; //错误

双精度型存储器为8字节,int型存储器为4字节。 1.5是双精度类型,值的范围大于int。 double可以理解为8升水壶,int可以理解为4升水壶。 大水壶里的水不能直接放进小水壶里。

想要赋值成功,只有通过强制类型转换,将 double 类型强制转换成 int 类型才能赋值。

强制类型转换:将 取值范围大的类型 强制转换成 取值范围小的类型 。

另一方面,自动转换由Java自动执行,但强制转换必须自己手动执行。

转换格式:

数据类型变量名=(数据类型)转换后的数据值

将1.5指定给int类型,然后将代码更改为:

//double型数据强制转换为int型,直接去除小数点。

intI=(int ) 1.5;

同样,我们知道将1加到一个短类型会提高类型,但是如果尝试将结果代入短类型变量,则必须强制转换。

publicstaticvoidmain (string [ ] args ) {//short类型变量,内存中2字节的short s=1; /*编译失败的s和1进行运算时,1是int型,s是升级为int型s 1的结果是int型,将结果代入short型时发生错误,short存储器必须转换为2字节,int型4字节必须将int强制转换为short //编译失败的s=(short ) ) s 1; //编译成功}转换原理图解

请注意,如果浮点转换为整数,并且小数点被撤消,则可能会影响数据的精度。 如果int强制转换为short并截断2个字节,则可能会丢失数据。

//s定义为短范围内的最大值

短s=32767;

//运算后,强制转换,砍掉2字节会产生不确定的结果

s=(short ) ) s 10;

1.3 ASCII编码表

publicstaticvoidmain (string [ ] args )//字符类型变量char c='a '; int i=1; //字符类型和int类型计算system.out.println(cI ); //输出结果98}在电脑内部是二进制的0、1数据,如何使电脑能够直接识别人类的文字? 编码表的概念应运而生。

编码表:是指把人类的文字和十进制对应起来形成一张表。

人们规定如下

由于所有字母、数字和符号都与十进制对应,因此产生了世界上第一个代码表ASCII (美国标准信息交换代码)。

贴标机:在char型和int型的计算过程中,char型字符首先查询码表,得到97,与1相加,结果为98。 改进的char类型

为了int类型。 char型存储器是2字节,int型存储器是4字节。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。