0
点赞
收藏
分享

微信扫一扫

哎呦不想写代码啊--Java入门--数据类型与运算符p1

泠之屋 2022-04-03 阅读 71

1. 变量和类型

1.1 整型变量

字节

使用以下代码查看 Java 中的整型数据范围 :

 再看一段代码:

        int max=Integer.MAX_VALUE+1;
        System.out.println(max);
 
    

这里可以看到,int整形最大值+1之后打印变成了负数

 int是4个字节,也就是32位

那么,int的取值范围可以表示为

1.2 长整型变量

基本语法格式:

代码示例:

注意事项:

使用以下代码查看 Java 中的长整型数据范围:

System.out.println(Long.MAX_VALUE);
System.out.println(Long.MIN_VALUE)

1.3 双精度浮点型变量(重点)

基本语法格式

代码示例 :

1.4类型转换

隐式类型转换

以下代码就是隐式类型转换,可以理解为悄悄地把数据的属性给换了

//int 和 long/double 相互赋值:
int a = 10;
long b = 20;
a = b; // 编译出错, 提示可能会损失精度.
b = a; // 编译通过.
int a = 10;
double b = 1.0;
a = b; // 编译出错, 提示可能会损失精度.
b = a; // 编译通过.

显式类型转换(强制)

int a = 0;
double b = 10.5;
a = (int)b;

这样就可以把double类型的b强转成整形a,但是会有数据丢失。

结论: 不同数字类型的变量之间赋值, 表示范围更小的类型能隐式转换成范围较大的类型, 反之则不行.

int 和 boolean 相互赋值:

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

如果使用强制类型转换: 

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

1.5数值提升

int 和 long 混合运算
 

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

byte 和 byte 的运算

byte a = 10;
byte b = 20;
byte c = a + b;
System.out.println(c);
// 编译报错
Test.java:5: 错误: 不兼容的类型: 从int转换到byte可能会有损失

强转:

 

1.6 int 和 String之间的相互转换

int 转成 String

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

String 转成 int

String str = "100";
int num = Integer.parseInt(str);
小结:                           

 

举报

相关推荐

0 条评论