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变量时通过调试查看变量值

posted @ 2021-01-23 12:17  口合口合kouhekouhe  阅读(58)  评论(0编辑  收藏  举报