一、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 | alIb | !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;
}
}
}