《疯狂JAVA讲义》之十——Java基本数据类型之一
2017-05-02 22:25
274 查看
看例子。
package com.huateng.mjq.chapter3; /** * Java PrimitiveType excise * @author Administrator * */ public class PrimitiveType_1 { /* 运行结果如下: -128 2147483647 -2147483648 999999999999999 *分析:a,b将小于等于127(byte所能表示的整形数组范围:-128---127)赋值正常,是因为系统会自动将在byte表示范围内的整数作byte类型的值来处理。 *c 将一个128(int型)赋值给byte类型的变量,需要进行强制转型,强转过程请自行分析(整型128二进制表示为0000....00010000000,一共32位, *但是byte只有8位,所以这里需要进行截断处理,只剩下低8位——10000000,这个值符号位是1,即负数,负数使用补码表示,而补码-0所表示的数就是-128) *e:在进行运算时,整型所能表示的最大值赋给long型时做了自动类型转换 *f:右侧表达式的计算结果为整型,但是计算结果的值超出了整型所能表示的最大范围,所以产生了溢出,请自行分析 *g:右侧数值超出整型范围,编译不能通过 *h:右侧数值后加上L,表示该数值类型为long型 * * * * */ public static void main(String [] args) { test1(); } public static void test1() { byte a = 56; byte b = 127; byte c =(byte) 128; long d = 99999; long e = Integer.MAX_VALUE; long f = Integer.MAX_VALUE+1; //long g = 999999999999999; long h = 999999999999999L; System.out.println(c); System.out.println(e); System.out.println(f); System.out.println(h); } }
package com.huateng.mjq.chapter3; public class PrimitiveType_2 { /*运行结果如下; true NaN false true -Infinity Exception in thread "main" java.lang.ArithmeticException: / by zero at com.huateng.mjq.chapter3.PrimitiveType_2.test2(PrimitiveType_2.java:19) at com.huateng.mjq.chapter3.PrimitiveType_2.main(PrimitiveType_2.java:6) *结果分析: *正无穷大都相等,负无穷大都相等 *除法运算中如果除数和被除数有一个是浮点数,则允许除数为0,所得结果为正负无穷大;但是0.0/0.0结果为非数,非数和任何值都不相等(包括它自身) *0/0运行抛出异常 * * * */ public static void main(String [] args) { test2(); } public static void test2() { float af = 5.23456789f; double a = 0.0; double c = Double.NEGATIVE_INFINITY; float d = Float.NEGATIVE_INFINITY; System.out.println(c==d); System.out.println(a/a); System.out.println(a/a == Float.NaN); System.out.println(6.0/0 == 55/0.0); System.out.println(-8/a); System.out.println(0/0); } }
package com.huateng.mjq.chapter3; public class PrimitiveType_3 { /* * 运行结果: * 13445543 0.123 分析:允许在数字中随意使用_进行数字分隔;允许小于1的小数省略小数点右边的0 */ public static void main(String [] args) { test3(); } public static void test3() { int a = 1_3_4455_43; float b = .12_3f; System.out.println(a); System.out.println(b); } }
package com.huateng.mjq.chapter3; public class PrimitiveType_4 { /* * 运行结果: * 6.0 9.0 分析:类型自动转换*/ public static void main(String [] args) { test4(); } public static void test4() { int a = 6; float f = a; System.out.println(f); byte b =9; //char c = b; double d = b; System.out.println(d); } }
package com.huateng.mjq.chapter3; public class PrimitiveType_5 { /* * 运行结果: * a 香 39321 30127 b 结果分析:char类型变量允许赋予四种值:'a','\t','\u1234',整数,而其值可以直接转换为整型参与运算 */ public static void main(String [] args) { test5(); } public static void test5() { char aChar = 'a'; char entereChar = '\t'; char ch = '\u9999'; char feng = '疯'; int chValue = ch; int fengIntValue = feng; char c = 98; System.out.println(aChar); System.out.println(entereChar); System.out.println(ch); System.out.println(chValue); System.out.println(fengIntValue); System.out.println(c); } }
相关文章推荐
- 《疯狂JAVA讲义》之十一——Java基本数据类型之二
- 《疯狂JAVA讲义》之十二——Java基本数据类型之三
- java数据类型与sql类型基本映射
- java--基本数据类型与对应的包装类
- java的八种基本数据类型
- Java基本数据类型转换(转)
- Java基本数据类型转换 [转]
- java 基本数据类型和包装类
- java基本数据类型转换
- Java的基本数据类型与流
- 2006-07-28 Java的常用包,"=="和"equals"的用法,基本数据类型与引用类型,对象的克隆
- java中的基本数据类型
- java基本数据类型与其封装类
- Java 基本语法——数据类型
- Java的基本数据类型与流 (ZT)
- Java的基本数据类型与流
- Java中基本数据类型与流
- 关于java基本数据类型和包装类的关系
- java 基本数据类型之间的转换
- java 基本数据类型