`
lg70124752
  • 浏览: 61569 次
  • 性别: 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.
分享到:
评论

相关推荐

    javaSystem.out.println()输出byte[]、char[]异常的问题详析

    在这段代码中,`System.out.println(b)`实际上是调用`b.toString()`,因为`b`是`byte[]`类型,而`byte[].toString()`返回的是数组的内存地址,这就是为什么你会看到类似`[B@7adf9f5f`这样的输出。而`System.out....

    Java 中 char 与 byte 的区别

    ### Java中的char与byte的区别详解 #### 一、引言 在Java编程语言中,`char` 和 `byte` 是两种基本的数据类型,它们分别用于处理字符和数值数据。尽管这两种类型都用来存储数据,但它们之间存在着显著的差异。本文...

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

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

    01-java基础-基本数据类型.docx

    System.out.println(max + 1); // 最大值+1=最小值 System.out.println(max + 2); // 最大值+2=次最小值 System.out.println(min - 1); // 最小值-1=最大值 } } ``` 通过调整数据类型,我们可以避免溢出问题: ...

    2016年java基本数据类型介绍.docx

    System.out.println("基本类型:byte 二进制位数:" + Byte.SIZE); System.out.println("包装类:java.lang.Byte"); System.out.println("最小值:Byte.MIN_VALUE=" + Byte.MIN_VALUE); System.out.println(...

    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面试题解惑系列114页.pdf

    - **基本类型(内置类型)**:Java有8种基本类型,包括byte, short, int, long, float, double, char, boolean,它们不具有类的特性,没有继承关系。 - **继承、多态、重载和重写**:继承允许一个类(子类)继承另...

    day03-switch&循环语句1

    - `表达式`:一个可以返回基本类型(byte, short, char, int)或枚举类型的值。 - `case 常量n`:一系列可能的值,程序会与表达式的结果进行比较。如果匹配,则执行对应的语句块。 - `break`:一旦执行到break,程序...

    java基础知识编程编程资料

    - 在JDK 1.7之前: `int`, `short`, `byte`, `char` - 从JDK 1.7开始: 还可以是`String` **2. 实际应用示例** **示例1: 星期转换** ```java Scanner sc = new Scanner(System.in); System.out.print("请输入1-5:...

    java的几个例子

    System.out.println("byte 变量 month 的值为 " + month); System.out.println("short 变量 x,m,n 的值为 " + x + "\n" + m + "\n" + n); System.out.println("int 变量 y 的值为 " + y); System.out.println(...

    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基础入门:掌握基本语法与概念2024最新0基础!!!易懂!!!.md

    System.out.println("Result1: " + result1); System.out.println("Result2: " + result2); System.out.println("Result3: " + result3); } } ``` 6. **控制流程** 控制流程结构允许根据条件或循环进行程序...

    Java 自学宝典 第二章 数据类型

    System.out.println(num1.equals(num2)); // 输出 true ``` ##### 2.6.13 Equivalence `Integer` 对象之间的等价性通过 `equals` 方法来判断。 ```java Integer num1 = 10; Integer num2 = 10; System.out....

    java输入输出语句.doc

    System.out.println("您输入的是: " + (char)input); } } ``` 2. **使用 `BufferedReader`**: - `BufferedReader` 是 `InputStreamReader` 和 `BufferedReader` 的组合,可以用来读取一行或多行文本。 - ...

    Java入门基本知识

    基本数据类型包括整型(byte, short, int, long)、浮点型(float, double)、字符型(char)和布尔型(boolean)。这些类型的值是直接存储在内存中的,占用固定大小的内存空间。引用数据类型包括类(class)、接口...

    java孔维艳.pdf

    System.out.println("Boolean data bool1=" + bool1); System.out.println("Boolean data bool2=" + bool2); } } ``` 【流程控制与覆盖】 实验二涉及操作符的使用、流程控制结构(如if、for、while等)以及方法...

    Java基础笔记

    - **控制台输出**:使用`System.out.println()`方法来打印输出。例如: ```java System.out.println(i); ``` ### 类和对象 - **类**:是Java中的一个基本概念,它定义了一组具有相同属性和行为的对象。例如: ...

    Java 成员初始化要注意的两种不同的情况

    System.out.println("char " + c); System.out.println("byte " + b); System.out.println("short " + s); System.out.println("int " + i); System.out.println("long " + l); System.out.println("float " +...

Global site tag (gtag.js) - Google Analytics