1.顺序结构
Java的基本结构就是顺序结构,除非特别指明,否则就是按顺序一句一句地执行
2.选择结构
- if单选择结构
if(布尔表达式){
}
- if双选择结构
if(){
}else{
}
- if多选择结构
if(布尔表达式1){
}else if(布尔表达式2){
}else if(布尔表达式3){
}else {
}
- 嵌套的if结构
if(布尔表达式1){
if(布尔表达式2){
}
}
- switch多选择结构
switch case语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支。
char a= 'B';
switch (a) {
//注意case有穿透能力,不加break会将下面的执行
//直到结束或遇到break
case 'A':
System.out.println("优秀");
break;
case 'B':
System.out.println("良好");
break;
case 'C':
System.out.println("及格");
break;
default:
System.out.println("其他");
}
}
利用switch判断成绩等级
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
int score=scanner.nextInt();
if(score>100 || score<0) {
System.out.println("输入成绩有误");
}
switch (score/10) {
case 10:
case 9:
System.out.println("A");
break;
case 8:
System.out.println("B");
break;
case 7:
System.out.println("C");
break;
case 6:
System.out.println("D");
break;
default:
System.out.println("不及格");
}
}
jdk7以后,switch支持字符串类型的匹配
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String name=scanner.nextLine();
switch (name) {
case "三吉":
System.out.println("beautiful");
break;
case "宝鸡":
System.out.println("home");
break;
default:
System.out.println("future");
}
}
3.循环结构
- while循环
while(布尔表达式) {
}
❤️只要表达式为true,循环就会一直执行下去。大多数情况,我们需要循环停下来,因此需要一个会让表达式变为false的方式结束循环;少部分情况,需要循环一直执行,例如服务器的请求响应监听。
- do…while循环
do{
}while(布尔表达式)
❤️do…while循环遵循:先执行后判断,总是保证循环体至少执行一次
❤️while循环遵循:先判断后执行
-
for循环
for(初始化;布尔表达式;更新) {
}
❤️for循环是支持迭代的一种通用结构,是最有效、最灵活的循环结构
❤️for循环执行的次数在执行前就确定
for(;;) {
//可以做到死循环!!!!
}
- 增强for循环
for(声明语句:表达式) {
}
❤️增强for循环主要用于遍历数组和集合
4.break & continue
- break
❤️break用于强行退出循环,不执行循环中的剩余语句。
- continue
❤️continue用于终止某次循环,即跳过循环体中未执行的语句,接着进行下一次是否执行循环的判定。
5.两个经典循环练习
- 打印乘法表
public static void main(String[] args) {
for (int i=1;i<=9;i++) {
//大循环控制行数
for (int j=1;j<=i;j++) {
//小循环控制一行中的个数
System.out.print(j+"*"+i+"="+(j*i)+"\t");
}
System.out.print("\n");
}
}
- 打印5行的三角形
public static void main(String[] args) {
for (int i=1;i<=5;i++) {
for (int j=5;j>=i;j--) {
//该循环打印三角形的空格
System.out.print(" ");
}
for (int j=1;j<=i;j++) {
//该循环打印三角的左半部分
System.out.print("*");
}
for (int j=1;j<i;j++) {
//该循环打印三角的右半部分
System.out.print("*");
}
System.out.println();
}
}