五、变量、数据类型以及转义字符

本文介绍了Java中的变量和数据类型。变量作为内存中存储数据的基本单元,分为局部变量和成员变量,其作用域决定了它们的有效范围。数据类型包括基本数据类型如整型、浮点型、布尔型和字符型,以及引用数据类型如字符串。理解变量的声明、作用域和数据类型的差异对于编程至关重要。此外,还提到了字符编码和转义字符的概念。
摘要由CSDN通过智能技术生成

一、变量

1.了解变量之前的准备

所有软件的执行过程最主要的就是对数据的处理
软件在执行数据之前需要能够表示数据
表示数据就需要字面量

字面量有很多种:
整数型字面量:1,2,3
浮点数字面量:1.1,2.2,3.3
布尔型字面量:true(真),false(假)
字符型字面量:‘1’ , ‘a’ , ‘人’
字符串型字面量:“1”, “a”, “人类”

所有字符型需要单引号括起来,并且里面只能有一个字符;字符串型需要双引号括起来

但是如果只有字面量是不够的,只有字面量不能做到内存重复利用,这个时候就需要变量;
每创建一个字面量内存都是开辟一块新的空间,但是创建一个变量,每次使用变量都是指向同一个空间

2.什么是变量

变量其实是内存中存储数据最基本的单元
在java中所有数据都是有类型的,不同类型的变量,Java虚拟机会为其分配不同的内存空间

对于一个变量来说,需要注意三大要素
变量的数据类型:决定空间大小
变量的名字:方便以后访问
变量中保存的值: 保存数据

变量也是属于标识符:
首字母小写,后面每个单词首字母大写,驼峰命名,见名知意

3.变量的声明

数据类型 变量名

变量必须先声明再访问
在同一个class中变量名不能重名

4.变量的分类

(1)在方法题中声明的变量:局部变量(只在方法体中有效,方法执行后就释放)
(2)在方法体之外,类体之内声明的变量:成员变量(class下,main上)

5.变量的作用域

(1)什么是作用域
变量的有效范围(出了大括号就不认识了,以及就近原则)

二、数据类型

1.数据类型有什么用

数据类型就是用来声明变量的

2.数据类型的分类

(1)基本数据类型
1)整数型:byte、short、int、long
2)浮点型:float、double
3)布尔型:boolean
4)字符型:char
java中除了基本其他都是引用
(2)引用数据类型
字符串型String以及其他

3.基本数据类型的区别

(1)所占的字节不同(输出形式)
byte:1个字节(1)
short:2个字节(1)
int:4个字节(1)
long:8个字节(1L)
float:4个字节(1.1F)
double:8个字节(1.1)
boolean:1个字节(true/false)
char:2个字节(‘a’)

任何一个浮点型都比整数型空间大
任何一个

4.字符编码

因为char表示文字,每个国家有不同的文字,计算机表示起来麻烦,所以就需要一套字符编码来规定 (相当于字典)

字符编码涉及到编码和解码,如果编码和解码不一致会出现乱码

常用的字符编码
‘a’:97
‘A’:65
‘0’:48

三.转义字符

1.常用转义字符

‘\t’:表示tab
‘\n’:表示换行
‘’’:表示’
\转义的是后面的字符
\u+…表示一个字符的unicode编码
unicode编码是十六进制的

扩展

在任何情况下,整数型的"字面量/数据"默认被当作int类型处理,如果希望该字面量被当作long,需要加L
任何情况下,浮点型数据默认被当作double来处理,如果相当float需要加F/f
小容量转换为大容量被称为自动类型转换
大容量转换为小容量被称为强制类型转换(代价是有可能损失精度)
当整数型字面量没有超过byte,short,char取值范围的时候可以直接赋值(这种语法是为了方便存在的)
多种数据类型混合运算的时候,各自先转换成容量最大的那一种再运算
当一个整数赋值给char的时候,会自动转换为char字符型

(计算机底层知识)(不需要看)

计算机在任何情况下都只能识别二进制
计算机在底层存储数据的时候,一律存储的是“二进制的补码形式”,原因是补码形式效率最高
什么补码

二进制有:原码 反码 补码
对于一个正数来说,二进制原码、反码、补码是同一个,完全相同
int i = 1;
对应的二进制原码:00000000 00000000 00000000 00000001
对应的二进制反码:00000000 00000000 00000000 00000001
对应的二进制补码:00000000 00000000 00000000 00000001

对于一个负数来说:
byte i = -1;
对应的二进制原码:10000001
对应的二进制反码:(符号位不变,其他未取反)11111110
对应的二进制补码:(反码+1)11111111

因此可以通过一个二进制补码形式,采用逆推导的方式推算出这个二进制补码对应的原码是多少
例子:先算出一个数字的的二进制,然后减一,然后取反,然后如果第一位是1是负数,0是正数,其他位相加得出的数

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值