总结

合法标识符:

  • 标识符由字母、下划线、美元符号和数字组成, 长度不受限制;
  • 标识符的第一个字符不能是数字字符, 可以是字母、下划线、美元符号;
  • 标识符不能是Java语言的关键字;
  • 标识符不会是true、false和null等Java预定义的文字值;
  • 标识符不能是Java类库中已使用的名字.

基本数据类型

  • 数值类型:
    • 整数类型: byte, short, int, long
    • 浮点类型: float, double
  • 字符类型: char
  • 布尔类型: boolean

数据类型转换

  • 低级别类型的值转换成高级别类型的值, 类型可以自动完成, 不需要强制转换
  • 高级别类型的值转换成低级别类型的值, 必须使用强制类型转换, 转换格式为: (类型名) 要转换的值

byte < short < char < int < long < float < double

输出基本类型的数据

  • %d: 输出int类型数据值
  • %md: 输出的int型数据占m列
  • %c: 输出char类型数据
  • %s: 输出字符串数据
  • %f: 输出浮点类型数据, 小数保留6位, 不够补零
  • %m.nf: 输出浮点型数据占m列, 小数保留n位

语句类型

  • 表达式语句
  • 调用方法语句
  • 复合语句
  • 控制语句: 条件语句, 循环语句, 跳转语句
  • package语句 和 import语句
  • 空语句

条件

if

if-else

if-else if

if嵌套

switch

  • switch表达式的类型可以是: byte、short、char、int、enum、string
  • default 不是必须有
  • 如果没有break语句, 则执行完当前case语句之后, 会执行下一个case语句, 直到遇到break或者执行完毕所有语句.

循环

while

do-while

for

1
2
3
for (初始化表达式 ; 条件表达式 ; 条件改变表达式) {
...
}

for语句头部的三个表达式可以都没有

break & contunue

  • break: 跳出switch语句或当前循环结构.
  • continue: 跳出循环体中的剩余语句, 继续往下执行

源程序的注释

  • //一行注释
  • /* 一行或多行注释 */
  • /** 文档注释 */

数组

声明数组

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
// 一维数组

<类型> <数组名>[] : int ary[];

<类型> [] <数组名> : int [] ary;

// 二维数组

<类型> <数组名>[][] : int ary[][];

<类型> [][] <数组名> : int [][] ary;

// 多维数组

<类型> <数组名>[]..[] : int ary[]..[];

<类型> []..[] <数组名> : int []..[] ary;

创建数组

1
2
3
4
5
6
7
8
9
<数组名> = new <类型>[个数]

ary = new int[10];

// 或

int ary[] = new int[10];

int ary[][] = new int[4][5];

初始化数组

1
2
3
4
5
6
7
8
9
10
11
12
13
// 一维数组
int ary[] = {1, 2, 3...};

int ary[] = new int[]{1, 2, 3, 4...};

// 二维数组
int ary[][] = {{1, 2}, {3, 4}};

int ary[][] = new int[][]{{1, 2}, {3, 4}};

int ary[][] = new int[2][];
ary[0] = new int[]{1, 2, 3..};
ary[1] = new int[]{11, 22, 33..};

规则:

  • 数值类型的数组在创建后, 默认值0/0L(整型和char型)或0.0D/0.0F(浮点型);
  • 引用类型的数组在创建之后, 默认值null;
  • boolean类型的数组默认初值为false;

数组名.length就是数组中元素的个数

for-each

1
2
3
4
int ary[10] = {1, 2, 3..};
for(int v = ary){
System.out.println(v);
}