选择结构
一,if选择结构
if语句是指如果满足某种条件,就进行某种处理
if(5>3){ //条件语句
System.out.print("这是正确的"); //执行语句
}
if…else语句是指如果满足某种条件,就进行某种处理,否则就进行另一种处理
if(小明考100分){
System.out.println("去游乐场玩");
}
else{
System.out.println("还有脸出去玩?在家待着吧");
}
if…else if…else语句用于对多个条件进行判断,进行多种不同的处理
if(考100分){
System.out.println("优");
}
else if(考80分){
System.out.println("良");
}
else if(考60分){
System.out.println("及格");
}
else{
System.out.println("不及格,还特么有脸玩?");
}
二,选择结构switch
switch 条件语句也是一种很常用的选择语句,它和if条件语句不同,它只能针对某个表达式的值作出判断,从而决定程序执行哪一段代码。例如,在程序中使用数字1~7来表示星期一到星期天,如果想根据某个输入的数字来输出对应中文格式的星期值,可以通过下面的一段伪代码来描述
publicclassSwitchDemo01 {
publicstaticvoidmain(String[] args) {
intweek = 5;
switch(week) {
case1:
System.out.println("星期一");
break;
case2:
System.out.println("星期二");
break;
case3:
System.out.println("星期三");
break;
case4:
System.out.println("星期四");
break;
case5:
System.out.println("星期五");
break;
case6:
System.out.println("星期六");
break;
case7:
System.out.println("星期天");
break;
default:
System.out.println("输入的数字不正确...");
break;
}
}
}
上述代码中,由于变量week的值为5,整个switch语句判断的结果满足第17行的条件,因此打印“星期五”,例程中的default语句用于处理和前面的case都不匹配的值,将第3行代码替换为int week = 8,再次运行程序,则显示“输入的数字不正确”
循环语句
三,循环语句(当型)
while循环语句和选择结构if语句有些相似,都是根据条件判断来决定是否执行大括号内的执行语句。区别在于,while语句会反复地进行条件判断,只要条件成立,{}内的执行语句就会执行,当条件成立,进入循环,直到条件不成立,while循环结束
publicclassWhileDemo {
publicstaticvoidmain(String[] args) {
intx = 1;// 定义变量x,初始值为1
while(x <= 4) {// 循环条件
System.out.println("x = "+ x);// 条件成立,打印x的值
x++;// x进行自增
}
}
}
for循环语句是最常用的循环语句,一般用在循环次数已知的情况下
f格式如下:
for(初始化表达式; 循环条件; 操作表达式){
执行语句
………
}
publicclassForDemo01 {
publicstaticvoidmain(String[] args) {
intsum = 0;// 定义变量sum,用于记住累加的和
for(inti = 1; i <= 4; i++) {// i的值会在1~4之间变化
sum += i;// 实现sum与i的累加
}
System.out.println("sum = "+ sum);// 打印累加的和
}
}
do…while循环语句将循环条件放在了循环体的后面。这也就意味着循环体会无条件执行一次,然后再根据循环条件来决定是否继续执行。
publicclassDoWhileDemo {
publicstaticvoidmain(String[] args) {
intx = 1;// 定义变量x,初始值为1
do{
System.out.println("x = "+ x);// 打印x的值
x++;// 将x的值自增
}while(x <= 4);// 循环条件
}
}
嵌套循环
嵌套循环是指在一个循环语句的循环体中再定义一个循环语句的语法结构。while、do…while、for循环语句都可以进行嵌套,并且它们之间也可以互相嵌套,如最常见的在for循环中嵌套for循环
格式:
for(初始化表达式; 循环条件; 操作表达式) {
………
for(初始化表达式; 循环条件; 操作表达式) {
执行语句
………
}
………
}
例:9x9乘法口诀
public class cheng{
public static void main(String[]args){
for(int i=1;i<=9;i++){
for(int j=1;j<=i;j++){
System.out.print(i*j);
}
System.out.print("\n");
}
}
}
跳转语句
跳转语句用于实现循环执行过程中程序流程的跳转,在Java中的跳转语句有break语句和continue语句。接下来分别进行详细地讲解
1、break
在switch条件语句和循环语句中都可以使用break语句。当它出现在switch条件语句中时,作用是终止某个case并跳出switch结构。当它出现在循环语句中,作用是跳出循环语句,执行后面的代码。关于在switch语句中使用break前面的例程已经用过了,接下来通过下面一段代码,实现将当变量x的值为3时,使用break语句跳出循环
publicclassBreakDemo {
publicstaticvoidmain(String[] args) {
intx = 1; //定义变量x,初始值为1
while(x <= 4) {// 循环条件
System.out.println("x = "+ x);// 条件成立,打印x的值
if(x == 3) {
break;
}
x++;// x进行自增
}
}
}
当break语句出现在嵌套循环中的内层循环时,它只能跳出内层循环,如果想使用break语句跳出外层循环则需要对外层循环添加标记
publicclassBreakDemo02 {
publicstaticvoidmain(String[] args) {
inti, j; //定义两个循环变量
itcast:for(i = 1; i <= 9; i++) {// 外层循环
for(j = 1; j <= i; j++) {// 内层循环
if(i > 4) {// 判断i的值是否大于4
breakitcast;// 跳出外层循环
}
System.out.print("*");// 打印*
}
System.out.print("\n");// 换行
}
}
}
2、continue
continue语句用在循环语句中,它的作用是终止本次循环,执行下一次循环。接下来通过一个练习对1~100之内的奇数求和ContinueDemo.java
publicclassContinueDemo {
publicstaticvoidmain(String[] args) {
intsum = 0;// 定义变量sum,用于记住和
for(inti = 1; i <= 100; i++) {
if(i % 2 == 0) {// i是一个偶数,不累加
continue;// 结束本次循环
}
sum += i;// 实现sum和i的累加
}
System.out.println("sum = "+ sum);
}
}