class Test05ZhuanHuan { public static void main(String[] args) { System.out.println("Hello World!"); //范围小的直接赋值给范围大的变量 int a = 20; byte b = 10; //自动转换 a = b; //参与运算使用数据类型较大的。 int c = 10; double d = 20; d = c + 30; //当byte,short,char数据类型运算时,按照int类型处理。 byte e1 = 10; short e2 = 128; char e3 = 'B'; int e4 = e1 + e2 + e3; System.out.println(e4); // 设 x 为float型变量,y为double型变量, // a为int型变量,b为long型变量,c为char型变量,则表达式 // x + y * a / x + b / y + c的值类型为: // A. int B. long C. double D. char //整数 4个字节 小数 double 8个字节 //int i1 = 3.14; // //强制转换 int a1 = 128; //格式 byte b1 = (byte) a1; // System.out.println(b1); // -128 // 0000 0000 1000 0000 int // 1000 0000 // 1000 0000 = -128 // 1111 1111 = -127 byte c1 = 127; //没有意义 自动 int c2 = (int) c1; //区别 long l1 = 123L; //long long l2 = 123; // int 自动提升long //字符串 String name1 = "张三"; String name2 = new String("李四"); System.out.println(name1); System.out.println(name2); //任何类型和String + 连接 //"" + 1 字符串 System.out.println("" + 1 + 2);//12 int num = 10; boolean b11 = true; String s1 = "abc"; //字符串 + 数字 = 字符串 + true String s2 = s1 + num + b11; System.out.println(s2);// abc10true // int boolean 不能运算 // String s3 = num + b11 + s1;//编译不通过 String s4 = num + (b11 + s1);// System.out.println(s4); //10trueabc // String str = "123a"; //int num = (int)str;// 编译错误 int num = (int)str;// 编译错误 //字面值是数字 int n = Integer.parseInt(str); // System.out.println(n); } }