意见箱
恒创运营部门将仔细参阅您的意见和建议,必要时将通过预留邮箱与您保持联络。感谢您的支持!
意见/建议
提交建议

java - JavaSE基础 -- 数据类型_个人文章

来源:恒创科技 编辑:恒创科技编辑部
2024-01-30 07:28:59
变量和常量

在使用计算机编写程序的时候,我们怎么来表示生活中的各种类如年龄,性别,身份证号码等数据呢?

在Java中,我们使用变量和常量的概念表示

此外,生活中的数据分为可变和不可变的,比如年龄会随着时间而增长,而圆周率,普朗克常数这些数据是不会变化的


java - JavaSE基础 -- 数据类型_个人文章

那我们可以用变量来表示前者,用常量来表示后者

变量

变量的作用域

一般来说,变量定义时所在的花括号范围即为变量的作用域

image.png

image.png

因为第二个花括号包含于第一个花括号里面,而a在第一个花括号里定义

因此第二个花括号也属于a的作用域

而如果在第二个花括号内定义,而在第一个花括号内使用,便会出现错误

因为此时a的作用域只有第二个花括号的范围

image.png

变量的命名规则

我们在命名变量的时候,只能使用数字,字母还有下划线,且不能使用数字开头

并且命名的时候,要做到见名知意,因为这能让我们阅读代码时更加高效

我们可不想一个月之后阅读自己代码的时候,花许多时间在思考a,b,c,asdfa变量都是干什么的

(当然,不只是方便自己)

为做到见名知意,我们可以采取以下原则

具有描述性小驼峰命名法,也就是第一个单词首字母不大写,接下来的单词首字母都大写

如年龄最大值,可命名为maxAge

常量

字面值常量

字面值常量含义10十进制数字010八进制数字0x10十六进制数字10L / 10llong类型数值1.0double类型数值1.5e2同上, 相当于1.5 * 10 ^ 21.0ffloat类型数值trueboolean类型字面值falseboolean类型字面值'a'字符类型字面值"hello"字符串类型字面值

定义

image.png

(一旦定义,便不可修改)


Java中有八大基础数据类型和三大引用数据类型

image.png


八大数据类型int

表示整数

一个int占4个字节

System.out.println(Integer.SIZE); //查看Integer类有多少个字段(比特位)

范围为: -2^31 ~ 2^31-1

System.out.println(Integer.MAX_VALUE);


long

表示范围更大的整数

一个long占8个字节

定义

long a = 100L;

long a = 100l;

范围为: -2^63 ~ -2^63-1


float

表示小数(浮点数)

一个float占4个字节

定义

float num = 1.1f;
float num = 1.1F;


double

表示范围更大的小数

一个double为8个字节

注意点1

System.out.println(1 / 2);

打印结果为0

关于 / 运算符,若我们想要得到double类型的结果,至少需要有一个操作数为double

注意点2

double num = 1.1;
System.out.println(num * num)

执行结果为:

image.png

之所以会出现精度误差,是因为在内存中使用有限的空间去存储无限的小数


char

表示各种字符(字符,数字或特殊符号)

一个char占2个字节

定义

char a = 'a'


byte

在网络传输,通信中起到重要的作用

取值范围为-128到127

一个byte占1个字节


short

表示范围更小的整数

一个short占2个字节

范围为: -32768 -> 32767


boolean

用来表示真假

一个boolean类型占多少空间在不同JVM中可能不同,并没有明确规定

注意事项

Java中的boolean类型不能与int相互转换

如,循环体中的真假判断部分不能为整型

image.png

应当改为

image.png


类型转换范围小的类型能直接转换为范围大的类型(隐式转换)范围大的类型转换为范围小的类型需要进行强制类型转换(精度可能会丢失)互不相干的类型之间无法转换(如数值类型和boolean类型,但int类型和String类型有特殊的方式进行转换)

案例1 int, double, long类型之间的转换

image.png

这里我们可以看出,double类型的范围是最大的,因为能直接兼容int类型和long类型

image.png

而当我们进行强制转换时,就不会提示错误了

案例2 int和boolean类型之间的转换

image.png

image.png

这里我们可以看到,即时加了进行强制转换也无法成功

因为int和boolean是毫不相关的两种类型

(不像C语言中的0表示false, 非0表示true)

案例3 int和char类型之间的转换

image.png

image.png

我们可以看到,int和char类型之间的转换跟案例1基本没什么不同

只是转换的时候会照着ASCII码表进行

案例4 int和String的互相转换

int转换为String

image.png

String转换为int

image.png

数值提升不同数据类型混合运算时,范围小的会提升为大的运算时最小单位为4个字节,若不足4个字节(如short,char)会提升至4个字节再运算 (这是为了实现硬件方面运算的便捷)

案例1

image.png

image.png

案例2

image.png

出现错误,提示 “从int转换到byte可能会有损失”

image.png

三大引用类型数组类字符串

创建

image.png

image.png

转义字符

在创建字符串的时候,我们要用 "" 将内容包裹起来,但如果我们想给里面的字符也加上""就会出现问题

image.png

也就是字符串提前结束了

因此,我们可以加个反斜杠,相当于需要告诉计算机

“嘿,这是字符串的一部分,不是要结束的意思”

image.png

\"也就被称为转义字符

转义字符含义\n换行\''\""\\\\ttab键

字符串拼接

image.png

打印结果为:

image.png

那如果字符串的内容都为数字,拼接之后的结果会不会是两个数字相加呢?

image.png

image.png

可以看出,拼接这个动作,只是单纯把字符连接起来

接口
上一篇: java - Spring Boot微服务个人见解_个人文章 下一篇: 手机怎么远程登录云服务器?