首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

java部类自动转换

2012-08-24 
java类型自动转换package com.kevin.basic/* * java类型自动转换方面的知识点 * int类型double类型默认类

java类型自动转换

package com.kevin.basic;/* * java类型自动转换方面的知识点 * int类型       double类型  默认类型 */public class Test {/** * @param args */public static void main(String[] args) {// TODO Auto-generated method stub/* int类型是整数的默认类型。 * (1)第一种:正确运行,结果为10. * 3是int类型,7是int类型,3+7=10也是int类型,当把常量10赋值给byte类型b时,java编译器 * 会进行范围检查,发现10没有超越byte类型的取值范围-128~127,所以可以正常将int类型转换为byte类型byte b = 4;b = 3+7;System.out.println(b);*//*(2)第二种:出现错误,提示可能会损失精度。 * 因为b1,b2都是变量,java编译器在进行判断时无法判断b1+b2的取值范围,是否会超过-128~127这个范围 * 所以会给出可能损失精度的错误提示。byte b1 = 3;byte b2 = 7;b = b1+b2;System.out.println(b);*//*2147483647     整型最大值-2147483648  整型最小值-2147483647  * int max = Integer.MAX_VALUE;int min = Integer.MIN_VALUE;int x = max + 2;System.out.println(max);System.out.println(min);System.out.println(x);*//* * 正常运行:+=是赋值运算符,java在进行运算时会进行自动类型转换。 *  += 是java语言规定的运算符,java编译器会对它进行特殊处理,因此可以正确编译。short x = 2;x += 3;System.out.println(x);// x = 5;*//* x+3运算时会自动提升表达式的类型,所以结果是int型,再赋值给short类型x时,编译器将报告需要强制转换类型的错误。 * :因为 x+3 的取值范围不确定,有可能会超过短整型所能表示的数值。short x = 2;x = x+3;System.out.println(x);*/}}

热点排行