数据类型的转换方式分为“自动类型转换”和“强制类型转换”, 其中自动类型转换的条件: 1、 转换前后数据类型兼容 2、 转换后的数据类型的表示范围比转换前的大 package com.dengwen1; public class Test1 { public static void main(String[] args) { // TODO Auto-generated method stub System.out.println(new Test1().test('c')); System.out.println(new Test1().test(10)); } public double test(char c){ c='a'; return c; } //声明的返回值和实际返回的可以不一致, 这里发生了自动向上转型, 必须保证声明的数据类型 //的范围要大于实际返回的数据类型的范围, public double test(int i){ i='a'; return i; } /* 这样写是错误的: public int test(double i){ i='a'; return i; } 因为: cannot convert from double to int * */ } 例2: package com.dengwen1; public class Test2 { void test(int i) { System.out.println("I am an int."); } void test(String s) { System.out.println("I am a string."); } public static void main(String args[]) { Test2 t=new Test2(); char ch='y'; t.test(ch); //16位长的char型变量ch在编译时会自动转化为一个32位长的int型, //并在运行时传给void test(int i)方法 } }