`

java类型转换

阅读更多

基础:

byte (1个字节)

short(2个字节)

int(4个字节)

long(8个字节)

char(2个字节)

float(4个字节)

double(8个字节)

boolean(1位)

char型的前256个字符('\u0000'-'\u00FF')与ASCII码中的字符完全重复

'0' - '9'对应 48-57

'a' - 'z‘ 对应 97-122

'A'-'Z' 对应 65-90

1.隐式转换(类型自动提升)

char---|

|----->int --->long--->float--->double

byte-->short---|

byte b = 0;
short sh = b;
char ch = '我';
int j = ch;
int i = b;
long l = i;
float f = i;
double d = f;

char ch = '我';
char ch2 = 97;
char ch3 = 20202;
char ch4 = 0xffff;
char ch5 = 48;
System.out.println(ch);
System.out.println(ch2);
System.out.println(ch3);
System.out.println(ch4);
System.out.println(ch5);

2.强制类型转换

经典笔试题:short s1 = 1;s1 = s1+1;是否有错误? short s1 = 1;s1 += 1;是否有错误?

前者编译报错;前者s1+1返回一个int型,需要强制类型转换.即short s1=1;s1=(short)(s1+1);

后者正确。原因是:虚拟机会自动处理成s1=(short)(s1+1);

面试题:不用Integer.parseInt(StringVar),将字符串转换为整形;

char ch = StringVar.charAt(i);

int result = ch - '0';

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics