2024年java基础知识笔记

java基础知识笔记1 class 类名必须与文件名一样 javac Hello java javac 命令 编译代码 会生成一个 jvm 运行的 class 文件 java Hello java 命令 运行代码 2 java 运行机制 java 既有编译型特点 也有解释型特点 高级语言分 2 种 编译型 和解释型 编译型和解释型的区别就在于执行时机不一样 以一本书作比喻

大家好,我是讯享网,很高兴认识大家。



1、class 类名必须与文件名一样
  javac Hello.java   - javac命令,编译代码,会生成一个 jvm 运行的 class 文件
  java Hello - java命令,运行代码


2、java运行机制 - java既有编译型特点,也有解释型特点
  高级语言分 2 种:编译型、和解释型
  编译型和解释型的区别就在于执行时机不一样。
  以一本书作比喻:比如中国人L创作了《三体》,美国人M想看,但是M不懂中文,那么M有 2 种方式去读这本书。
  第一种,《三体》直接翻译印制为美文版出书,M要看就去买翻译的美文版这本书,直接看;
  第二种,M请一个翻译官F,F边看边翻译给M。
  经过这 2 种方式,M都可以看完《三体》这本书,但是这 2 种方式各有优缺点:
  第一种方式的缺点,就是比如L修改了一部分《三体》,那么翻译的美文版,就得重新翻译印制成书,M想看就只能再次购买新出的书
  第二种方式的缺点就是M看到后面想再从前面看,那么F也得翻到前面重新翻译给M,并且F如果不翻译了,那么M也看不了了。


3、java程序运行机制


(1)源程序java文件 - 经过java编译器 - 编译为字节码(class文件)
  这个class文件才是真正被执行的文件,所以java程序都会经过一个预编译阶段生成class文件 - 机器语言与java源代码之间的字节码文件
(2)class执行的时候,就会经过一系列处理,走到 JVM虚拟机,jvm虚拟机会将这个class类加入到 JVM 的类装载器 - 之后经过字节码校验器校验是否出错 - 在交给解释器解释给操作系统,解释一步执行一步
  所以Java就是既有java基础知识笔记编译型语言的特点,也有解释型语言的特点。


4、数据类型
  强类型语言:要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用。
  弱类型语言:如javascript
  java的数据类型分为两大类:基本类型、应用类型

  什么是字节:
  位(bit):是计算机 内部数据 储存的最小单位,是一个八位二进制数
  字节(byte):是计算机 数据处理 的基本单位,用B表示
  1B(字节) = 8 bit(位)
  字符:是指计算机中使用的字母、数字、字和符号
  1bit表示1位,1Byte表示1个字节,1B=8b,1Kb =1024B
5、数据类型问题记录
(1)整数拓展:进制问题 - 二进制(0b开头) 十进制 八进制(0开头) 十六进制(0x开头)

int i = 10; int i2 = 010; // 八进制, 为8 int i3 = 0x10; // 十六进制,为16
讯享网

(2)浮点数拓展:银行业务,浮点数计算怎么表示
  浮点数的加减乘除会存在问题,因为浮点数是有限的离散的,而有很多数据是无限的,浮点数都会存在舍入误差,它是接近但不等于
  最好完全不使用浮点数进行比较。
  需要使用java内置的类BigDecimal去进行浮点数的计算
(3)字符可以强制转换为数字。
  原因:所有的字符本质还是数字
  编码问题 - Unicode编码表(97 = a)- 2字节 - 65536


6、数据类型转换
  强制转换:(类型)变量名   -   低 -> 高
  自动转换:高 -> 低
注意:
(1)不能对布尔值进行转换
(2)不能把对象类型转为不相干的类型
(3)在把高容量转为低容量的时候,是强制转换;把低容量转为高容量的时候,是自动转换
(4)转换的时候可能存在内存溢出,或者精度丢失问题
注意:
(1)操作比较大的数的时候,注意溢出问题(JDK7新特性,数字之间可以用下划线_分割)


7、字符串连接符的一个小细节问题
比如:a=10,b=20
那么:'' + a + b = '1020',但是:a + b + '' = '30'

小讯
上一篇 2024-12-24 14:42
下一篇 2024-12-23 18:09

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/3450.html