【Java】(2)Java数据类型阐述、基本数据类型的占用和范围、二进制的讲述

本文涉及的产品
可观测可视化 Grafana 版,10个用户账号 1个月
应用实时监控服务-可观测链路OpenTelemetry版,每月50GB免费额度
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: 数据的一种表示形式。十进制表示满十进一原则。二进制表示满二进一原则。例如:十进制例如:二进制计算机在任何情况下都只能识别二进制。

1. 关于java源程序中:

/**
*  这种注释可以被javadoc.exe编译成帮助文档
*/

1.1public class和class 的区别:

  • 一个java源文件当中可以定义多个class
  • 一个java源文件当中public的class不是必须的
  • 一个class会定义生存一个xxx.class的字节码文件
  • 一个java源文件当中定义公开的类,public的class只能有一个并且该类名必须和java源文件名称一致

每一个class当中都可以编写main方法,都可以设定程序的入口向程序,

  • 想执行c.class中的main方法:java c
  • 想执行b.class中的main方法:java b

注意:在命令窗口中执行java a,在a.class中就必须有主方法,没有主方法会出现运行阶段的错误;

2. 关于java中的数据类型:

2.1 数据类型的作用是什么?

  • 程序当中有很多数据,每一个数据都是相关类型的,不同数据类型的数据占用空间大小不同
  • 数据类型的作用是jvm在运行程序的时候给该数据分配多大的内存空间

2.2 java中的数据类型包括两种:

  • 基本数据类型
  • 引用数据类型

2.3 关于基本数据类型:

基本数据类型包括四大类八小种:

类型名称 关键字
整数型 byte
整数型 short
整数型 int
整数型 long
浮点型 float
浮点型 double
布尔型 boolean
字符型 char

字符串“abc”不属于基本数据类型,属于“引用数据类型”,字符属于基本数据类型:

  • 字符串使用双引号 “abc”
  • 字符使用单引号 ‘a’

2.4 八种基本数据类型各自占用的空间大小是多少?

类型名称 关键字 占用空间大小(字节)
整数型 byte 1
整数型 short 2
整数型 int 4
整数型 long 8
浮点型 float 4
浮点型 double 8
布尔型 boolean 1
字符型 char 2

2.5 什么是二进制?

  • 数据的一种表示形式。十进制表示满十进一原则。二进制表示满二进一原则。

例如:十进制

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

例如:二进制

0 1 10 11 100 101 110 111 1000 1001 …

0 1 2 3 4 5 6 7 8 9

计算机在任何情况下都只能识别二进制。

2.6 字节(byte):

【1个字节 = 8个bit】1 个比特位表示一个二进制位:1/0

1 byte = 8 bit

2 KB = 1024 byte

1 MB = 1024 KB

1 GB = 1024 MB

1 TB = 1024 GB

1 TB = 8,796,093,022,208 个二进制位

2.7 byte类型的取值范围是什么?

关于java中的数字类型,数字都是有正负之分的,所以在数字的二进制当中有一个二进制位被称位“符号位”。

并且这个“符号位”在所有二进制的最左边,0表示正数,1表示负数。

  • byte类型最大值: 01111111
  • byte类型最大值:2的7次方 - 1;结果是: 127;
  • byte类型最小值:-128
  • byte类型取值范围:[-128 ~ 127]
  • byte类型可以表示256个不同的数字【256个不同的二进制】
  • 二进制转换成十进制
  • 十进制转换成二进制

2.8 二进制字符转换

计算机只认识二进制,那么计算机时怎么表示现实世界当中的文字的呢?

  • 8 种基本数据类型当中,byte,short,int,long,float,double,boolean这7种数据类型计算机在表示的时候比较容易,因为底层都是数字,十进制的数据和二进制之间存在一种固定的转换规则。
  • 但是八种基本数据类型当中char类型表示的是现实世界中的文字,文字和计算机二进制之间“默认”情况下是不存在任何转换关系的。
  • 为了让计算机可以表示现实世界当中的文字,我们需要进行人为干涉,需要人负责提前制定好“文字”和“二进制”之间的对照关系。
    这种对照转换关系被称为:字符编码

计算机最初只支持英文,最先出现的字符编码是:ASCII码【阿斯特码】

‘a’ --> 97【01100001】

‘A’ --> 65

‘0’ --> 48

‘a’ --(按照ASCII解码)–> 01100001

01100001 --按照ASCII解码–> ‘a’

  • 当解码和编码的时候采用的不是同一套对照表,会出现乱码问题。

由国际化标准组织ISO制定的编码方法,这种编码方式支持西欧语言,向上兼容ASCII码,仍然不支持中文。这种编码方式是:ISO-8859-1,又被称为latin-1

随着计算机向亚洲发展,计算机开始支持中文、日文、韩文等国家文字,其中支持简体中文的编码方式:

GB2312 < GBK < GB18030

支持繁体中文:大五码<big5>

unicode编码统一了全球所有的文字,容量较大;

unicode编码方式有多种方式具体的实现:

- UTF-8

- UTF-16

- UTF-32

  • java语言采用unicode编码方式,所以“标识符”可以用中文
  • 现在实际开发过程中大多都使用的是unicode编码方式

2.9 八种基本数据类型的取值范围:

类型名称 关键字 占用空间大小 取值范围
整数型 byte 1 [ -128 ~ 127 ]
整数型 short 2 [ -32768 ~ 32767]
整数型 int 4 [ -2147483648 ~ 2147483647]
整数型 long 8
浮点型 float 4
浮点型 double 8
布尔型 boolean 1 [ true,false ]
字符型 char 2 [ 0~65535 ]

注意:short和char所表示的种类总数是一样的,只不过char的正数取值范围更大,因为char不能有负数;

  • 在java中全局变量没有手动赋值系统会默认赋值【局部变量不会】

3. ❤️Java基础专栏 - 前篇回顾

4. 💕👉 其他好文推荐

目录
相关文章
|
1月前
|
存储 Java Go
【Java】(3)8种基本数据类型的分析、数据类型转换规则、转义字符的列举
牢记类型转换规则在脑海中将编译和运行两个阶段分开,这是两个不同的阶段,不要弄混!
172 2
|
2月前
|
安全 Java
使用Java多态性进行数据类型转换
以上示范了如何通过多态性来执行安全有效地对于Java对象间相互之间进行正确方式与场合下正确格式与条件限定内对于各个层级关系内部成员及其功能调取与应有操作处理过程,并通过 `instanceof`关键字确保了程序运行期间遵循逻辑合理并符合预设规则条件限定内正常工作流程而无需担忧潜藏风险问题出现可能带来影响结果质量问题情况存在可能。
103 12
|
8月前
|
存储 Java
# 【Java全栈学习笔记-U1-day02】变量+数据类型+运算符
本篇笔记主要围绕Java全栈学习的第二天内容展开,涵盖了变量、数据类型、运算符以及Scanner类的应用。首先介绍了变量的概念与命名规范,以及如何定义和使用变量;接着详细讲解了Java中的基本数据类型,包括整型、浮点型、字符型、布尔型等,并通过实例演示了数据类型的运用。随后,深入探讨了各类运算符(赋值、算术、关系、逻辑)及其优先级,帮助理解表达式的构成。最后,介绍了如何利用Scanner类实现用户输入功能,并通过多个综合示例(如计算圆面积、购物打折、变量交换及银行利息计算)巩固所学知识。完成相关作业将进一步加深对这些基础概念的理解与实践能力。
141 13
|
3月前
|
存储 缓存 算法
Java数据类型与运算符深度解析
本文深入解析Java中容易混淆的基础知识,包括八大基本数据类型(如int、Integer)、自动装箱与拆箱机制,以及运算符(如&与&&)的使用区别。通过代码示例剖析内存布局、取值范围及常见陷阱,帮助开发者写出更高效、健壮的代码,并附有面试高频问题解析,夯实基础。
|
4月前
|
存储 人工智能 JavaScript
Java中的数据类型转换
本文介绍了 Java 中常见的数据类型转换方法,涵盖字符串与整型、长整型、浮点型、布尔型及日期类型的相互转换,并讲解了可能出现的异常和处理方式。
214 0
|
8月前
|
Java C语言 C++
课时9:Java数据类型划分(数据类型划分)
课时9介绍了Java的数据类型划分及其操作。Java数据类型分为基本数据类型和引用数据类型。基本数据类型包括八种:数值型(整形、浮点型)、字符型和布尔型;引用数据类型有数组、类和接口。重点讲解了每种数据类型的默认值、适用场景及选择原则,如整数用int,小数用double,日期时间用Long等。掌握这些内容对编程至关重要。
177 4
课时9:Java数据类型划分(数据类型划分)
|
8月前
|
Java
课时12:Java数据类型划分(字符型)
课时12介绍了Java中的字符型数据(char),包括字符的定义、与int类型的转换及应用。通过范例展示了如何观察字符、编码转换、大小写字母互转、保存中文字符,以及Java中字符处理的灵活性。字符型使用单引号声明,可与int互相转换,支持Unicode编码,能表示任何文字,包括中文。虽然实际开发中直接操作字符型的情况不多,但理解其特性有助于更好地编程。
175 17
|
8月前
|
存储 传感器 缓存
java变量与数据类型:整型、浮点型与字符类型
### Java数据类型全景表简介 本文详细介绍了Java的基本数据类型和引用数据类型,涵盖每种类型的存储空间、默认值、取值范围及使用场景。特别强调了`byte`、`int`、`long`、`float`、`double`等基本类型在不同应用场景中的选择与优化,如文件流处理、金融计算等。引用数据类型部分则解析了`String`、数组、类对象、接口和枚举的内存分配机制。
258 15
|
8月前
|
Java
课时14:Java数据类型划分(初见String类)
课时14介绍Java数据类型,重点初见String类。通过三个范例讲解:观察String型变量、&quot;+&quot;操作符的使用问题及转义字符的应用。String不是基本数据类型而是引用类型,但使用方式类似基本类型。课程涵盖字符串连接、数学运算与字符串混合使用时的注意事项以及常用转义字符的用法。
224 9
|
8月前
|
Java
课时13:Java数据类型划分(布尔型)
观察布尔型的操作。布尔是一位数学家的名字,这个布尔发明了两个单词:True、False(一个表示真一个表示假)。一般布尔类型都只表示逻辑的计算结果。
208 9