Java基本数据类型和变量

目录

一、基本数据类型

[1.1 整型](#1.1 整型)

[1.1.1 byte](#1.1.1 byte)

[1.1.2 short](#1.1.2 short)

[1.1.3 int](#1.1.3 int)

[1.1.4 long](#1.1.4 long)

[1.2 浮点型](#1.2 浮点型)

[1.2.1 float](#1.2.1 float)

[1.2.2 double](#1.2.2 double)

[1.3 字符型](#1.3 字符型)

[1.4 布尔型](#1.4 布尔型)

二、变量

[2.1 变量的概念](#2.1 变量的概念)

[2.2 语法格式](#2.2 语法格式)

[2.3 整型变量](#2.3 整型变量)

[2.3.1 整型变量](#2.3.1 整型变量)

[2.3.2 长整型变量](#2.3.2 长整型变量)

[2.3.3 短整型变量](#2.3.3 短整型变量)

[2.3.4 字节型变量](#2.3.4 字节型变量)

[2.4 浮点型变量](#2.4 浮点型变量)

[2.4.1 双精度浮点数](#2.4.1 双精度浮点数)

[2.4.2 单精度浮点数](#2.4.2 单精度浮点数)

[2.5 字符型变量](#2.5 字符型变量)

[2.6 布尔型变量](#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公司的虚拟机实现中,boolean占1个字节。
④ boolean 的包装类型为 Boolean。
好啦,到这里,今天为大家分享基本数据类型以及相关变量已经分享完了。如果觉得小编写的可以的,可以给小编一键三连,和小编一起学习和进步,你的关注是对小编最大的鼓励。有什么相关的问题欢迎到评论区留言。谢谢大家!

相关推荐
奋斗的小花生31 分钟前
c++ 多态性
开发语言·c++
魔道不误砍柴功33 分钟前
Java 中如何巧妙应用 Function 让方法复用性更强
java·开发语言·python
NiNg_1_23433 分钟前
SpringBoot整合SpringSecurity实现密码加密解密、登录认证退出功能
java·spring boot·后端
闲晨36 分钟前
C++ 继承:代码传承的魔法棒,开启奇幻编程之旅
java·c语言·开发语言·c++·经验分享
老猿讲编程1 小时前
一个例子来说明Ada语言的实时性支持
开发语言·ada
Chrikk2 小时前
Go-性能调优实战案例
开发语言·后端·golang
幼儿园老大*2 小时前
Go的环境搭建以及GoLand安装教程
开发语言·经验分享·后端·golang·go
canyuemanyue2 小时前
go语言连续监控事件并回调处理
开发语言·后端·golang
杜杜的man2 小时前
【go从零单排】go语言中的指针
开发语言·后端·golang
测开小菜鸟2 小时前
使用python向钉钉群聊发送消息
java·python·钉钉