System.out.println((int)(char)(byte) -1); 结果是?

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/pmcasp/article/details/80746598

  去eBay面试的时候问到的问题,回答错了,被面试官三次怼到“Java基础薄弱”。emmm……写程序跑了一下,结果是65535.




第一步:int类型的-1强转为byte类型 还是-1

第二部:byte类型的-1转化为char,由ascii码表,-1是不在表范围之内,因为默认char占2个字节,即8个bit,所能存的最大值是65536个,所以char的数字范围是0-65535,把-1转为char,会倒着找,就是最大值65535,

第三步:char类型的65535转换为int还是65535


猜你喜欢

转载自blog.csdn.net/pmcasp/article/details/80746598
今日推荐