1.自动类型装换
自动类型转换指的是容量小的数据类型可以自动装换为容量大的数据类型。如图2-6所示,黑色实线表示的是无数据丢失的//容量小的可以自动向容量大的转化 //可以将整型常量赋值给byte/short/char等变量,而不需要强制类型转换,只要不超出其表示范围即可。 public class demo3 { public static void main(String[] args) { int a = 324; long b = a; double d = b; //a = b;long类型的不能转化为int类型 float f = 232334L; System.out.println(a); System.out.println(b); System.out.println(d); System.out.println(f); } } 2.强制类型转换
package day3;
/*- 强制类型转换,又被称为造型,用于显示的转换一个数值的类型。在有可能丢失信息的情况下进行的转换是通过造型来完成的,但可能造成精度降低或溢出。
- 语法格式:(type)var
- 运算符中的type表示将值var想要转换成的目标数据类型。
*/
public class demo4 { public static void main(String[] args) { double x = 3.14; int nx = (int)x;//值为3 char c = 'a'; int d = c + 1;//d = 98 System.out.println(nx); System.out.println(d); System.out.println((char)d); } } 3 基本类型常见错误- 溢出;如果超出int可表示的范围,会导致数字显示发生错误。
L尽量用大写,小写l与数字1容易混淆;long a = 232222L;
4.测试输入输出
package day3;
import java.util.Scanner; /测试键盘输入/ public class demo6 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("请输入名字: "); String name = scanner.nextLine(); System.out.println("请输入你的爱好:"); String favor = scanner.nextLine(); System.out.println("请输入你的年龄:"); int age = scanner.nextInt();System.out.println("**************"); System.out.println(name); System.out.println(favor); System.out.println("来到地球的天数:"+age*365); System.out.println("离开地球的天数:"+(80-age)*365);}
}