3.1 分支结构
3.1.1 if else 语句
if( 逻辑表达式1 ){ 代码1 }
//逻辑表达式1成立执行代码1,不成立不执行; 直接跳到下面的代码
if( 逻辑表达式2 ){ 代码2 }else{ 代码3 }
//逻辑表达式2成立执行代码2,不成立执行代码3
if( 逻辑表达式3 ){ 代码4 }else if( 逻辑表达式4){ 代码5}else{代码6 }
//逻辑表达式3成立执行代码4,不成立再判断逻辑表达式4,如果成立执
//行代码5,不成立执行代码6
3.1.2 switch case 语句
switch( 值 ){
case 值1: //当switch(值)里的值等于值1时
代码1 //执行代码1
break; //执行完代码1就由break;跳出switch语句
case 值2: //当switch(值)里的值等于值2时
代码2 //执行代码2
case 值3: //执行完代码2后,由于没有break;所以继续跳到值3
代码3 //执行代码3
break; //执行完代码3就由break;跳出switch语句
default: //当switch(值)里的值不等于任意的一个case值,那就 代码4
//默认执行default下的代码4,然后结束switch语句
//break; //最后的break;可以不写了,不写也自动跳出
}
(*注意:switch(值)里的值只能为byte、short、int、char、string类型)
3.2 循环结构
while( 逻辑运算式1 ){ 代码1 }
//如果逻辑表达式1=true; 就会一直循环代码1,逻辑表达式1=true是死循环
do{ 代码1 }while(逻辑运算式1);
//如果while中逻辑运算式1成立,那么一直循环执行代码1,
//反之只执行一次代码1
for(表达式1;表达式2;表达式3){ 执行代码1 }
①for(起始值;最大值或者最小值;值的变动情况){执行代码}
如for(int i=0;i<10;i++){ 执行代码2 }
//执行流程:先给i赋初值=0,判断i<10是否成立,如果成立执行代码2
//执行完代码2后,i++进行自加运算;如果判断不成立,不执行代码2,
//直接i++进行自加运算,自加运算后再判断i<10,成立就再执行代码2,
//反之不执行代码2,直接i++进行自加运算。
②for( ; ; ){ 执行代码3 }
//for( ; ; )里面只有;所以会一直执行代码3
//起始值、逻辑判断、值的变动情况都是可写可不写
③for(数组类型 命名:数组名字){ 执行代码1 }
//其中‘命名’意思是:给要得到的数组取名,这种循环适用于读取数组的值
如:String[] a=new String[]{“abc”,”def”};
for(String i:a){ 执行代码 }
3.3 控制循环结构
continue: 结束所在层的此次循环(仅结束一次循环,继续下一个循环),
所在循环continue后面的语句无意义,不删除会报错。
break: 跳出所在层循环(结束所在层的循环)
return: 结束return所在的整个方法体
continue outer; 结束本次循环,跳出到有outer标记的地方
break outer; 结束循环,跳出到有outer标记的地方
3.4 for循环打印
for循环打印三角形,倒三角形,矩形,菱形,空心菱形