`
lg70124752
  • 浏览: 59699 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

System.out.println((int)(char)(byte)-1) 输出为65536

    博客分类:
  • java
 
阅读更多
 这里有一条简单的规则能够描述从较窄的整形转制钱成较宽的整型时的符号扩展行为:如果最初的数值类型是有符号的,那么就执行符号扩展;如果它是char,那么不管它将要被转换成什么类型,都执行零扩展。
 因为byte是一个有符号的类型,所以将byte数值-1转换成char时,会发生符号扩展。作为结果的char数值的16个位就都被置位(0)了,因此它等于2^16-1,即65536。从char到int的转型也是一个拓宽原始类型转换,所以这条规则告诉我们,它将执行零扩展而不是符号扩展。作为结果的int数值也就成了65536.
分享到:
评论

相关推荐

    Java自学路上的一些实用代码.zip

    System.out.println("byte型与int型数据进行运算结果为:"+(mybyte*myint)); System.out.println("byte型与char型数据进行运算结果为:"+(mybyte/mychar)); System.out.println("double型与char型数据进行运算...

    EmvReader Java Code

    System.out.println(" example4> paySmartTest 1 A0000000041010 10.2.1.1 887"); System.out.println(""); System.out.println("#ERROR# Invalid Params"); System.exit(1); // throw new Exception( ...

    java培训教程教学课件

    System.out.println("0x80000000>>>1 = " + Integer.toHexString(y)); } } 《Java就业培训教程》P61源码 程序清单:TestDo.java public class TestDo { public static void main(String[] args) { int x=3; ...

    Java的8大基本数据类型.pdf

    // 以数值形式⽽不是字符形式将Character.MIN_VALUE输出到控制台 System.out.println("最⼩值:Character.MIN_VALUE=" +(int)Character.MIN_VALUE); // 以数值形式⽽不是字符形式将Character.MAX_VALUE输出到控制台...

    IO输入输出留

    System.out.println("获得最后一次修改时间:"+f.lastModified()); System.out.println("文件字节量:"+f.length()); System.out.println("是否是目录:"+f.isDirectory()); System.out.println("是否是文件...

    Java面向对象程序设计实验指导代码.docx

    byte age=【代码 2】 //从键盘为 age 赋值 System.out.println(" 输入身高 (回车确认 ):"); float height= 【代码 3】 // 从键盘为 height 赋值 System.out.printf("%28s\n","-- 基本信息 --"); System.out.printf...

    汉字转拼音

    //导入的jar包 ... System.out.println(getPinYinHeadChar("西安市2曹阳区- -马家屯")); // 返回拼音的首字母 System.out.println(getCnASCII("西安市2曹阳区- -马家屯")); // 返回拼音的ASCII } }

    java io InputStream and outputStream

    byte[] cont = new byte[(int) file1.length()]; is.read(cont);// 读取文件 for (int i = 0; i < cont.length; i++) { System.out.print((char) cont[i]); } is.close();// 关闭文件 ...

    JAVA就业培训教程各章源代码

    JAVA就业培训教程第2~11章源代码 《Java就业培训教程》 作者:张孝祥 书中原代码 ... System.out.println((f * b) + " + " + (i / c) + " - " + (d * s)); System.out.println("result = " + result); }

    MD5加密测试_java类

    System.out.println(ex.toString()); // ex.printStackTrace(); } } public String compute() { char[] charArray = this.inStr.toCharArray(); byte[] byteArray = new byte[charArray.length]; ...

    java在cpu的占有率

    System.out.println(user + " , " + system + " , " + nice); user = user.substring(0, user.indexOf("%")); system = system.substring(0, system.indexOf("%")); nice = nice.substring(0, nice...

    JAVA基础之java的移位运算

    A 0 1 0 1 B 0 0 1 1 A | B 0 1 1 1 A & B 0 0 0 1 A ^ B 0 1 1 0 ~A 1 0 1 0 按位非(NOT) 按位非也叫做补,一元运算符NOT“~”是对其运算数的每一位取反。例如,数字42,它的二进制代码为: 00101010 经过...

    java发送短信之AT指令

    System.out.println("System Message: 成功删除存储位置为" + index + "的短信......"); } } catch (Exception ex) { ex.printStackTrace(); } return true; } /** * 删除短信中所有短信 * @return ...

    java经典面试2010集锦100题(不看你后悔)

    (1)public class CharToInt (2){ (3) public static void main(String[] args) (4) { (5) int a,b=10; (6) char c='语'; (7) a=b+c; (8) System.out.println("结果是:"+a); (9) } (10)} ...

    编程技能训练与等级考试辅导第1-30套试题.docx

    System.out.println("a1="+a1); System.out.println("n1="+n1); System.out.println("f1="+f1); System.out.println("d1="+d1); } } 简单应用题 import java.util.Random; public class Java_2 { public static void...

    达内客户端+聊天室源码

    System.out.println(response.getFirstHeader("Cookie")); // 读取返回数据信息 String str = EntityUtils.toString(response.getEntity()); return str; } catch (ClientProtocolException e) { ...

    Java测试题2答案

    <br> public static void main(String a[])  {  System.out.println(arr[1]);  } } 那个语句是正确的? A 编译时将产生错误; B 编译时正确,运行时将产生错误; C 输出零; D ...

    java代码获取myeclipse注册码.txt

    System.out.println("please input register name:"); BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); String userId = null; userId = reader.readLine(); MyEclipseGen...

    Java面向对象程序设计试题一.doc

    public static void main(String a[]) { System.out.println(arr[1]); } } 那个语句是正确的? ( ) A 编译时将产生错误; B 编译时正确,运行时将产生错误; C 输出零; D 输出空。 9、哪个关键字可以对对象加...

    北交《JAVA语言设计》在线作业二.docx

    C.1, 2 D.1, 1 答案:B 13.下面语句执行后,i 的值是( )。for( int i=0, j=1; j ; j+=3 ) i=i+j; A.7 B.6 C.5 D.4 答案:C 14.下列程序段的输出结果是 ( )。 public class operatorsandExpressions{ void stringPlus...

Global site tag (gtag.js) - Google Analytics