数据类型基本知识点

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 是毫不相干的两种类型, 不能相互赋值.
注意事项:

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

数值提升

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);
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值