package com.yuan.test; public class Autogrew { public static void main(String[] args) { // 保存 short 可取的最大值的常量,最大值为 215-1。(32 767) // 保存 short 可取的最小值的常量,最小值为 -215。(-32 768) short s1=11278; s1+=1; //s1=s1+1;//报错 自动会转换成int 类型 System.out.println(s1); // 值为 2 31次方-1 的常量,它表示 int 类型可以表示的最大值。 // 值为 -2 31次方 的常量,它表示 int 类型可以表示的最小值。 //一个常量,保存 byte 类型可取的最大值,即 2 7次方-1。(127) //一个常量,保存 byte 类型可取的最小值,即 -2 7次方。(-128) } }
对于 short s1 = 1; s1 = s1 + 1;因为 s1+1 运算时会自动提高表达式的类型,因此结果是 int
型,再赋值给 short 类型 s1 时, 编译器将报告须要强制转换类型的错误。
对于 short s1 = 1; s1 += 1;因为 +=是 java 语言规定的运算符, java 编译器会对它进行特殊
处理,所以能够正确编译。
java
2、 char 型变量中能不能存贮一个中文汉字?为何?
char 型变量是用来存储 Unicode 编码的字符的, unicode 编码字符集中包含了汉字,因此,
char 型变量中固然能够存储汉字啦。不过,若是某个特殊的汉字没有被包含在 unicode 编
码字符集中,那么,这个 char 型变量中就不能存储这个特殊汉字。 补充说明: unicode 编
码占用两个字节,因此, char 类型的变量也是占用两个字节。
备注:后面一部分回答虽然不是在正面回答题目,可是,为了展示本身的学识和表现本身对
问题理解的透彻深刻,能够回答一些相关的知识,作到知无不言,言无不尽。
编码