顺序结构,选择结构,循环结构
1,顺序结构
-
顺序结构也是最简单的算法结构
-
语句与语句之间,框与框之间是按从上到下的顺序进行的,它是由若干个一次执行的处理步骤组成的,它是任何一个算法都离不开的一种基本算法结构。
2,选择结构
①if
格式:
if(boolean){
...语句
}
需求:如果考试得100分,奖励手机一部,其他分数什么都没有
public class l1_If {
public static void main(String[] args) {
final int test = 110;
if (test >= 100) {
System.out.println("手机一部");
}
if (test < 100) {
System.out.println("什么都没有");
}
}
}
②if...else
格式:
if(boolean){
...语句一
}else{
...语句二
}
需求:如果考试得100分,奖励手机一部,没有就没有奖励
public class l2_If_Else {
public static void main(String[] args) {
final int test = 90;
if (test >= 100) {
System.out.println("奖励手机一部");
} else {
System.out.println("什么奖励都没有");
}
}
}
③if...else if
格式
if(boolean){
...语句1
}else if(boolean){
...语句2
}
需求:如果考试得100分,奖励手机一部,90奖励鼠标
public class l3_If_Elseif {
public static void main(String[] args) {
final int test = 99;
//test=100时候,打印第一个,第二个不打印
if (test >= 100) {
System.out.println("手机一部");
} else if (test >= 90) {
System.out.println("鼠标");
}
}
}
④if...else if...else
//格式
if(boolean){
..语句1
}else if(boolean){
..语句2
}else{
..语句3
}
需求:如果考试大于100分,奖励手机一部,90-100奖励鼠标,小于60请家长
public class l4_IfElseifElse {
public static void main(String[] args) {
final int test = 59;
if (test>=100){
System.out.println("奖励手机一部");
//else if()可以重复使用
}else if (test>=90 && test<100){
System.out.println("奖励鼠标");
}else {
System.out.println("请家长");
}
}
}
⑤switch
格式
switch(表达式){
case 目标值1:
执行语句
break;
case 目标值2:
执行语句
break;
case 目标值n;
执行语句
break;
// default:以上都不满足时输出
default;
执行语句
}
需求:int week=1;打印星期1-7,其他为错误
public class l5_Switch {
public static void main(String[] args) {
final int week=4;
switch (week){
case 1:
System.out.println("星期一");
break;
case 2:
System.out.println("星期二");
break;
case 3:
System.out.println("星期三");
break;
case 4:
System.out.println("星期四");
break;
case 5:
System.out.println("星期四");
break;
case 6:
System.out.println("星期五");
break;
case 7:
System.out.println("星期六");
break;
default:
System.out.println("错误语法");
}
}
}
3,循环结构
①while
格式:
①初始化部分
while(②循环条件部分){
③循环体部分;
④迭代部分;
需求:定义变量,小于10时,打印变量值,并且自增
public class l1_While {
public static void main(String[] args) {
int i=3;
while (i<10){
System.out.println("当前变量为:"+i);
i++;
}
}
}
②do...while
格式:
①初始化部分;
do{
③循环体部分
④迭代部分
}while(②循环条件部分);注意:do..while不管是否满足都要执行一次
需求:定义变量,小于10时,打印变量值,并且自增,不管条件如何,都要打印一次
public class l2_DoWhile {
public static void main(String[] args) {
int i=2;
do {
System.out.println(i);
i++;
}while (i<=10);
System.out.println(i);
}
}
③for
格式:
for (①初始化部分; ②循环条件部分; ④迭代部分){
③循环体部分;
}
需求:对自然数1-5求和
public class l3_For {
public static void main(String[] args) {
int sum=0;
for (int i = 1; i <6 ; i++) {
sum+=i;
}
System.out.println(sum);
}
}
4,break和continue
break:
作用:跳转语句,直接结束此循环
continue
作用:跳转语句,停止当次循环,继续执行下次循环
需求:对自然数1-5求和
public class l5_Con {
public static void main(String[] args) {
int sum=0;
for (int i = 1; i <6 ; i++) {
if(i==3) {
continue;//12
//break; 3
}
sum+=i;
}
System.out.println(sum);
}
}
5,嵌套循环
特点:最外层的循环执行一次,里面全部执行完,再去执行最外层
格式:
for(表达式1;表达式2;表达式3){
for(表达式1;表达式2;表达式3){
语句
}
}
需求:打印直角三角形
public class Nested {
public static void main(String[] args) {
//外层控高
for (int i = 0; i < 10; i++) {
//内层控长
for (int j = 0; j <=i; j++) {
System.out.print("*");
}
System.out.println();
}
}
}