当前位置: 首页 > article >正文

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

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 八种基本数据类型各自占用的空间大小是多少?

类型名称关键字占用空间大小(字节)
整数型byte1
整数型short2
整数型int4
整数型long8
浮点型float4
浮点型double8
布尔型boolean1
字符型char2

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 八种基本数据类型的取值范围:

类型名称关键字占用空间大小取值范围
整数型byte1[ -128 ~ 127 ]
整数型short2[ -32768 ~ 32767]
整数型int4[ -2147483648 ~ 2147483647]
整数型long8
浮点型float4
浮点型double8
布尔型boolean1[ true,false ]
字符型char2[ 0~65535 ]

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

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

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

  • 认识Java,Java程序的生命周期,运行Java程序

4. 💕👉 其他好文推荐

  • 还不了解Git分布式版本控制器?本文将带你全面了解并掌握
  • 带你认识Maven的依赖、继承和聚合都是什么!有什么用?
  • 2-3树思想与红黑树的实现与基本原理
  • !全网最全! ElasticSearch8.7 搭配 SpringDataElasticSearch5.1 的使用
  • 全面深入Java GC!!带你完全了解 GC垃圾回收机制!!
  • 全面了解Java的内存模型(JMM)!详细清晰!
  • 在JVM中,类是如何被加载的呢?本篇文章就带你认识类加载的一套流程!
  • 带你了解Go语言的判断语句、切片和映射表!!
  • (Java并发编程—JUC)带你重新认识进程与线程!!让你深层次了解线程运行的睡眠与打断!!

http://www.kler.cn/a/465480.html

相关文章:

  • iOS 11 中的 HEIF 图像格式 - 您需要了解的内容
  • tomcat配置存放静态资源,实现网页访问并下载
  • node.js之---CommonJS 模块
  • Monolith - 大规模推荐建模的深度学习框架
  • C#Halcon交互绘制ROI
  • 啥是大模型
  • 【Golang 面试题】每日 3 题(十七)
  • Objective-C语言的软件开发工具
  • 热备份路由HSRP及配置案例
  • 大数据学习(33)-续集
  • 如何配置【Docker镜像】加速器+【Docker镜像】的使用
  • 【踩坑记录】uni-app 微信小程序调试不更新问题解决指南
  • GitHub的简单操作
  • 《 C++ 点滴漫谈: 十七 》编译器优化与 C++ volatile:看似简单却不容小觑
  • idea 的 springboot项目spring-boot-devtools 自动编译 配置热部署
  • 考试座位号(PTA)C语言
  • 【Rust 学习笔记】Rust 基础数据类型介绍——指针、元组和布尔类型
  • 3d扫描仪三维扫描构建牙齿模型
  • certificate verify failed: unable to get local issuer certificate (_ssl.c:10
  • python生成、操作svg图片