【JavaSE】Java基础
前言:
推荐免费Java基础入门视频:【狂神说Java】Java零基础学习视频通俗易懂_哔哩哔哩_bilibili
注释
-
Java中的注释有三种
-
单行注释
-
多行注释
-
文档注释
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47//单行注释
/*
多行注释
*/
/**
文档注释
*/
/**
* ii. ;9ABH,
* SA391, .r9GG35&G
* &#ii13Gh; i3X31i;:,rB1
* iMs,:,i5895, .5G91:,:;:s1:8A
* 33::::,,;5G5, ,58Si,,:::,sHX;iH1
* Sr.,:;rs13BBX35hh11511h5Shhh5S3GAXS:.,,::,,1AG3i,GG
* .G51S511sr;;iiiishS8G89Shsrrsh59S;.,,,,,..5A85Si,h8
* :SB9s:,............................,,,.,,,SASh53h,1G.
* .r18S;..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,.1H315199,rX,
* ;S89s,..,,,,,,,,,,,,,,,,,,,,,,,....,,.......,,,;r1ShS8,;Xi
* i55s:.........,,,,,,,,,,,,,,,,.,,,......,.....,,....r9&5.:X1
* 59;.....,. .,,,,,,,,,,,... .............,..:1;.:&s
* s8,..;53S5S3s. .,,,,,,,.,.. i15S5h1:.........,,,..,,:99
* 93.:39s:rSGB@A; ..,,,,..... .SG3hhh9G&BGi..,,,,,,,,,,,,.,83
* G5.G8 9#@@@@@X. .,,,,,,..... iA9,.S&B###@@Mr...,,,,,,,,..,.;Xh
* Gs.X8 S@@@@@@@B:..,,,,,,,,,,. rA1 ,A@@@@@@@@@H:........,,,,,,.iX:
* ;9. ,8A#@@@@@@#5,.,,,,,,,,,... 9A. 8@@@@@@@@@@M; ....,,,,,,,,S8
* X3 iS8XAHH8s.,,,,,,,,,,...,..58hH@@@@@@@@@Hs ...,,,,,,,:Gs
* r8, ,,,...,,,,,,,,,,..... ,h8XABMMHX3r. .,,,,,,,.rX:
* :9, . .:,..,:;;;::,.,,,,,.. .,,. ..,,,,,,.59
* .Si ,:.i8HBMMMMMB&5,.... . .,,,,,.sMr
* SS :: h@@@@@@@@@@#; . ... . ..,,,,iM5
* 91 . ;:.,1&@@@@@@MXs. . .,,:,:&S
* hS .... .:;,,,i3MMS1;..,..... . . ... ..,:,.99
* ,8; ..... .,:,..,8Ms:;,,,... .,::.83
* s&: .... .sS553B@@HX3s;,. .,;13h. .:::&1
* SXr . ...;s3G99XA&X88Shss11155hi. ,;:h&,
* iH8: . .. ,;iiii;,::,,,,,. .;irHA
* ,8X5; . ....... ,;iihS8Gi
* 1831, .,;irrrrrs&@
* ;5A8r. .:;iiiiirrss1H
* :X@H3s....... .,:;iii;iiiiirsrh
* r#h:;,...,,.. .,,:;;;;;:::,... .:;;;;;;iiiirrss1
* ,M8 ..,....,.....,,::::::,,... . .,;;;iiiiiirss11h
* 8B;.,,,,,,,.,..... . .. .:;;;;iirrsss111h
* i@5,:::,,,,,,,,.... . . .:::;;;;;irrrss111111
* 9Bi,:,,,,...... ..r91;;;;;iirrsss1ss1111
*/
-
标识符和关键字
常见关键字:
abstract | assert | boolean | break | byte |
---|---|---|---|---|
case | catch | char | class | const |
continue | default | do | double | else |
enum | extends | final | finally | float |
for | goto | if | implements | import |
instanceof | int | interfact | long | native |
new | package | private | protected | public |
return | strictfp | short | static | super |
switch | synchronized | this | throw | throws |
transient | try | void | volatile | while |
标识符注意点
- 所有标识服都应该是以字母,$,_ 开始。
- 首字母之后可以是字母,$,_,或数字的任何字符组合。
- 不能使用关键字作为变量名和方法名。
- 严格区分大小写。
数据类型讲解
-
强类型语言
- 要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用。
-
弱类型语言
-
Java的数据类型分为两大类
-
基本类型(primitive type)
引用类型(reference type):类,接口,数组
-
什么是字节
-
位(bit):是计算机内部数据储存的最小单位,11001100是一个八位二进制数。
-
字节(byte):是计算机中数据处理的基本单位,习惯上用大写B来表示。
-
1B(byte,字节) = 8bit(位)。
-
字符:是指计算机中使用的字母、数字、字和符号。
-
1bit表示1位,
-
1Byte表示1字节1B=8b,
-
1024B=1KB
-
1024M=1G
数据类型扩展及面试题讲解
1 | public class Demo02 { |
类型转换
- 由于Java是强类型语言,所以要进行有些运算的时候,需要用到类型转换。
低 ---------------------------------------------高
byte,short,char -> int -> long -> float -> double
- 运算中,不同类型的数组先转换为同一类型,然后进行运算。
- 强制类型转换
- 自动类型转换
1 | public class Demo03 { |
变量、常量、作用域
变量:
-
变量是什么:就是可以变化的量。
-
Java是一种强类型语言,每个变量都必须声明其类型。
-
Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。
1
2type varName [=value] [{,varName[=value]}];
//数据类型 变量名 = 值; 可以使用逗号隔开来声明多个同类型变量 -
注意事项
- 每个变量都有类型,类型可以是基本类型,也可以是引用类型。
- 变量名必须是合法的标识符。
- 变量声明是一条完整的语句,因此每一个声明都必须以分号结束。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33package com.jokerdig.operator;
/**
* @author Joker大雄
* @data 2021/8/10 - 16:53
**/
public class Demo04 {
//属性:变量
//实例变量:从属于对象 不初始化为默认值
String name;
int age;
//main方法
public static void main(String[] args) {
// int a b c
int a=1,b=2,c=3;//不推荐这种写法
String name = "game";
char x = 'x';
double pi = 3.14;
//局部变量 必须声明和初始胡
int i =10;
System.out.println(i);
//new 对象
Demo04 demo4 = new Demo04();
System.out.println(demo4.age);
}
//其他方法
public void add(){
}
}
常量:
-
常量(Constant): 初始化(initialize)后不能再改变值!不会变动的值。
-
所谓常量可以理解成一种特殊的变量,他的值被设定后,再程序运行过程中不允许被改变。
final 常量名 = 值
final double PI=3.14;
-
常量名一般使用大写字符。
1 | /** |
变量的命名规范
- 所有变量、方法、类名:见名知意。
- 类成员变量:首字母小写和驼峰原则:monthSalary
- 局部变量:首字母小写和驼峰原则。
- 常量:大写字母和下划线:MAX_VALUE
- 类名:首字母大写和驼峰原则:Man,GoodMan
- 方法名:首字母小写和驼峰原则:run(), runRun()
基本运算符
-
Java语言支持如下运算符
- 算数运算符:
+,-,*,/,%,++,--
- 赋值运算符:
=
- 关系运算符:
>,<,>=,<=,==,!= instanceof
- 逻辑运算符:
&&,||,!
- 位运算符:
&,|,^,~,>>,<<,>>
(仅了解) - 条件运算符:
?,:
- 扩展赋值运算符:
+=,-=,*=,/=
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39package com.jokerdig.operator;
/**
* @author Joker大雄
* @data 2021/8/10 - 20:07
**/
public class Demo01 {
public static void main(String[] args) {
//二元运算符
int a = 10;
int b = 20;
System.out.println(a + b);
System.out.println(a - b);
System.out.println(a * b);
System.out.println(a / (double) b);
//拓展
long c = 23123123213L;
int d = 123;
short e = 10;
byte f = 8;
System.out.println(c + d + e + f);//Long
System.out.println(d + e + f);//int
System.out.println(e + f);//int
//============================
//关系运算符返回结果:正确,错误,布尔值
int a1 = 10;
int b1 = 20;
int c1 = 21;
System.out.println(a1>b1);
System.out.println(a1<b1);
System.out.println(a1==b1);
System.out.println(a1!=b1);
System.out.println(c1%a1);
}
} - 算数运算符:
自增自减运算符、初始Math类
1 | package com.jokerdig.operator; |
逻辑运算符、位运算符
1 | package com.jokerdig.operator; |
三元运算符及小结
1 | package com.jokerdig.operator; |
包机制
-
为了更好地组织类,Java提供了包机制,用于区别类名的命名空间。
-
包语法的语法格是为:
package pkg1[. pkg2[.pkg3...]]
-
一般利用公司域名倒置作为包名。
-
为了能够使用某一个包的成员,我们需要再Java程序中明确导入该包。使用"import"来导入。
import package1[.package2...].(classname|*)
JavaDoc生成文档
-
JavaDoc命令使用来生成自己API文档的。
-
参数信息
- @author 作者名
- @version 版本号
- @since 指明需要最早使用的JDK版本
- @param 参数名
- @return 返回值情况
- @throws 异常抛出情况
dos命令生成doc文档:
1
javadoc -encoding UTF-8 -charset UTF-8 类名.java
IDEA如何生成JavaDoc文档
-
准备需要生成JavaDoc文档的类
-
tools->GenerateJavaDoc,配置local为``zh_CN
,OCLA为:
-encoding UTF-8 -charset UTF-8` -
点击OK便可以生成JavaDoc文档
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22package com.jokerdig.base;
/**
* @author Joker大雄
* @data 2021/8/10 - 21:25
* @version 1.0
* @since 1.8
**/
public class Doc {
String name;
/**
*
* @param name
* @return
* @throws Exception
*/
public String test(String name) throws Exception{
return name;
}
}