Java基本数据类型和变量

news2024/11/19 1:24:58

目录

一、基本数据类型

1.1 整型

1.1.1 byte

1.1.2 short

1.1.3  int

1.1.4 long

1.2 浮点型

1.2.1 float

1.2.2 double

1.3 字符型

1.4 布尔型

二、变量

2.1 变量的概念

2.2 语法格式

2.3 整型变量

2.3.1 整型变量

2.3.2 长整型变量

2.3.3 短整型变量

2.3.4 字节型变量

2.4 浮点型变量

2.4.1 双精度浮点数

2.4.2 单精度浮点数

2.5 字符型变量

2.6 布尔型变量


        大家好!从今天开始,小编将带着大家一起进行Java语言的学习。本篇小编将带着大家认识一下数据类型,以及结合变量和大家一起深入学习数据类型。

        Java中的数据类型分为基本数据类型和引用数据类型。其中基本数据类型有四大类,共八种。引用数据类型包括字符串String、数组、类、接口等等,这些在后序学习中会慢慢讲解.

一、基本数据类型

基本数据类型有四大类,八种类型分别是

第一类:整型:byte、short、int、long

第二类:浮点型:float、double

第三类:字符型:char

第四类:布尔型: boolean

1.1 整型

Java中整型数据属于有符号数,即第一个bit位为0表示正整数,第一个bit位为1表示负整数。在计算机中负数由补码进行表示,补码=源码取反 + 1

1.1.1 byte

数据类型:字节型

内存占用:1字节(8个bit位)

范围:-2^7~2^7-1(-128~127)

1.1.2 short

数据类型:短整型

内存占用:2字节(16个bit位)

范围:-2^15~2^15-1(-32768~32767)

1.1.3  int

数据类型:整型

内存占用:4字节(32个bit位)

范围:-2^31~2^31-1(-2,147,483,648~2,147,483,647)

1.1.4 long

数据类型:长整型

内存占用:8字节(64个bit位)

范围:-2^63~2^63-1(-9,233,372,036,854,775,808~9,233,372,036,854,775,807)

1.2 浮点型

ava中浮点型数据无法由二进制直接表示,而是一种对于实数的近似数据表示法,它遵循IEEE 754标准。详情可点击这里👉  深度刨析数据在内存中的存储

1.2.1 float

数据类型:单精度浮点数

内存占用:4字节(32个bit位)

范围:不关注

默认值:0.0f

1.2.2 double

数据类型:双精度浮点数

内存占用:8字节(64个bit位)

范围:不关注

默认值:0.0

1.3 字符型

char类型是一个单一的16位Unicode字符。

数据类型:字符型

内存占用:2字节

范围:0 ~ 65535

1.4 布尔型

在JVM中并没有提供boolean专用的字节码指令,而boolean类型数据在经过编译后在JVM中会通过int类型来表示,此时boolean数据4字节32位,而boolean数组会被编译成Java虚拟机的byte数组,此时每个boolean数据1字节占8bit。

数据类型:boolean

内存占用:没有明确规定

范围:true和false

注意:

不论是在 16 位系统还是 32 位系统, int 都占用 4 个字节, long 都占 8 个字节
整形和浮点型都是带有符号的
整型默认为int 型,浮点型默认为 double
字符串属于引用类型,该中类型后序介绍

二、变量

2.1 变量的概念

在程序中,除了有始终不变的常量外,有些内容可能会经常改变,比如:人的年龄、身高、成绩分数、数学函数的 计算结果等,对于这些经常改变的内容,在 Java 程序中,称为变量 而数据类型就是用来定义不同种类变量的

2.2 语法格式

定义变量的语法格式为:

数据类型 变量名 = 初始值;

比如:

int a = 10;//定义整型变量a,a是变量名,也称为标识符,该变量放置的值为10

double d = 3.14;

char c = 'A';

boolean b = true;

//注意,可以一行定义多个相同类型的变量

int a = 10,b=20,c =30;

2.3 整型变量

2.3.1 整型变量

// 方式一:在定义时给出初始值
int a = 10 ;
System . Out . println ( a );
// 方式二:在定义时没有给初始值,但使用前必须设置初值
int b ;
b = 10 ;
System . Out . println ( b );
// 使用方式二定义后,在使用前如果没有赋值,则编译期间会报错
int c ;
System . Out . println ( c );
c = 100 ;
// int 型变量所能表示的范围:
System . Out . println ( Integer . MIN_VALUE );
System . Out . println ( Integer . MAX_VALUE );
// 注意:在定义 int 性变量时,所赋值不能超过 int 的范围
int d = 12345678901234 ; // 编译时报错,初值超过了 int 的范围

注意:

 

①int 不论在何种系统下都是 4 个字节
推荐使用方式一定义,如果没有合适的初始值,可以设置为 0
在给变量设置初始值时,值不能超过 int 的表示范围,否则会导致溢出
变量在使用之前必须要赋初值,否则编译报错
⑤int 的包装类型为 Integer

  

2.3.2 长整型变量

int a = 10 ;
long b = 10 ; // long 定义的长整型变量
long c = 10L ; // 为了区分 int long 类型,一般建议: long 类型变量的初始值之后加 L 或者 l
long d = 10l ; // 一般更加以加大写 L ,因为小写 l 1 不好区分
// long 型变量所能表示的范围:这个数据范围远超过 int 的表示范围 . 足够绝大部分的工程场景使用 .
System . Out . println ( Long . MIN_VALUE );
System . Out . println ( Long . MAX_VALUE )

注意:

① 长整型变量的初始值后加L或者l,推荐加L

② 长整型不论在那个系统下都占8个字节

③ long的包装类型为 Long

2.3.3 短整型变量

short a = 10 ;
System . Out . println ( a );
// short 型变量所能表示的范围:
System . Out . println ( Short . MIN_VALUE );
System . Out . println ( Short . MAX_VALUE );

注意:

①short在任何系统下都占2个字节

②使用时注意不要超过范围(一般使用比较少)

③ short 的包装类型为 Short

2.3.4 字节型变量

byte b = 10 ;
System . Out . println ( b );
// byte 型变量所能表示的范围:
System . Out . println ( Byte . MIN_VALUE );
System . Out . println ( Byte . MAX_VALUE );

注意:

①byte在任何系统下都占1个字节

② byte的范围是:-128 ~ 127

③  字节的包装类型为 Byte

2.4 浮点型变量

2.4.1 双精度浮点数

double d = 3.14 ;
System . Out . println ( d );

思考下面代码会出现怎样结果:

int a = 1 ;
int b = 2 ;
System . out . println ( a / b ); // 输出 0.5 吗?

结果显然不是0.5, Java , int 除以 int 的值仍然是 int(会直接舍弃小数部分)。如果想得到 0.5, 需要使用 double 类型计算。

double a = 1.0;

double b = 2.0;

System . out . println ( a / b ); // 输出 0.5
思考下面代码会出现怎样的结果:
double num = 1.1 ;
System . out . println ( num * num ); // 输出 1.21 吗?
// 执行结果
1.2100000000000002

注意:

① double在任何系统下都占8个字节

② 浮点数与整数在内存中的存储方式不同,不能单纯使用的形式来计算

③ double的包装类型为Double

④ double 类型的内存布局遵守 IEEE 754 标准(C语言一样), 尝试使用有限的内存空间表示可能无限的小数, 势必会存在一定的精度误差,因此浮点数是个近似值,并不是精确值。

2.4.2 单精度浮点数

float num = 1.0f ; // 写作 1.0F 也可以
System . out . println ( num );

注意:

float 类型在 Java 中占四个字节, 同样遵守 IEEE 754 标准.。由于表示的数据精度范围较小, 一般在工程上用到浮点数都优先考虑 double, 不太推荐使用 float.,float的包装类型为Float

2.5 字符型变量

char c1 = 'A' ; // 大写字母
char c2 = '1' ; // 数字字符
System . out . println ( c1 );
System . out . println ( c2 );
// 注意: java 中的字符可以存放整形
char c3 = ' ' ;
System . out . println ( c3 );
注意:
① Java 中使用 单引号 + 单个字母 的形式表示字符字面值。
② 计算机中的字符本质上是一个整数。   C 语言中使用 ASCII 表示字符 , Java 中使用 Unicode 表示字符 . 因此 一个字符占用两个字节, 表示的字符种类更多 , 包括中文。
③ char 的包装类型为 Character

2.6 布尔型变量

boolean b = true ;
System . out . println ( b );
b = false ;
System . out . println ( b );

注意:

① boolean 类型的变量只有两种取值, true 表示真, false 表示假。

② Java boolean 类型和 int 不能相互转换, 不存在 1 表示 true, 0 表示 false 这样的用法。

③ Java虚拟机规范中,并没有明确规定boolean占几个字节,也没有专门用来处理boolean的字节码指令,在Oracle公司的虚拟机实现中,boolean1个字节。

④ boolean 的包装类型为 Boolean。
好啦,到这里,今天为大家分享基本数据类型以及相关变量已经分享完了。如果觉得小编写的可以的,可以给小编一键三连,和小编一起学习和进步,你的关注是对小编最大的鼓励。有什么相关的问题欢迎到评论区留言。谢谢大家!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1059642.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Unity2022】Unity实现在两个物体之间连出一条线

文章目录 Line Renderer组件添加Line Renderer组件重要属性Positions(位置)Width (宽度)Material(材质)其他属性 使用脚本绘制直线绳子运行结果其他文章 Line Renderer组件 我们可以使用LineRenderer组件来…

【GO 编程语言】面向对象

指针与结构体 文章目录 指针与结构体一、OOP 思想二、继承三、方法 一、OOP 思想 Go语言不是面向对象的语言,这里只是通过一些方法来模拟面向对象,从而更好的来理解面向对象思想 面向过程的思维模式 1.面向过程的思维模式是简单的线性思维,…

苹果电脑壁纸软件Irvue for mac激活

Irvue是一款Mac上的壁纸软件,里面包含了数千张来精彩照片,方便用户将喜欢的照片设置为壁纸。以下是Irvue软件的一些主要特点和功能: 丰富的壁纸资源:Irvue提供了数千张来自Unsplash的高分辨率照片,涵盖了风景、建筑、…

【前段基础入门之】=>元素定位布局

导语: CSS 元素定位,是目前 CSS 页面布局的一种主要方式。 文章目录 相对定位开启相对定位相对定位的参考点相对定位的特点 绝对定位开启绝对定位绝对定位的参考点绝对定位的特点 固定定位开启固定定位固定定位的参考点固定位的特点 粘性定位开启粘性定位…

详解C语言—编译与链接

目录 1、程序的翻译环境 2、C语言程序的编译链接 3、程序执行的过程: 1、程序的翻译环境 在ANSI C标准的任何一种实现中,存在两个不同的环境。 第1种是翻译环境,在这个环境中源代码被转换为可执行的机器指令。 第2种是执行环境&#xff0…

基于SSM的电动车上牌管理系统(有报告)。Javaee项目。

演示视频: 基于SSM的电动车上牌管理系统(有报告)。Javaee项目。 项目介绍: 采用M(model)V(view)C(controller)三层体系结构,通过Spring SpringM…

【3】c++设计模式——>UML表示类之间的关联关系

关联关系 关联(Assocition)关系是类与类之间最常见的一种关系,它是一种结构化的关系,表示一个对象与另一个对象之间有联系,如汽车和轮胎、师傅和徒弟、班级和学生等。在UML类图中,用(带接头或不…

JVM篇---第一篇

系列文章目录 文章目录 系列文章目录一、知识点汇总二、知识点详解:三、说说类加载与卸载一、知识点汇总 JVM是Java运行基础,面试时一定会遇到JVM的有关问题,内容相对集中,但对只是深度要求较高. 其中内存模型,类加载机制,GC是重点方面.性能调优部分更偏向应用,重点突出实践…

专业图标制作软件 Image2icon 最新中文 for mac

Image2Icon是一款用于Mac操作系统的图标转换工具。它允许用户将常见的图像文件(如PNG、JPEG、GIF等)转换为图标文件(.ico格式),以便在Mac上用作应用程序、文件夹或驱动器的自定义图标。 以下是Image2Icon的一些主要功…

基于vc6+sdk51开发简易文字识别转语音的程序

系统:window7 软件:vc6.0 目的:简易文字转语音真人发声 利用2023国庆小长假,研究如何将文言转语音,之前在网上查询相关知识,大致了解微信语音转换,翻译官之类软件的原理,但要加入神…

python二次开发CATIA:旋转楼梯

旋转楼梯,也称为螺旋形或螺旋式楼梯,是一种围绕单柱或中心轴旋转而上的楼梯类型。由于其流线造型美观、典雅,并且能够节省空间,因此受到很多人的喜爱。这种楼梯最早可以追溯到公元前1000年左右,当时在所罗门王的宫殿中…

【4】c++设计模式——>UML表示类之间的聚合关系

聚合关系表示整体与部分的关系,在聚合关系中,成员对象时整体的一部分,但是成员对象可以脱离整体对象独立存在,当整体被析构销毁的时候,组成整体的这些子对象是不会被销毁的,是可以继续存活,并在…

Matlab论文插图绘制模板第117期—气泡云图

之前的文章中,分享了Matlab气泡图的绘制模板: 进一步,分享一种特殊的气泡图:气泡云图,先来看一下成品效果: 特别提示:本期内容『数据代码』已上传资源群中,加群的朋友请自行下载。有…

【STL】用哈希表(桶)封装出unordered_set和unordered_map

⭐博客主页:️CS semi主页 ⭐欢迎关注:点赞收藏留言 ⭐系列专栏:C进阶 ⭐代码仓库:C进阶 家人们更新不易,你们的点赞和关注对我而言十分重要,友友们麻烦多多点赞+关注,你们的支持是我…

如何在企业网站里做好网络安全

在当今数字时代,网站不仅仅是企业宣传和产品展示的平台,更是日常生活和商业活动中不可或缺的一部分。然而,随着网络技术不断发展,网站的安全问题日益凸显。保护网站和用户数据的安全已经成为至关重要的任务,以下是一些…

C#学生选课及成绩查询系统

一、项目背景 学生选课及成绩查询系统是一个学校不可缺少的部分,传统的人工管理档案的方式存在着很多的缺点,如:效率低、保密性差等,所以开发一套综合教务系统管理软件很有必要,它应该具有传统的手工管理所无法比拟的…

进程间通信-内存映射

内存映射是通过将一个进程的虚拟内存空间映射到另一个进程的虚拟内存空间来实现的。这样,两个进程可以共享同一块物理内存,从而实现数据的共享。内存映射通常通过操作系统提供的特定系统调用来完成。 下面是使用内存映射进行进程间通信的一般步骤&…

29 drf-Vue个人向总结-2

文章目录 drf项目总结2重写create自定义验证类获取个性化内容 与 lookup_field 的用处重写get_queryset,get_serializer_class类docs帮助文档支付宝支付原理(微信同原理)使用流程创建公钥私钥使用的理论介绍使用的代码介绍支付宝与Drf的联合使…

扫雷 | C语言 | 简单易懂 | 扫雷相关知识点总结

扫雷思路 相信大家都有玩过扫雷吧!其实在我们学习完C语言中函数和数组之后,我们就有能力制作一个简单的扫雷小游戏了。 先考虑扫雷游戏的思路: 扫雷游戏我们需要利用二维数组将其进行初始化以及赋值“雷”,就以9*9个雷盘来分析…

集合-Map系列

系列文章目录 1.集合-Collection-CSDN博客​​​​​​ 2.集合-List集合-CSDN博客 3.集合-ArrayList源码分析(面试)_喜欢吃animal milk的博客-CSDN博客 4.数据结构-哈希表_喜欢吃animal milk的博客-CSDN博客 5.集合-set系列集合-CSDN博客 6.集合-Map系列-CSDN博客 文章目…