Java基础数据类型

一、基础数据类型

Java基础数据类型包括八种:byte、short、int、long、float、double、char、boolean。

byte:占用1个字节,取值范围为-128~127之间的整数。

short:占用2个字节,取值范围为-32768~32767之间的整数。

int:占用4个字节,取值范围为-2147483648~2147483647之间的整数。

long:占用8个字节,取值范围为-9223372036854775808~9223372036854775807之间的整数。

float:占用4个字节,取值范围为±(1.40129846432481707e-45~3.40282346638528860e+38)之间的浮点数。

double:占用8个字节,取值范围为±(4.94065645841246544e-324~1.79769313486231570e+308)之间的浮点数。

char:占用2个字节,表示Unicode编码中的一个字符。

boolean:占用1个字节,表示真或假。

二、.数据类型转换

Java 数据类型转换分为自动类型转换和强制类型转换两种。

1. 自动类型转换

自动类型转换是指当数据类型不一致时,Java 编译器会自动将低类型转换为高类型,例如将 int 类型转换为 long 类型、将 float 类型转换为 double 类型等。自动类型转换的规则如下:

- byte、char、short 自动转换为 int;
- int 自动转换为 long;
- float 自动转换为 double。

下面是一个自动类型转换的示例代码:

```
int a = 100;
long b = a;
float c = b;
System.out.println("a=" + a + ", b=" + b + ", c=" + c);
```

输出结果:

```
a=100, b=100, c=100.0
```

2. 强制类型转换

强制类型转换是指将高类型强制转换为低类型,需要使用小括号指定要转换的类型。强制类型转换的注意事项如下:

- 强制类型转换可能会导致精度丢失;
- 强制类型转换可能会导致溢出。

下面是一个强制类型转换的示例代码:

```
int a = 200;
byte b = (byte) a;
System.out.println("a=" + a + ", b=" + b);
```

输出结果:

```
a=200, b=-56
```

在这个示例中,将 int 类型的变量 a 强制转换为 byte 类型的变量 b,由于 byte 类型只有 8 位,所以在转换时可能会导致溢出和精度丢失。

三、数据类型判断

Java中可以通过以下方法判断数据类型:

1. 使用instanceof运算符

instanceof运算符可以用来判断一个对象是否属于某个类或者实现了某个接口。例如:


String str = "hello";
if (str instanceof String) {
    System.out.println("str是一个字符串");
}

2. 使用getClass()方法

对象的getClass()方法可以返回它所属类的Class对象,从而可以判断它的类型。例如:


Object obj = new Integer(10);
if (obj.getClass() == Integer.class) {
    System.out.println("obj是一个整数");
}

3. 使用反射机制

反射机制可以在运行时获取一个类的信息,包括它的成员变量、方法等。例如:


Object obj = "hello";
Class cls = obj.getClass();
if (cls == String.class) {
    System.out.println("obj是一个字符串");
}
```

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值