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