您的位置 首页 java

Java17的8种基础类型

基本类型

Java 中一共有 8 种基本类型(primitive type)。

  • 4 种整型 int、 short 、long、 byte
  • 2 种浮点型 float、 double
  • 1 种表示 Unicode 编码字符的类型(字符型) char
  • 1 种表示 真值 的类型 boolean

变量

简单的描述基本类型之后, 我们先来看看另外一个概念。 学习编程必须掌握的一个概念: “变量”。

如何声明变量, 变量的声明严格按照 Java 标识符规范 。具体标识符内容, 可以翻阅我上一篇内容。

变量这个词主要是来自于数学概念。 是计算机语言中能够存储计算结果的值或者抽象的概念。从最本质上来说, 编程就是对内存中数据的访问和修改。而变量最终指定的就是内存地址的一个引用。

在 Java 中变量主要有以下几种范围:

  • 变量的定义
  • 变量的初始化
  • 变量的赋值
  • 变量的作用域

变量的定义

变量定义的格式: 数据类型 变量名;

上面的八种类型的定义如下:

 //定义变量  实例1
int intValue;
short shortValue;
long longValue;
byte byteValue;
float floatValue;
double doubleValue;
 char  charValue;
boolean  bool Value;  

变量在没有进行初始化之前是不允许进行操作的, 否则会出现变量未初始化的错误。

如何进行变量的初始化呢? 分为两种情况, 一种是定义的时候就直接初始化。另一种就是定义变量之后, 在使用之前进行初始化。推荐在编程中即使没有赋值的情况下, 也给一个常用的默认值。

变量的初始化格式: 数据类型 变量名 = 值;

“=” 是变量赋值的写法。举例如下:

定义并赋值的写法。编译, 运行上面的查看一下效果:

第二种赋值的方式是, 先定义后进行赋值, 这里只演示 int 数据类型:

 int intValue; 
intValue = 1;
System.out.println(intValue);

byte byteValue; 
byteValue = 'a';
System.out.println(byteValue);

long longValue; 
longValue = 2000L;
System.out.println(longValue);  

变量的作用域主要是和花括号{}来区分。 这里先不详细说。 只要知道两个概念就好了, 全局变量 和局部变量。

接下来详细的说说。

整型

整型主要适用于表示没有小数部分的数值,并且它是允许是负数的。整数主要有正整数、0、负整数,其中的含义和数学中的含义相同。 并且在 Java 语言中整数有四种 进制 的表示方法。

  • 十进制:如概念所说, 我们常用的进制类型, 0 – 9 的数字。需要注意, 不能用 0 为开头。例:1000,123。
  • 八进制 :必须以 0 开头, 后面跟着 0 – 7 的数字。例:012 = 10,053 = 43,067 = 55。
  • 十六进制:必须使用 0x 或者 0X 开头,后面跟着 0 – 9 和 A – F (a – f)表示 10 – 15。例:0x1a = 26。
  • 二进制 :从 Java 7 以后,加上前缀0b或0B就可以写二进制数,例如 0b11 就是 3。

并且在JAVA 7之后还可以为数字字面量加下划线,如用1_000_000, 编译器处理之后会去掉这些下划线

上面的内容, 可以使用 jshell 快速的验证你的想法。 建议新入门的动手执行以下:

Java17的8种基础类型

整型主要是有 4 种:byte(字节型)、short(短整型)、int(整型)、long(长整型)。

对于每种类型都有自己的使用范围,数值类型的范围区间。因为 Java 的跨平台性, 数值类型对于任何的平台都是同意的数值类型, 这和 C 语言 和 C++ 不同。

之前的 编程语言 ,因为硬件运行环境的原因,所以数据类型的定义会特别针对资源做了一定的优化,并且在不同的操作系统上和运行环境上,同一个数据类型会有不同的处理方式,比方说C语言的16位和32位的操作系统上就有不同的字节大小,Java 为了跨平台所以,在使用数据类型方面做了固定的数据范围,这样的话,在跨平台的时候就不需要处理亿点点细节,这些差异只需要在 JVM 虚拟机中实现就好了。这也保证了从 虚拟机 上层的运行环境中保持了一致的运行结果。

整型的范围

需要注意的是, 对于长整型来说, 如果数值大过 int 型, 就需要后面加上 l(L) 。否则会报错,错误信息:整数太大。

浮点型

在 Java 语言的 浮点型 是数学中的实数( 浮点数 ),除了表示小数部分, 还能表示整数部分。对于 浮点 类型而言, 也有两种表示方法, 一种是标准计数法, 另一种是科学计数法。

  • 标准计数法:由整数部分、小数点和小数部分构成。例如:3.1415926,0.1314f。该后缀可以使用 f 标志是一个float类型。
  • 科学计数法:由十进制、小数点、小数和指数部分构成。指数部分使用字符 E 或 e,再跟上正负号的整数标识。例如: 123.45 表示为: 1.2345E+2。

两种浮点类型:

float :该数值类型有一个后缀:f(F)。没有后缀的默认是 double 类型。

double:因为 double 数据类型的数值精度是 float 的两倍, 所以也被称为双精度数值类型。一般情况下都是使用这个类型进行实际的应用程序开发。演示代码:

 float f = 1.00f;
f = 1.00F;
double d = 1.00;
d = 1.33d;
d = 2.33D;  

所有的浮点型运算都需要遵守 IEEE 754 规范。如果想了解,可以下载该 PDF:

地址:~wkahan/ieee754status/IEEE754.PDF

浮点型范围

布尔

布尔类型又可以称为逻辑型, 主要用来表示 逻辑值 ,它的值只有 true 和 false 两个值。其中 true 代表真,false 代表假。在 Java 中,不会将这两个值进行转义,也就是不能强制转成整数型。该状态多用于 if while for 的判断中。

 boolean boolValue = true;
boolean typeFlag = false;  

布尔型范围

字符型

字符型 char 用来存储单个字符。字符型的值可以使用 单引号 (”)括起来,并且在 Java 的语言中字符型是使用 16 位的 Unicode 字符集作为编码方式。并且在内存中占用 2 个字节。

现在的字符型和一开始也有了区别。 主要是对于 ASCII 字符, 都可以使用单引号括起来直接使用。 但是对于使用 Unicode 就必须使用十六进制编码的方式进行表示。范围主要是 ‘u0000’ 到 ‘uffff’ 一共 65536 个字符。并且其中前 256 个和 ASCII 字符完全重复。也就是 ‘u0000’ 到 ‘u00ff’

 char a = 'a';
char b = 'u0061'  

字符型范围

基本类型告一段落, 接下来就是引用类型了。 关注我。 持续输出更多基础到实战的知识点内容。

文章来源:智云一二三科技

文章标题:Java17的8种基础类型

文章地址:https://www.zhihuclub.com/186612.shtml

关于作者: 智云科技

热门文章

网站地图