900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > [JavaSE] 数据类型(变量 整形 长整型 双精度浮点 单精度浮点 字符 字节)

[JavaSE] 数据类型(变量 整形 长整型 双精度浮点 单精度浮点 字符 字节)

时间:2023-03-11 03:20:36

相关推荐

[JavaSE] 数据类型(变量 整形 长整型 双精度浮点 单精度浮点 字符 字节)

目录

数据类型与运算符

1.0 变量和类型

1.1 整形变量(重点)

1.2 长整型变量

1.3 双精度浮点型变量(重点)

1.4 单精度浮点型变量

1.5 字符类型变量

1.6 字节类型变量

🍹欢迎各路大佬来到 Nick 主页指点

☀️本期文章将学习 [JavaSE] 数据类型(变量、整形、长整型、双精度浮点、单精度浮点、字符、字节),我是博主Nick。✨

✨我的博客主页:Nick_Bears🌹꧔ꦿ

🌹꧔ꦿ博文内容如对您有所帮助,还请给个点赞 + 关注 + 收藏✨

数据类型与运算符

1.0 变量和类型

变量:指的是程序运行时可变的量. 相当于开辟一块内存空间来保存一些数据。

类型:则是对变量的种类进行了划分, 不同的类型的变量具有不同的特性。

Nick我还是不明白变量是啥?

咳咳!简单来说,变量是一个箱子,箱子有不同的种类和容量,这就是变量的类型和大小。

我们所讨论的 "变量" 主要和我们的 "内存" 这样的硬件设备密切相关。这里Nick画了一张图。

为啥要了解冯诺依曼?

约翰·冯·诺依曼(John von Neumann,1903年12月28日-1957年2月8日),美籍匈牙利数学家、计算机科学家、物理学家,是20世纪最重要的数学家之一。冯·诺依曼是罗兰大学数学博士,是现代计算机、博弈论、核武器和生化武器等领域内的科学全才之一,被后人称为“现代计算机之父”、“博弈论之父”。

现在很多计算机运行都是根据这个原理的,我们一起来看看吧~

举个例子,你知道java当中定义一个int变量是怎么转存的嘛?上面这张图就能解释,再举一个例子了解这张图,假如你有一部8G+125G的手机,8G就是内存储器CPU,125G就是外存储器内存。我通过点击屏幕(输入设备)输入搜索XXX,手机里的内存储器调用某款搜索引擎程序,通过运算器对你指令的计算,通过控制器对你指令进行逻辑判断,最终将你想要的结果显示在你的输出设备上!

同理,定义一个数据类型

并输出也是同样的原理

回归原题,现在我们来看第一个

1.1 整形变量(重点)

基本语法格式

int 变量名 = 初始值;

代码示例:

int num = 10; // 定义一个整型变量System.out.println(num) ;

注意事项:

int 表示变量的类型是一个整型。变量名是变量的标识. 后续都是通过这个名字来使用变量。Java 中 = 表示赋值(和数学不一样), 意思是给变量设置一个初始值。(安全性)初始化操作是可选的, 但是建议创建变量的时候都显式初始化。最后不要忘记分号, 否则会编译失败。// 表示注释。注释作为代码的解释说明部分, 不参与编译运行。

变量定义不初始化行吗?

不可以哦,编译器会报错!

体现了Java的安全性

变量命名?

小驼峰 》数字,字母,下划线,美元符(不能数字开头)

下面这些定义可以编译运行嘛?

int ______=10;int __________=101;int 钱 = 100;

可以!合法但不合理!

典型的坑人代码....

为啥钱可以当变量名?

这就是Java有趣的地方了

它采用Unicode字符集,包含多种语言

给你看个阿里的规范手册

规范手册(戳我下载)

所以嘛!以后去公司少不了一通恶补咯

int是几个字节?

在 Java 中, 一个 int 变量占 4 个字节,4*8=32个比特位。这操作系统没有直接关系,不会因为换了机子而改变自身的位数,在window上运行是4个字节,Linux上还是4字节,体现了Java的可移植性强。

什么是字节?

字节是计算机中表示空间大小的基本单位。计算机使用二进制表示数据. 我们认为 8 个二进制位(bit) 为一个字节(Byte)。我们平时的计算机为 8GB 内存, 意思是 8G 个字节。其中 1KB = 1024 Byte, 1MB = 1024 KB, 1GB = 1024 MB。所以 8GB 相当于 80 多亿个字节。

测试int范围小游戏

使用以下代码查看 Java 中的整型数据范围

System.out.println(Integer.MAX_VALUE); // int 的最大值System.out.println(Integer.MIN_VALUE); // int 的最小值

由此可见4个字节表示的范围是:-2^31 -> 2^31-1 , 也就大概是 -21亿 到 +21亿。

如果给最大值+1,最小值-1呢?

public class a1{public static void main(String[] args){System.out.println(Integer.MAX_VALUE+1); System.out.println(Integer.MIN_VALUE-1); //Integer是int的plus版本,官方称之为包装类!}}

我屮艸芔茻?

居然最大值和最小值互换了?!

数据类型原来就是个圈?

圈儿的范围大小取决于字节大小!

如果运算的结果超出了 int 的最大范围, 就会出现溢出的情况!

21亿这样的数字对于当前的大数据时代来说, 是很容易超出的. 针对这种情况, 我们就需要使用更大范围的数据类型来 表示了. Java 中提供了 long 类型。

1.2 长整型变量

基本语法格式:

long 变量名 = 初始值;

代码示例:

long num = 10L; // 定义一个长整型变量, 初始值写作 10l 也可以(小写的 L, 不是数字1). System.out.println(num) ;

注意事项:

基本语法格式和创建 int 变量基本一致, 只是把类型修改成 long。初始化设定的值为 10L , 表示一个长整型的数字。10l 也可以。使用 10 初始化也可以, 10 的类型是 int, 10L 的类型是 long, 使用 10 L 或者 10 l 更好一些。

Java 中 long 类型占 8 个字节. 表示的数据范围 -2^63 -> 2^63-1

使用以下代码查看 Java 中的长整型数据范围:

System.out.println(Long.MAX_VALUE);System.out.println(Long.MIN_VALUE)// 运行结果9223372036854775807-9223372036854775808

1.3 双精度浮点型变量(重点)

基本语法格式

double 变量名 = 初始值;

代码示例

double num = 2.0;System.out.println(num)

数字游戏 1/2=?

在 Java 中, int 除以 int 的值仍然是 int(会直接舍弃小数部分)。

如果想得到 0.5, 需要使用 double 类型计算。

神奇的代码

double num = 1.1;System.out.println(num * num)// 执行结果1.2100000000000002

Java 中的 double 虽然也是 8 个字节, 但是浮点数的内存布局和整数差别很大, 不能单纯的用 2 ^ n 的形式表示数据范围。

Java 的 double 类型的内存布局遵守 IEEE 754 标准(和C语言一样), 尝试使用有限的内存空间表示可能无限的小数, 势必会存在一定的精度误差。

1.4 单精度浮点型变量

基本格式

float 变量名 = 初始值;

代码示例

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

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

1.5 字符类型变量

基本格式

char 变量名 = 初始值;

代码示例

char ch = 'A'

注意事项

Java 中使用 单引号 + 单个字母的形式表示字符字面值。计算机中的字符本质上是一个整数. 在 C 语言中使用 ASCII 表示字符, 而 Java 中使用 Unicode 表示字符。因此一 个字符占用两个字节, 表示的字符种类更多, 包括中文。C语言中 char 占一个字节(区别)。

使用一个字符表示一个汉字

char ch = '呵'; System.out.println(ch);

执行 javac 的时候可能出现以下错误:

此时我们在执行 javac 时加上 -encoding UTF-8 选项即可。

javac -encoding UTF-8 a1.java

1.6 字节类型变量

基本语法格式

byte 变量名 = 初始值;

代码示例:

byte value = 0; System.out.println(value);

注意事项:

字节类型表示的也是整数. 只占一个字节, 表示范围较小 ( -128 -> +127 )字节类型和字符类型互不相干

超范围了

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。