Java基础(含部分面试题)
学习来源https://www.bilibili.com/video/BV12J41137hu?p=30
Java所有的组成部分都需要名字。类名、变量名以及方法名凑被称为标识符
关键字

标识符注意点
-
所有的标识符都应该以字母(A-Z或者a-z),美元符$,或者下划线(_)开始。
-
首字符之后可以时字母(A-Z或者a-z),美元符$,下划线(_)或数字的任何字符组合。
-
不能使用关键字作为变量名或者方法名。
-
标识符是大小写敏感的。
-
变量名和类名,可以使用中文命名,但一般不建议这样使用,也不建议使用拼音。
数据类型
强类型语言(Java、C、C++)
-
要求变量的使用要严格符合规定,所有变量都必须先定义后才能和使用。
-
如果定义一个变量,指定了数据类型,如果不仅过转换,就永远是这个数据类型。
-
优势:安全性高
-
缺点:速度慢
弱类型语言(VBScript、JavaScript)
-
只要不出问题,可以不符合规定
Java的数据类型
-
基本类型(primitive type)
-
数值类型
-
整数类型:byte占1字节范围-128~127;short占2字节范围-32768~32767;int(常用)占4个字节范围-2147483648~2147483647(±21亿);long占8个字节范(long类型要在数字后面加个L)围:-9223372036854775808~9223372036854775807
-
浮点类型:float占4个字节(float类型要在数字后面加个F);double(常用)占8个字节
-
字符类型:char占2个字节;char只能是一个字符,一个字或者一个字母;且要用单引号''。
-
-
boolean(布尔值)类型:占1位,其值只有true和false两个
-
-
引用类型(reference type)
-
类:比如字符串(String)
-
接口
-
数组
-
-
注意:字符串,Sting不是关键字,是一个类


扩展及面试问题
-
整数
-
默认十进制,二进制0b开头,八进制0开头,十六进制0x开头;
-
println打印输出会自动换行,print打印输出不会换行。
-

-
浮点数扩展
-
银行面试题--银行业务不能用浮点数计算,需要使用BigDecimal类
-
浮点数并不精确
-

-
字符扩展
-
所有字符的本质还是数字,由Unicode编码表对应
-
Unicode表为16进制,官方写法\u0000----\uFFFF,对应数字转为10进制,即有截图结果。\u0061中61为16进制,对应为10进制97,对应a。
-

-
转义字符
-
\t 制表符
-
\n 换行符
-
\ ....
-

-
布尔值扩展

类型转换
运算中,不同类型的数据先转化为同一类型,然后进行运算。
小数优先级大于整数

强制类型转换
高转低,需要强制转换
自动类型转换
低转高,自动转换
转换时可能存在溢出问题与精度问题


变量
变量实质也是内存地址,其位置是固定的,只是其中的值不确定
Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。
不建议一行同时定义多个变量

变量作用域


常量



运算符
基本运算符

%为取余数,又称模运算
等于用两个等号==
不等于用!=


-
如果运算中,有一个是long(且无更高的变量类型),则最终结果为long
-
如果运算中,有一个是double,则最终结果为double。
-
如果运算中,均未超过long且不含long,则结果默认为int。

自加、自减运算符


-
注意:Java中^表示异或运算,而非幂运算
逻辑运算符、位运算符




-
乘2左移1位,乘4左移2位,乘8左移3位,乘16左移4位
-
不论是位运算,还是四则运算,性能是不会有明显差异的。(要相信JAVA底层已经做足了优化,不必我们事事费心)。(来源:https://blog.csdn.net/yanqun007/article/details/106378363/)
-
位移运算、四则运算和空闲操作,在性能上 基本没有什么差别(从本次结果来看,“空闲操作”甚至比 其他运算时间还慢;这和系统资源准备情况有关,属于一种“随机”,不用理会)。 (来源:https://blog.csdn.net/yanqun007/article/details/106378363/)
三元运算符及小结


优先级
-
加括号弄明白,不影响代码
包机制
-
本质是文件夹

-
尽量不要让包里的名字重复


JavaDoc

生成JavaDoc文档
通过命令行 javadoc Java文件



之后通过文件路径的形式,进入Dos界面

-
-encoding UTF-8 -charset UTF-8,是为了使“路径中的中文”和“生成文件后产生的乱码”,正常显示
-
Doc.java,生成文件
语句执行后,会在源文件生成一些网页文件,可以点开,看到完整的编辑的文字等显示

使用IDEA生成JavaDoc文档
参考https://blog.csdn.net/qq_42498502/article/details/90078972
浙公网安备 33010602011771号