java数据类型

news/2024/10/20 18:53:40/

数据类型

类型分类,存储范围,字面量,默认值,类型转换

类型分类

在这里插入图片描述

存储范围

数据类型字节数表示范围
byte1-128~127
short2-32768~32767,正负3万左右
int4-2147483648~2147483647,正负21亿左右
long8-9223372036854775808~9223372036854775807,
float41.4E-45~3.4028235E38,可以容纳long
double84.9E-324~1.7976931348623157E308
char20~65535,无符号整数
引用类型4int类型
boolean4或1单独使用为4B,数组使用1个元素占1B

字面量

  • 在程序中书写的量称为字面量(整数、小数、字符等)
  • 在程序中书写的整数默认是int类型
  • 在程序中书写的小数默认是double类型
  • 在程序当中书写的整数都是int类型,只要不超过(byte、short、char)的范围,可以进行自动转换,而不需要强制转换

默认值

数据类型默认值
byte0
short0
int0
long0L
float0.0f
double0.0d
char‘u0000’(数值0)
booleanfalse
引用类型null

类型转换

防止溢出
浮点数和整数的表示方式不同

  • 类型提升:低存储范围类型->高存储范围类型提升,目的是为了防止溢出(存储空间装不下)。因此,记住每种数据类型存储范围是有必要的,如果可能超过现有数据类型存储范围,请进行类型提升。例如,long a=21000000000L*12,int的存储范围大约为-21亿到+21亿
  • 类型降低(强制转换):高存储范围类型->低存储范围类型提升。例如,int i = (int)6.718
  • 补充:java中long虽然存储空间有8bytes,float存储空间为4bytes,但是float的表示范围>long的表示范围,因为,浮点数的计算机存储机制导致
  • 补充:java中char类型本质上是无符号整数类型,占用2个字节,存储范围0到65535。

代码

package com.xcrj.typeme;import java.util.Date;public class DataType {public static void main(String[] args) {//整数byte abyte=127;System.out.println(abyte);short ashort=300;System.out.println(ashort);int aint=333;System.out.println(aint);long along=3333;System.out.println(along);//浮点数float afloat=30.1f;System.out.println(afloat);double adouble=30.2;System.out.println(adouble);//字符char achar='e';System.out.println(achar);//布尔boolean aboolean=true;System.out.println(aboolean);//StringString aString="abc";System.out.println(aString);//时间Date aDate=new Date();System.out.println(aDate);//数组int[] aintarr=new int[3];aintarr[0]=1;aintarr[1]=2;aintarr[2]=3;System.out.println(aintarr);int[] bintarr=new int[]{1,2,3};System.out.println(bintarr);}
}

http://www.ppmy.cn/news/24006.html

相关文章

CrossOver2023mac跨系统互通切换win虚拟机

CrossOver2023版是在Mac上运行Win软件的最简单方法,有了它,你无须 Win许可、重新启动或使用虚拟机即可在mac上使用Win软件。CrossOver23可以轻松地从Dock本地启动Win程序。CrossOver版还集成了macOS 功能,例如跨平台复制和粘贴,以…

【C++详解】——vector类

📖 前言:本期介绍vector类。 目录🕒 1. vector的介绍🕒 2. vector的使用🕘 2.1 定义🕘 2.2 iterator🕘 2.3 空间增长🕘 2.4 增删查改🕒 2. vector的模拟实现&#x1f558…

【linux】线程概念

概念 什么是线程 在一个程序里的一个执行路线就叫做线程(thread)。更准确的定义是:线程是“一个进程内部的控制序列” 一切进程至少都有一个执行线程,线程在进程内部运行,本质是在进程地址空间内运行 在Linux系统中&a…

【大数据Hadoop】Hadoop 3.x 新特性总览

Hadoop 3.x 新特性剖析系列11. 概述2. 内容2.1 JDK2.2 EC技术2.3 YARN的时间线V.2服务2.3.1 伸缩性2.3.2 可用性2.3.3 架构体系2.4 优化Hadoop Shell脚本2.5 重构Hadoop Client Jar包2.6 支持等待容器和分布式调度2.7 支持多个NameNode节点2.8 默认的服务端口被修改2.9 支持文件…

实战打靶集锦-004-My-Cmsms

**写在前面:**记录一次艰难曲折的打靶经历。 目录1. 主机发现2. 端口扫描3. 服务枚举4. 服务探查4.1 WEB服务探查4.1.1 浏览器访问4.1.2 目录枚举4.1.3 控制台探查4.1.4 其他目录探查4.2 阶段小结5. 公共EXP搜索5.1 CMS搜索5.2 Apache搜索5.3 PHP搜索5.4 MySQL搜索5…

福利篇1——嵌入式软件行业与公司汇总

前言 汇总嵌入式软件行业与公司,供参考。 文章目录 前言一、嵌入式软件行业和公司汇总1、芯片行业代表性公司2、人工智能代表性公司1)智能驾驶方向代表性公司2)机器人方向代表性公司3、消费电子领域代表性公司4、传统电子电器领域代表性公司5、国企和军工领域代表性公司6、网…

js中的自调用表达式

自调用表达式 由函数表达式创建的函数可以自调用,称之为自调用表达式。 语法 由函数表达式创建函数: const myFn function () {let a 100console.log(a);return a } myFn() //调用后执行,输出100表达式后面紧跟 ( ) 则会自动调用: const myFn fu…

获取成员userID

文章目录一、简介二、获取token1、获取秘钥2、获取Token三、获取部门数据1、获取部门列表2、获取子部门ID列表3、获取单个部门详情四、获取成员信息1、读取成员2、获取部门成员3、获取部门成员详情一、简介 同步数据到企微: 企业如果需要从自有的系统同步通讯录到…