当前位置: 首页 > news >正文

Java数据类型常量

目录

一、数据类型

1.1分类

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

1.3包装类

1.4说明

1.5类型转换

1.6类型提升

二、常量

2.1java中的常量

2.2定义常量

2.3分类


一、数据类型

1.1分类

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

数据类型关键字内存占用范围
字节型byte1字节-128~127
短整型short2字节-32768~32767
整型int4字节-2^31~2^31-1
长整型long8字节-2^63~2^63-1
单精度浮点数float4字节有范围,一般不关注
双精度浮点数double8字节有范围,一般不关注
字符型char2字节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关键字,后跟数据类型、常量名和初始值,例如

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. 空常量

http://www.mrgr.cn/news/46460.html

相关文章:

  • mybatis学习(7/134)
  • vue3+ts+uniapp 微信小程序(第一篇)—— 微信小程序定位授权,位置信息权限授权
  • C#,图片分层(Layer Bitmap)绘制,反色、高斯模糊及凹凸贴图等处理的高速算法与源程序
  • LVGL移植高通点阵字库GT30L24A3W
  • DHCP详解和部署
  • 优化 Azure Synapse Dedicated SQL Pool中的 SQL 执行性能的经验方法
  • 【论文阅读】超分辨率图像重建算法综述
  • 【C语言】指针
  • 斯坦福 CS229 I 机器学习 I 构建大型语言模型 (LLMs)
  • 鹏哥C语言72---操作符与表达式求值
  • 【C/C++】错题记录(七)
  • 引领行业发展,大北互集团携手纷享销客共建营销数字化发展新引擎
  • 76.【C语言】perror函数介绍
  • Android设置边框圆角
  • xtu oj Balls
  • secure boot 部分知识
  • 20.安卓逆向-frida基础-hook分析调试技巧2-hookDES
  • web1.0,web2.0,web3.0 有什么区别 详解
  • Linux deepin系统通过编辑crontab来设置定时任务---定时关机
  • 使用pycharm的sftp功能远程操控服务器的时候,遇到了一些问题:Local path ’ ’ is outof project
  • 工厂车间|基于springBoot的工厂车间系统设计与实现(附项目源码+论文+数据库)
  • 极客兔兔Gee-Cache Day6
  • 单片机(学习)2024.10.9
  • 《基于FreeRTOS的STM32超声波智能避障平衡小车,实现了小车的自平衡、超声波避障以及通过智能手机远程控制的功能》+源代码+文献资料+文档说明
  • 【AI知识点】泛化(Generalization)与过拟合(Overfitting)
  • 安全帽未佩戴预警系统 劳保防护用品穿戴监测系统 YOLO