Day7---学习Java第二弹
2021-07-17
Java控制语句
一、Java顺序结构语句
1、表达式语句
eg:x = 5; y++;
System.out.println("hello world");
2、块语句
块语句又称复合语句,是指一对花括号“{”和“}”括起来的任意数量的语句组
块定义着变量的“作用域”。一个块也可嵌入到另一个块内
1 public static void main(String args[])
2 {
3 int a;
4 ...
5 {
6 int b;
7 ...
8 } //b的作用域只在块内,到块外便失去作用
9 }
注意:Java不允许在两个嵌套的块内声明两个完全同名的变量。
块还应用在流程控制的语句中,如if语句,switch语句及循环语句
二、选择结构语句
1、if语句
单分支if语句
if(条件)
语句;
或者
if(条件)
{语句块};
条件为真,则执行下面的语句或者语句块,条件为假,则直接跳过。
双分支if语句
if(条件)
{语句体1}
else
{语句体2}
eg:求一个数的绝对值
import java.until.Scanner;
public class main{
public static void main(String[]args) {
Scanner reader = new Scanner (System.in);
int a;
a = reader.nextInt();
if (a<0)
a =-a;
System.out.print(a);
}
}
多分支if语句
if(条件1)
语句体1;
else if (条件2)
语句体2;
...
else if (条件N)
语句体N;
[else
语句体N+1;]
2、switch语句
处理多个分支所用的语句
switch(表达式)
{
case 常量1: 语句体1;break;
case 常量2: 语句体2;break;
... ...
[default: 语句体n+1;break;]
}
其中,表达式的类型只能是int,byte,short,char。遇到匹配的值,则执行该case子句的语句序列。
case子句只是起到标号的作用,相当于查找匹配的入口,执行后面相对应的语句体。
default子句可以任选,当表达式的值可任一case子句的值都不匹配时,程序执行default后面的语句,如果没有default语句且不匹配,则直接跳出switch语句。
break执行,则是直接跳出整个switch语句,如果执行的case语句末尾没有break语句,则继续执行下一个case语句序列。
放个图✧(≖ ◡ ≖✿
三、循环结构语句
1、while语句
[初始化语句]
while(条件表达式)
{
循环体;
[迭代语句;]
}
当条件表达式中的值为true时,执行下面的语句,直到判断为false,则结束循环的执行。
若首次计算条件不满足,则循环体部分一次也不会执行
例题:用while循环求自然数1~100之和
public class Whileexample
{
public static void main(String args[])
{
int i,sum;
i=1;
sum=0;
while(i<=100)
{
sum += i;
i++;
}
System.out.println("The sum is:" +sum);
}
}
2、do-while循环语句
[初始化语句]
do{
循环体;
[迭代语句;]
}
while(条件表达式);
注意:do-while的循环结构至少被执行一次
例题:用do-while语句求自然数1~100之和
public class do while example { public static void main(String args[]) { int i,sum; i=1; sum=0; do { sum+=i; i++; } while (i<=100); System.out.println("The sum is:"+sum); } }
3、for循环语句
例题:用for循环语句求自然数1~100之和
public class forexmple { public static void main(String args[]) { int i,sum; for (i=1;sum=0;i<=100;i++) sum +=i; System.out.println("The sum is:"+sum); } }
例题:输出由“*”组成的实心等腰三角形。
public class triangle { public static void main(String args[]) { int i,j; for(i=1;i<=5;i++) { for (j=1;j<=5-i;j++) System.out.print(" "); for (j=1;j<=2*i-1;j++) System.out.print("*"); System.out.println(); } } }