java全栈学习14
2021年1月28日补充:调用
String b = new String("Hello, World!")在IDEA里显示成String b = new String(original:"Hello, World!"),
original是String()的参数名,IDEA中其他方法调用也是这样,我这个版本没找见这个功能的开关
Java基本数据类型、IDEA调试
强类型语言、弱类型语言
要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用
C++也是强类型语言
强类型的好处是安全性高,坏处是速度慢,“鱼和熊掌”
弱类型语言没有严格规定,比如VB和JS,'12'+3是等于'123'还是'15'
弱类型语言在编辑器上,在语言背后做了非常多事情,才能写得这么随意
弹幕:你有个学历,什么时候学都好使(弹幕里报年龄多是22往上,大三一点也不算老,"都大三了除了个傻逼学生啥也不是"是一件再正常不过的事)
Java中数据类型包括基本数据类型和引用数据类型。
基本数据类型
八大基本数据类型
一定要记死,这是一道考试题,笔试题经常有
类型 | byte | short | int | long | float | double | char | boolean |
---|---|---|---|---|---|---|---|---|
长度 | 1 B | 2 B | 4 B | 8 B | 4 B | 8 B | 2 B | 1 b |
范围 | -128~127 | -32768~32767 | -231~231-1 | -263~263-1 | Unicode | true/false |
JDK7新特性
数字可以用下划线分隔,比如
int money = 1_0000_0000_0000;
变量类型解析
long类型定义的时候要在数字后面加个L或者l(然而因为l长得像1所以一般用L不用l)
float类型定义的时候要在数字后面加个F(或者f)
在运行之前,Java会在editor里从赋值等号右边预先解析出变量类型
char及其与int的关系
char + char,char + int——类型均提升为int;把整数赋值给char变量后,输出字符编码表中对应的字符。(字符的本质是数字)
与别的语言不同的是,char在Java中是16位的,因为Java用的是Unicode。不过8位的ASCII码包含在Unicode中,是从0~127的。
Unicode是一张转译表,从\u0000到\uFFFF,字符变量的值也可以写为'\u0061'
浮点数(float和double)的舍入影响
浮点数用有限位数表示一个离散的数集,从中选取一个数,其值接近但不一定等于要表示的数。
比如0.1f!=0.1,23131312312312313f==23131312312312313f+1
所以说比较两个小数不要用浮点数,而应该用数学工具类BigDecimal来比较
String变量和String对象
String有两种声明方式,
String a = "Hello, World!";
String b = new String("Hello, World!")
/*
不知为什么会显示成String b = new String(original:"Hello, World!")
original不是一个关键字
如果手动输入"original:",这一部分会报错
*/
相同字符串建的两个字符串对象是不相等的,相同字符串值的字符串和字符串对象也不相等,等讲对象的时候会从内存角度讲
调试
打断点,点小虫子开始调试
比如在使用float和double变量时通过调试查看变量值