数据的类型转换:
分为两种转换方式:自动类型转换 强制类型转换
自动类型转换遵循从低类型到高类型:
eg:byte->short->int->long->float->double
char->int->long->float->double
转换的规则:
eg: double a=10;//10为整型值,定义的为浮点类型,因此从int 转换为double 为自动化转换
但是,int a=9.9;//9.9为浮点类型值,定义的是整型,则从高类型转换为低类型,会发生数据丢失,此时就是强制类型转了,按此方法会报错。
强制类型转换的表示方法:int a=(int)9.9
算术运算符:
提一点除法的运算:
eg:定义两个整型数8和5,直接输出8/5应等于1.6
但是,因为两个整数参与运算,结果也会取整(不会四舍五入)
如果要得到完整的结果只需改成8.0/5。
ASCII的简单记忆:
'A' --> 65 A-Z连续
'a'--> 97 a-z连续
'0'-->48 0-9连续
算术表达式包含多个数据类型时,整个算术表达式类型的提升规则:
byte ,short , char 提升为int(特别)
byte,short,char->int->long->float->double ---参与运算的类型级别越高就定义成谁的
把结果类型改为其中的一个都不对,
另外的:如果算术表达式为:3.14+2+'A'这种,类型就算当中最高的数据类型,即double类型
sum类型可以是float吗? 不行
ps:如果定义的sum结果的类型级别比其中最高的都高(或者低),则涉及到类型转换了。