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.111111789double num10 = 2.111111789输出结果为num9 = 2.111111;num10 = 2.111111789

3 — 浮点常量默认double型,float num1 = 1.1运行报错,因为1.1默认为double型float num1 = 1.1ffloat num1 = 1.1F则成功运行。

4double 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

3char 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

2 — 自动转换细节总结

3 — 强制转换概述

4 — string转换


总结

尽量截图做笔记,提升效率

发表回复

后才能评论