Java数据类型

简介: Java数据类型

整型变量(int)
image-20220327181138467

4 个字节表示的数据范围是 [-2^31,2 ^31-1]

image-20220327181640144

image-20220327182024044

image-20220327182839664

image-20220327183400322

java的变量的不初始化就不能使用,就会报错( 安全性!)

int重点:

image-20220327184002873

5、标示符的命名规则

标示符:字母 数字 下划线 $

image-20220327184314192

Ineger->包装类-》还是整型

长整型变量(long)
long是8个字节

public class HelloWorld {

public static void main(String[] args) {
    long a=10L;//建议使用大写L
    System.out.println(a);
}

}
复制代码
运行过程及结果

C:\Users\chuanfei>d:

D:\>cd D:\javacode\20220327

D:\javacode\20220327>javac HelloWorld.java -encoding utf-8

D:\javacode\20220327>java HelloWorld
10
复制代码
image-20220327230835893

     public class HelloWorld {
public static void main(String[] args) {
     long a=10L;
    System.out.println("最大值是:" + Long. MAX_VALUE);//+的作用是拼接
    System.out.println("最小值是:" + Long. MIN_VALUE);
    System.out.println("a的值是" + a);
    }

}
//运行结果是:
//D:\javacode\20220327>java HelloWorld
//最大值是:9223372036854775807
//最小值是:-9223372036854775808
//a的值是10
复制代码
long的包装类是Long

image-20220327232719925

image-20220327232647091

双精度浮点数类型变量(double)
double是8个字节

int a = 1;
int b = 2;
System.out.println(a / b);
// 执行结果是0(与C语言一样)
//如果想得到 0.5, 需要定义 double 类型计算.
复制代码
image-20220328175130326

double num = 1.1;
System.out.println(num * num)
// 执行结果
1.2100000000000002
//double存在一定的精确值
复制代码
小数建议使用double

单精度浮点数类型变量(float)
public class TestDemo{
public static void main(String[] args){

float d=12.5;
    System.out.println(d);

}
}
//java规定小数默认是double类型,而double是8个字节,float是4个字节,所以会报错
//应在小数后面加上f
复制代码
float的包装类是Float

字符类型变量(char)
public class TestDemo{
public static void main(String[] args){

    char ch='a';
    System.out.println(ch);
    char ch2='邓';
    System.out.println(ch2);
    char ch3=97;
    System.out.println(ch3);

}
}
复制代码
char类型的编码表是Unicode,拥有更加多的字符,包括中文,所以char是2个字节

char的取值范围是0-65535,不存在负数

char的包装类是Character

字节类型变量(byte)
byte的取值范围是-128~127

public class TestDemo{
public static void main(String[] args){

byte a=12;
    byte b=98;
    System.out.println(a+b);
    System.out.println(a +" "+  b);
    System.out.println(Byte.MAX_VALUE);
    System.out.println(Byte.MIN_VALUE);

}
}
//打印结果为
//110
//12 98
//127 最大值
//-128 最小值
复制代码
image-20220328182503233

但是,byte与int的最大值+1却不一样

System.out.println(Byte.MAX_VALUE+1);打印出来的是128,因为println是以整型进行打印的,此时就把右边当做是整型了,所以会打印128

image-20220328183033148

image-20220328183057238

1是整型,所以==Byte.MAX_VALUE+1就会发生整型提升==,所以右边就会变成整型,而左边是byte类型的,整型是8个字节,byte是4个字节,放不下,所以会报错。

无论是什么类型的数据,都不能放超过其最大取值的数字,否则就会报错。

整型提升
小于4个字节的数据类型(byte char short )运算的时候,会发生整型提升

public class TestDemo{
public static void main(String[] args){

    byte a=10;
    byte b=30;
    byte c=a+b;//10和30是整型,而c是byte类型的,所以发生类型冲突,进而报错
    byte c=(byte)a+b;//改进:类型强转
     int c=a+b;//transform c to int 
    System.out.println(c);  

}
}
复制代码
int 与char 的最大值加一比较:
image-20220328214520710

短整型变量(short)
short是两个字节,取值范围是-32767~32768

public class TestDemo{
public static void main(String[] args){

       System.out.println(Short.MAX_VALUE+1);//最大值是32768
    System.out.println(Short.MIN_VALUE+1);//最小值是-32767

}
}
复制代码
布尔类型(boolean)
在Java中,布尔类型没有明确的大小

==在Java中,布尔类型只有两个取值:true 和 false==

在Java中真就是true 假就是false,不存在 0为假,非0为真

布尔类型的包装类是Boolean

目录
相关文章
|
1月前
|
存储 Java
Java的数据类型介绍 | 基本数据类型的转换
Java的数据类型介绍 | 基本数据类型的转换
|
2月前
|
存储 Java 程序员
揭秘!Java数据类型背后的“黑科技”
【6月更文挑战第13天】Java编程中的数据类型是构建程序的基础,分为基本数据类型(如整型、浮点型、字符型、布尔型)和引用数据类型(类、接口、数组)。内存管理通过垃圾回收自动化,减少错误风险。数据类型间支持自动和强制转换,但需注意精度和溢出。封装类(如Integer、Double)提供额外功能,使使用更灵活。示例代码展示了类型转换和封装类的运用。Java的数据类型设计确保了灵活性和效率,为编写高质量程序奠定基础。
23 6
|
2月前
|
Java
当Java数据类型遇上“爱情”,会擦出怎样的火花?
【6月更文挑战第13天】Java数据类型在编程中遇见“爱情”,通过初始化、类型转换、引用类型及异常处理展现情感历程。代码示例包括变量的甜蜜相遇(如`int loveLevel = 0`),类型转换的磨合,引用类型的深情表达(如Lover类),以及异常处理带来的爱情考验。这些示例展示了Java在表达抽象概念时的多样性和灵活性。
24 4
|
2月前
|
存储 Java 开发者
Java数据类型:从入门到精通,你不得不看的“宝典”
【6月更文挑战第13天】Java凭借其跨平台能力和丰富的类库深受开发者喜爱。学习Java首先需掌握数据类型,包括基本类型(整型、浮点型、字符型、布尔型)和引用类型(类、接口、数组)。基本类型占用固定内存,值不可变;引用类型存储对象地址。通过示例代码展示了如何声明和使用这些类型。此外,Java的封装类如Integer等提供了操作便利。理解数据类型对于程序设计至关重要,是进一步学习Java高级特性的基础。开始你的Java编程之旅,不断实践,你将在Java世界中不断进步。
29 4
|
10天前
|
存储 Java 测试技术
Java零基础教学(08):基本数据类型和取值范围
【8月更文挑战第8天】Java零基础教学篇,手把手实践教学!
17 5
Java零基础教学(08):基本数据类型和取值范围
|
10天前
|
存储 Java 测试技术
Java零基础(9) - 聊聊基本数据类型取值范围
【8月更文挑战第9天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
17 5
|
11天前
|
存储 Java 测试技术
Java零基础(8) - 谈谈基本数据类型
【8月更文挑战第8天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
28 6
|
11天前
|
存储 Java
02 Java基础语法(变量+数据类型+运算符)(下)
02 Java基础语法(变量+数据类型+运算符)
16 5
|
11天前
|
存储 Java
02 Java基础语法(变量+数据类型+运算符)(上)
02 Java基础语法(变量+数据类型+运算符)
30 4
|
6天前
|
Java C#
C# 和 java 基本数据类型
C# 和 java 基本数据类型
5 0