Java数据类型&常量

目录

一、数据类型

1.1分类

1.2关键字&内存占用&范围

1.3包装类

1.4说明

1.5类型转换

1.6类型提升

二、常量

2.1java中的常量

2.2定义常量

2.3分类


一、数据类型

1.1分类

1.2关键字&内存占用&范围

|--------|---------|--------|-----------------|
| 数据类型 | 关键字 | 内存占用 | 范围 |
| 字节型 | byte | 1字节 | -128~127 |
| 短整型 | short | 2字节 | -32768~32767 |
| 整型 | int | 4字节 | -2^31~2^31-1 |
| 长整型 | long | 8字节 | -2^63~2^63-1 |
| 单精度浮点数 | float | 4字节 | 有范围,一般不关注 |
| 双精度浮点数 | double | 8字节 | 有范围,一般不关注 |
| 字符型 | char | 2字节 | 0-65535 |
| 布尔型 | boolean | 没有明确规定 | true和false |

1.3包装类

Java包装类是Java为八种基本数据类型提供的特殊类,它们使得基本数据类型的值可以作为对象处理

每个包装类都将基本数据类型封装在一个对象中,并提供了一系列方法来操作这些数据

每种基本数据类型都有一个对应的包装类:

  1. byte 对应java.lang.Byte

  2. short 对应java.lang.Short

  3. int 对应java.lang.Integer

  4. long 对应java.lang.Long

  5. float 对应java.lang.Float

  6. double 对应java.lang.Double

  7. boolean 对应java.lang.Boolean

  8. char 对应java.lang.Character

1.4说明

  • Java中的数据类型占用字节数与操作系统无关,可移植性高
  • 整型和浮点型都是带有符号的
  • 整型默认int类型,浮点型默认double类型
  • 定义变量:数据类型+变量名
  • 包装类型.MAX_VALUE,求某一数据类型可存储的最大值
  • 包装类型.MIN_VALUE 求某一数据类型可存储的最小值
  • Java中,如果变量没有初始化,在使用的时候会编译报错;变量赋值的时候,字面值超过了可存储的范围,编译也会报错
  • 为了区分长整型变量和整型变量,一般在变量的初始值之后加L或者l
  • 对于一个小数来说默认是double类型,要给float类型数据赋值小数时需要在值的后面加上一个F
  • boolean类型和int类型不能相互转换

1.5类型转换

不同类型之间的变量相互赋值的时候,会有较严格的检验

有两种类型转换方式:强制类型转换(显示)和自动类型转换(隐式)

  • 强制类型转换:进行操作的时候,代码需要经过一定的格式处理,不能自动完成
  • 自动类型转换:自动完成的,不需要进行格式处理,范围小的类型能隐式转换成范围大的类型

强制转换不一定成功,不相关的类型不能相互转换(比如boolean类型和int类型不能相互转换

1.6类型提升

不同类型的数据之间相互运算时,数据类型小的会被提升到数据类型大的

byte类型之间运算时尤其要注意

对于小于四个字节的数据,在运算时会被提升为四个字节后进行运算

二、常量

2.1java中的常量

在Java编程语言中,常量是指在程序执行过程中其值不可改变的量。常量可以是任何基本数据类型,如整数、浮点数、字符或布尔值。常量的主要特点是一旦它们被初始化或赋值后,它们的值就不能被修改

2.2定义常量

定义常量,使用final关键字,后跟数据类型、常量名和初始值,例如

java 复制代码
final int MAX_WIDTH = 800;
final String COMPANY_NAME = "Tech Corp";

其中MAX_WIDTH和COMPANY_NAME就是常量,他们分别被赋值为800和"Tech Corp"

tips:一般将被修饰的变量大写

2.3分类

  1. 字符型常量
  2. 整型常量
  3. 浮点数常量
  4. 字符常量
  5. 布尔常量
  6. 空常量
相关推荐
考虑考虑44 分钟前
Jpa使用union all
java·spring boot·后端
用户3721574261351 小时前
Java 实现 Excel 与 TXT 文本高效互转
java
浮游本尊2 小时前
Java学习第22天 - 云原生与容器化
java
渣哥4 小时前
原来 Java 里线程安全集合有这么多种
java
间彧4 小时前
Spring Boot集成Spring Security完整指南
java
间彧4 小时前
Spring Secutiy基本原理及工作流程
java
Java水解5 小时前
JAVA经典面试题附答案(持续更新版)
java·后端·面试
洛小豆8 小时前
在Java中,Integer.parseInt和Integer.valueOf有什么区别
java·后端·面试
前端小张同学8 小时前
服务器上如何搭建jenkins 服务CI/CD😎😎
java·后端
ytadpole8 小时前
Spring Cloud Gateway:一次不规范 URL 引发的路由转发404问题排查
java·后端