一、Java数据类型:
- 基本数据类型:
- 数值型:
- 整型:(byte/short/int/long)
- 浮点型:(float/double)
- 字符型:(char)
- 布尔型:(boolean)
- 引用数据类型:
- 类:(class)(String类…)
- 接口:(interface)
- 数组:(array[])
二、Java注释:
三、Java语法规范/标识符:
- Java语法规范:
- Java严格区分大小写(Hello!=hello)
- Java的类名的首字母大写(如MyTest1)
- Java的方法名的首字母小写,多个单词之后的单词首字母大写(如sortingMethod())
- 所有的Java程序的入口都是main方法(public static void main(String[] args))
- Java标识符规则:
- 由字母(a-z/ A-Z)、美元符($)、下划线(_)、数字(0-9)组成
- 不能以数字开头
- 不能使用(但能包含)关键字/保留字
- 不能包含空格
- 合法举例:(_1a、a_1、abc、abc_a)
- 非法举例:(123a、-abc)
四、Java关键字:
基本数据类型 |
类/方法/变量修饰符 |
程序控制 |
访问权限控制 |
包相关 |
错误处理 |
变量引用 |
保留字 |
boolean |
abstract |
break |
public |
import |
try |
super |
goto |
byte |
class |
continue |
protected |
package |
catch |
this |
const |
short |
final |
return |
private |
|
throw |
void |
|
int |
new |
do |
|
|
throws |
|
|
long |
extends |
while |
|
|
|
|
|
char |
implements |
if |
|
|
|
|
|
float |
interface |
else |
|
|
|
|
|
double |
synchronized |
for |
|
|
|
|
|
null |
static |
switch |
|
|
|
|
|
true |
native |
case |
|
|
|
|
|
false |
strictfp |
default |
|
|
|
|
|
|
transient |
instanceof |
|
|
|
|
|
|
volatile |
|
|
|
|
|
|
三、Java变量/常量:
- 变量:
- 全局变量(成员变量):
- 定义在类中的方法体外
- 生存期是对象的生存期
- 系统自动初始化值:
- 数值型:(0/0.0)
- 字符型:(\u0000)
- 布尔型:(false)
- 引用型:(null)
- 有无(static)修饰:
- 静态变量(有static修饰)
- 实例变量(无static修饰)
- 本地变量(局部变量):
- 常量:
- 在整个程序中只能被赋值一次
- 常量的特殊值:
- 最大值:MAX_VALUE
- 最小值:MIN_VALUE
import static java.lang.Integer.MAX_VALUE;
import static java.lang.Integer.MIN_VALUE;
System.out.println(MAX_VALUE);
System.out.println(MIN_VALUE);
四、用户输入Scanner:
import java.util.Scanner;
Scanner in = new Scanner(System.in);
in.nextByte();
in.nextShort();
in.nextInt();
in.nextLong();
in.nextFloat();
in.nextDouble();
in.nextLine();
in.next();
String s = in.next();
char c = s.charAt(0);
五、Java运算符:
- 算数运算符:
- 加减乘除:‘+’,‘-’,‘*’,‘/’
- 自加自减:‘++’,‘–’
- 取余:‘%’
- 字符串连接:‘+’
- 赋值运算符:
- ‘=’,‘+=’,‘-=’,‘*=’,‘/=’,‘%=’
- 关系运算符:
- ‘>’,‘==’,‘<’,‘>=’,‘<=’,‘!=’
- 检查是否是类的对象:instanceof
- 逻辑运算符:
- ‘&’,‘|’,‘!’,‘&&’,‘||’,‘^’
a |
b |
a&b |
a&&b |
aIb |
aIb |
!a |
a^b |
true |
true |
true |
true |
true |
true |
false |
false |
true |
false |
false |
false |
true |
true |
false |
true |
false |
true |
false |
false |
true |
true |
true |
true |
false |
false |
false |
false |
false |
false |
true |
false |
- 位运算符:
- ‘>>’,‘<<’,‘>>>’,‘&’,‘|’,‘^’,‘~’
运算符 |
运算 |
返例 |
<< |
左移 |
3 << 2 = 12 --> 3 * 2 * 2 = 12 |
>> |
右移 |
3 >> 1 = 1 --> 3 / 2 = 1 |
>>> |
无符号右移 |
3 >>> 1 = 1 --> 3 / 2 = 1 |
& |
与运算 |
6 & 3 = 2 |
I |
或运算 |
6 I 3 = 7 |
^ |
异或运算 |
6 ^ 3 = 5 |
~ |
取反运算 |
~ 6 = - 7 |
- 位运算是直接对整数的二进制进行的运算
- 三元运算符:
- 格式:(条件表达式) ? 表达式1 : 表达式2
- 语法:条件为true则执行表达式1,反之则执行表达式2
System.out.println((条件表达式) ? 表达式1 : 表达式2);
运算方向 |
运算符 |
|
‘.’,’()’,’{}’ ,’;’,’,’ |
向左 |
‘++’,’–’,’~’,’!’(data type) |
向右 |
‘*’,’/’,’%’ |
向右 |
‘+’,’-’ |
向右 |
‘<<’,’>>’,’>>>’ |
向右 |
‘<’,’>’,’<=’,’>=’,‘instanceof’ |
向右 |
‘==’,’!=’ |
向右 |
‘&’ |
向右 |
‘^’ |
向右 |
‘I’ |
向右 |
‘&&’ |
向右 |
‘II’ |
向左 |
‘?’,’:’ |
向左 |
‘=’,’*=’,’/=’,’%=’ |
|
‘+=’,’-=’,’<<=’,’>>= |
|
‘>>>=’,’&=’,’^=’,‘I=’ |
- 只有单目运算符、三元运算符、赋值运算符是从右向左运算的
六、Java流程控制:
- if-else:
if (表达式1) {
System.out.println("表达式1为真");
} else if (表达式2) {
System.out.println("表达式2为真");
} else if (表达式3) {
System.out.println("表达式3为真");
} else {
System.out.println("1、2、3都为假")
}
- switch-case:
switch (表达式) {
case 常量1:
System.out.println("执行语句1");
break;
case 常量2:
System.out.println("执行语句2");
break;
case 常量3:
System.out.println("执行语句3");
break;
default:
System.out.println("执行语句4");
}
- while:
while (条件表达式) {
System.out.println("");
}
- do-while:
do {
} while (条件表达式);
- for:
for (int i = 0; i < 10; i++) {
System.out.println("执行第" + (i+1) + "次语句");
}
- foreach:
int[] arr = {
1, 2, 3, 4, 5};
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
for (int j : arr) {
System.out.println(j);
}
label:for (int i = 0; i < 5; i++) {
for (int j = 0; j < 10; j++) {
if (j % 3 == 0) {
continue label;
}
}
}