2023/11/12/day01
DAY01
基础JAVA(1-5)
Hint_1 加法拼接细节
System.out.println("hw"+100+3)
//输出:hw1003
//加法拼接顺序从左到右
Hint_2 基本存储单位
一个字节byte等于8位bit。位(bit)是最小的存储单位,用于表示二进制数据的0和1。
————-{而字节(byte)是计算机中常用的数据存储单位,通常用于表示字符、整数等数据类型。}
由于每个字节有8位,所以可以表示2^8 = 256个不同的值。
一个字节可以表示的整数范围是从-128到127(有符号字节),或者从0到255(无符号字节)
Hint_3 浮点变量细节&危险场景
1 — 浮点数在机器中的存储形式:浮点数 = 符号位 + 指数位 + 尾数位
2 — 尾数部分可能丢失,造成精度损失(小数都是近似数)
——例子,float num9 = 2.111111789
与double num10 = 2.111111789
输出结果为num9 = 2.111111;num10 = 2.111111789
3 — 浮点常量默认double型,float num1 = 1.1
运行报错,因为1.1默认为double型,float num1 = 1.1f
或float num1 = 1.1F
则成功运行。
4 — double num1 = 1.1f
运行成功,说明较大的存储空间的变量类型可以兼容小空间的变量类型。
5 — 危险场景:
public class danger{
public static void main(String[]args){
if (2.7 == 8.1/3){
System.out.println("equal");
}
}
}
//输出:没有输出,在计算机中8.1/3 = 2.69999997
//计算得到的小数是一个近似数需要注意
正确写法
if(Math.abs(2.7-(8.1/3))<0.00001){
System.out.println("在设定的精度下,可认为相等")
}
Hint_4 char类型细节
1 — char的本质是一个整数,输出的是unicod对应的字符
2 — 可以直接为char变量赋值输出字符char test = 97
//输出test = a
3 — char test_2 = 'a';System.out.println((int)test_2)
//输出:test_2 = 97
4 — char变量用于运算比较
char test_2 = 'b' + 1 //test_2 = 99
System.out.println((int)test_2); //99
System.out.println(test_2); //c,test_2数字结果在unico对应的字符
5 — char类型本质,字符型的存储
存储:’a’=> 所用编码表数值(97)=> 二进制=> 存储
读取:二进制=> 97=> ‘a’=> 显示
***Hint_5 基本数据转换
1 — 自动类型转换
java程序赋值或者运算时,小精度类型(容量)自动转换为大类型变量
转换顺序:
char-int-long-float-double
byte-short-int-long-float-double
例子:int a = ‘c’;double d = 80
4 — string转换
总结
尽量截图做笔记,提升效率