数据类型基本知识点

    技术2022-07-10  161

    Java中的数据类型分为:

    public static void main(String[] args) { //1.整型变量 int int a = 10; System.out.println(a); //2.长整型变量 long num = 10L; System.out.println(num); //3.双精度浮点型变量 double num1 = 1.0; System.out.println(num1); double m = 1.0; double n = 2.0; System.out.println(m / n);//0.5 //4.单精度浮点型变量 float num2 = 1.0f;//写成1.0F也可以 System.out.println(num2); //5.字符型变量 char ch = 'A'; System.out.println(ch); //6.字节型变量 byte value = 0; System.out.println(value); //7.短整型变量 short value1 = 0; System.out.println(value1); //8.布尔类型变量 boolean value2 = true; System.out.println(value2); //9.字符串类型变量 String name = "KrisLEE"; System.out.println(name); //字符串的+操作,表示字符串的拼接 String a2 = "hello"; String b2 = "World"; String C = a2 + b2; System.out.println(C);//helloWorld }

    注意事项: 1.每一种数据类型,再给其赋值的时候,不能赋值超过它的范围 2.Java的boolean类型和int类型不能相互转换,不存在1表示true,0表示false这样的用法 3.使用 10 初始化也可以, 10 的类型是 int, 10L 的类型是 long, 使用 10 L 或者 10 l 更好一些. 4.计算机中的字符本质上是一个整数. 在 C 语言中使用 ASCII 表示字符, 而 Java 中使用 Unicode 表示字符. 因此一 个字符占用两个字节, 表示的字符种类更多, 包括中文 5.字节类型和字符类型互不相干

    变量的命名规则 1.一个变量名只能包含数字,字母,下划线 2.数字不能开头 3.变量名是大小写敏感的. 即 num 和 Num 是两个不同的变量 4.变量命名推荐 小驼峰命名法

    常量分为: 1.字面值常量: 例如:10 010 0x10 1.0等等 2.final关键字修饰的常量

    final int a = 10; int a = 20; System.out.println(a);//编译出错,无法为最终变量a分配值

    常量不能在程序运行过程中发生修改

    类型转换 Java 作为一个强类型编程语言, 当不同类型之间的变量相互赋值的时候, 会有教严格的校验 结论: 不同数字类型的变量之间赋值, 表示范围更小的类型能隐式转换成范围较大的类型, 反之则不行

    int a = 10; boolean b = true; b = a; // 编译出错, 提示不兼容的类型 a = b; // 编译出错, 提示不兼容的类型

    结论: int 和 boolean 是毫不相干的两种类型, 不能相互赋值. 注意事项:

    强制类型转换可能会导致精度丢失. 如刚才的例子中, 赋值之后, 10.5 就变成 10 了, 小数点后面的部分被忽略.强制类型转换不是一定能成功, 互不相干的类型之间无法强转.

    数值提升

    int a = 10; long b = 20; int c = a + b; // 编译出错, 提示将 long 转成 int 会丢失精度 long d = a + b; // 编译通过.

    结论: 当 int 和 long 混合运算的时候, int 会提升成 long, 得到的结果仍然是 long 类型, 需要使用 long 类型的变量来 接收结果. 如果非要用 int 来接收结果, 就需要使用强制类型转换.

    byte a = 10; byte b = 20; byte c = a + b; System.out.println(c);

    结论: byte 和 byte 都是相同类型, 但是出现编译报错. 原因是, 虽然 a 和 b 都是 byte, 但是计算 a + b 会先将 a 和 b 都 提升成 int, 再进行计算, 得到的结果也是 int, 这是赋给 c, 就会出现上述错误

    正确的写法:`

    byte a = 10; byte b = 20; byte c = (byte)(a + b); System.out.println(c);

    int 和 String 之间的相互转换 1.int转String

    int num = 10; // 方法1 String str1 = num + ""; // 方法2 String str2 = String.valueOf(num);

    2.String转成int

    String str = "100"; int num = Integer.parseInt(str);
    Processed: 0.009, SQL: 9