Java 学习笔记 02:基本语法

1 java中的注释

1.1 单行注释

1
2
3
4
5
6
public class HelloWrold {
public static void main(String[] args) {
//输出一行HelloWorld
System.out.e,World");
}
}

1.2 多行注释

1
2
3
4
5
6
7
8
9
public class HelloWrold {
public static void main(String[] args) {
/*
输出一行HelloWorld
多行注释
*/
System.out.println("Hello,World");
}
}

1.3 文档注释

1
2
3
4
5
6
7
8
9
public class HelloWrold {
public static void main(String[] args) {
/**
* @Description HelloWorld
* @Aythor Aucki6144
*/
System.out.println("Hello,World");
}
}

书写注释是一个好的习惯

2 Java关键字

2.1 关键字表格

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 interface long native
new package private protected public
return strictfp short static super
switch synchronized this throw throws
transient try void volatile while

2.2 标识符注意点

  • 所有的标识符都应以字母,美元符,或者下划线开始。
  • 首字符之后可以是字母,美元符,下划线或数字的任意字符组合。
  • 不能使用关键字作为标识符。
  • 不要使用拼音。
  • 不能重名。
  • 标识符是大小写敏感的。

3 Java 数据类型

Java是强数据类型语言,变量的使用要严格符合规定,所有变量都必须先定义后使用

弱类型语言:VB、JS、Python……

Java的数据类型有两类:

  • 基本类型
  • 引用类型

3.1 基本类型

3.1.1 整数类型

  • byte : -128~127 整型 1byte
  • short : -32768~32767 整型 2byte
  • int : -2147483648~2147483647 整型 4byte
  • long : 八字节整型

3.1.2 浮点类型

  • float : 四字节浮点型
  • double : 八字节浮点型

3.1.3 字符类型

  • char : 两字节字符型

3.1.4 其他

  • boolean : 布尔型

举例

1
2
3
4
5
6
7
8
int num1 = 10;
byte num2 = 20;
short num3 = 30;
long num4 = 40L;//long要加L
float num5 = 50.1F;//float要加F
double num6 = 3.141592653589;
char character = 'A';
boolean flag = true ;//是非

3.2 引用类型

👉 除了基本类型都是引用类型。

3.5 Java数据类型拓展

3.5.1 关于整形

1
2
3
int i = 10;
int i2 = 010; //八进制
int i3 = 0x10; //十六进制

3.5.2 关于浮点型

1
2
float f = 0.1f;
double d = 1.0/10;

浮点数并不精确,有误差。

最好完全避免使用浮点数进行比较

替代: BigDecimal 数学工具类。

3.5.3 关于字符

1
2
3
4
5
6
7
8
9
char c1 = 'a';
char c2 = '中';
System.out.println((int)c1);
System.out.println((int)c2);

/*
>>97
>>20013
*/

所有的字符本质还是数字(Unicode编码)

1
System.out.println("Hello\tWorld"); //转义字符

3.5.4 关于布尔

1
2
3
4
5
6
7
boolean flag = true;

if(flag){
// TODO
}

// Less is more.

4 Java 类型转换

不同类型数据转成同一类型后运算,且转换中避免类型溢出。

由低到高:自动转换

由高到低:强制转换

低 -------------------------------------------> 高

byte short char int long float double注意点

  • 不能对布尔型进行转换。
  • 不能把对象类型转换为不相干的类型。
  • 在把高容量转换成低容量的时候,可能存在内存溢出或精度问题。
  • JDK7新特性,数字之间可以用下划线分割
1
int monry = 10_0000_0000 ;

5 Java 中的变量

变量就是可以变化的量

Java是一种强类型语言,每个变量都必须声明其类型。

Java变量是程序中的最基本存储单元,其要素包括变量名,变量类型和作用域。

1
2
type varName [=value] [{,varName[=value]}] ;
//还是建议一行一个值

5.1 变量作用域

1
2
3
4
5
6
7
8
9
public class Variable {
static int allClicks = 0; // 类变量
String str = "Hello , world"; // 实例变量

public void method(){
int i = 0; // 局部变量

}
}
  • 类变量:从属于类
1
2
3
4
5
6
public class Demo02 {
static double salary = 250000;
public static void main(String[] args) {
System.out.println(salary);
}
}
  • 实例变量:从属于对象
1
2
3
4
5
6
7
8
9
10
11
12
13
14
public class Demo01 {
String name="aucki6144";
int age;
public static void main(String[] args) {
Demo01 demo01 = new Demo01();
System.out.println(demo01.name);
System.out.println(demo01.age);
}
}

/*
>>aucki6144
>>0
*/

除了基本类型,其余的类型默认值都是null

  • 局部变量:局部变量在方法中,使用之前必须声明和初始化值。作用域在它所在的方法中。

5.2 常量

不可以被改变的值

1
2
3
static final double PI = 3.14;
//或 final static double ...
//final是修饰符,不存在先后顺序

5.3 变量命名规范

  • 所有变量,方法,类名,见名知意。
  • 类成员变量:首字母小写和驼峰命名法。
  • 局部变量:首字母小写和驼峰命名法。
  • 常量:所有字母大写,下划线命名。
  • 类型:首字母大写,驼峰命名法。
  • 方法名:首字母小写,驼峰命名法。

6 Java 中的运算符

  • 算术运算符:+ , - , * , / , % , ++ , –
  • 赋值运算符:=
  • 关系运算符:> , < , >= , <= , == , != , instanceof
  • 逻辑运算符:&& , || , !
  • 位运算符:& , | , ^ , ~ , e>> , >> , >>>
  • 条件运算符:?:
  • 拓展赋值运算符:+= , -= , *= , /=

位运算效率很高


7 Java 包机制

包的本质就是一个文件夹

一般使用域名倒置作为包名

导入包:

1
import java.util.Date;

8 Javadoc 注释

javadoc命令是用来声称自己的文档的

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
/**
* @author aucki6144
* @version 1.0
* @since 1.9
*/
public class Demo02 {
static double salary = 250000;
String name;

/**
*
* @param args
* @throws Exception
*/
public static void main(String[] args) throws Exception {
System.out.println(salary);
return name;
}
}

生成javadoc文档命令:

1
javadoc -encoding UTF-8 -charse UTF-8 Doc.java