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

相关推荐
吾日三省吾码12 分钟前
JVM 性能调优
java
stm 学习ing17 分钟前
FPGA 第十讲 避免latch的产生
c语言·开发语言·单片机·嵌入式硬件·fpga开发·fpga
湫ccc1 小时前
《Python基础》之字符串格式化输出
开发语言·python
弗拉唐1 小时前
springBoot,mp,ssm整合案例
java·spring boot·mybatis
oi772 小时前
使用itextpdf进行pdf模版填充中文文本时部分字不显示问题
java·服务器
mqiqe2 小时前
Python MySQL通过Binlog 获取变更记录 恢复数据
开发语言·python·mysql
AttackingLin2 小时前
2024强网杯--babyheap house of apple2解法
linux·开发语言·python
少说多做3432 小时前
Android 不同情况下使用 runOnUiThread
android·java