1. 条件分支
boolean flg = true;
if (flg) {
System.out.println("flg is true");
}
;;;;;;{}{}{}{}
if (!flg)
{
System.out.println("flg is true");
}
System.out.println("other");
if (1 == 1) {
System.out.println("1`");
} else if (1 == 1) {
System.out.println("2`"); // 容易犯错
} else {
System.out.println("3`");
}
int n = 10
if (n > 0) {
}
if(n < 20) {
}
2. switch case default break
- case必须是常量, enum
- break如果没有,下面也会运行,直到下一个break
- default可以放最上面
- switch(表达式): 比int小的整型(char) ,enum, jdk8-字符串
switch(表达式) {
case 常量表达式1:
语句1;
break;
case常量表达式2:
语句2;
......
case常量表达式n :
语句n;
default:
语句n+1;
}
switch (a) {
default:
System.out.println("输入的是不知道default");
case b: // 必须常量, 字面量也是常量,enum
System.out.println("输入的是10");
case 100:
System.out.println("输入的是100");
}
// 全运行
3. for循环,标准for循环
for(初始化语句;判断条件语句;控制语句){
循环体语句块;
}
1. 初始化语句只执行1次
2. 判断条件语句
3, 循环体语句块
4. 控制语句
2,3,4 。。。
int a = 1
{
int a = 10
}
--------
{
int a = 1
}
a = 10
4. while( boolean的表达式)
小心别写出死循环。 解决递归问题,没有循环次数,要知道终点
5. do{} while() : 先执行一遍循环体,再做判断
int n = 10;
while (n < 10) { // 先判断后执行
System.out.println("-------");
}
do {
// 先运行一下,再去做判断
System.out.println("=======");
} while (n < 10);
while, for, do…while
for 里面有 循环的变量i —多用于数组下标
6. continue和break --return
continue 结束本次循环, 循环还继续
break; 结束本层循环, 循环结束
break 标记点: 类似于goto语法。 结束到哪一层循环
return : 结束 当前方法。或者return 返回值。。
// 打印1-10个数, 不要5
for (int i = 1; i <= 10; i++) {
if (i == 5) {
continue; // 结束本次循环
}
// char 参与运算,转换成 整型
System.out.print(i + "\t");
}
System.out.println("+++++++++++++++++++++++++++");
// 打印1-10 ,到5就结束
for (int i = 1; i <= 10; i++) {
if (i == 5) {
break; // 结束本层循环, 最近的循环结束了
}
// char 参与运算,转换成 整型
System.out.print(i + "\t");
}
System.out.println("---------------------------");
aaa:for (int i = 0; i < 10; i++) {
for (int j = 0; j < 10; j++) {
System.out.print(i + "," + j + "\t");
if (j == 5) {
break aaa; // 类似goto 结束到外层
}
}
System.out.println();
}
7. 数组:
-
数组必须有大小,而且不可改变。
-
数组是对象类型
-
数组通过 下标可以访问元素。a[0] 数组中第一个元素。0下标。超过下标或者-1
-
数组属性 .length 数组中元素的个数。
-
基本类型数组,默认值是0 对象类型数组,默认是null
System.out.println("-------------------"); String[] a2; a2 = new String[3]; for (int i = 0; i < a2.length; i++) { String item = a2[i]; System.out.println(item); } boolean[] bs = new boolean[3]; // false char[] cs = new char[3]; // 0---> 空字符
7.1 数组的三种定义方式:
int[] abc = {1, 2, 3, 5};
多用于测试int abc [] = new int[length];
标准写法new int[] {1, 3, 5, 7} ;
比较少,省去中间变量
int[] abc ,int abc []
【】在前,在后都可以比较灵活
7.2 二维数组
一维数组中每一个元素又是一个数组
int [] a1[] = {{1, 2, 3},{4, 5, 6},{7, 8, 9}}; // 每一列个一样,规则二维数组
int[] aa1 = a1[2]; // 7 8 9
System.out.println(aa1[1]); // 8
System.out.println(a1[2][1]);
不规则数组定义
// 第二种定义方式:
int[][] a4 = new int[3][]; // {{1, 2},{3, 4, 5, 6},{7, 8, 9}}
a4[0] = new int[2];
a4[1] = new int[4];
a4[2] = new int[3];
System.out.println("------------");
int m = 1;
for (int i = 0; i < a4.length; i++) {
for (int j = 0; j < a4[i].length; j++) {
a4[i][j] = m++;
}
}