java第三章:流程控制

一、分支结构

分支结构多用于判断,有多条执行路径,但某一时刻只会执行一条路径

1、if-else结构

if()    //括号里为boolean型,即可以为逻辑表达式
{

}else{

}


public class test {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
        //if结构比较两个数大小
		int a=10;
		int b=5;
		int max;
		if(a>b)
		{
			max=a;
			System.out.println("max="+max);//+在字符串前后都为连缀符
		}
		else {
			max=b;
			System.out.println("max="+max);
		}
	}
		
}

2、if-else if-else结构

if()
{

}else if()
{

}else if()
{

}else{

}

注释:所有的括号里面都是boolean型

public class test {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
        //if-else if-else结构比较三个数大小
		int a=10;
		int b=23;
		int c=6;
		int max;
		if(a>b && a>c)
		{
			max=a;
			System.out.println("max="+max);
		}else if(b>a && b>c)
		{
			max=b;
			System.out.println("max="+max);
		}else
		{
			max=c;
			System.out.println("max="+max);
		}
	}
		
}
//这个例子只是为了展示if-else if-else结构,如果数据较多的比较以后用循环会更方便一些

3、switch-case结构,此结构不仅要求多条执行路径,还要求条件对等时适用

switch(v){

case a:

System.out.println("内容“);

break;

case b:

System.out.println(“内容”);

break;

……

default:

System.out.println(“内容”);

}

注释:1、v可以为byte,short,int,char,String在低版本不支持使用

          2、每个case后必须跟上break,起到跳出结构的作用,若没有,V只会比对一次后就继续执行结构内的其他case语句

import java.util.Scanner;
public class test {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
        //打印十行的倒空心三角形
		/*题意描述:某人参加计算机程序设计大赛,若获得第一名,奖励戴尔笔记本一台;
		 * 若获得第二名,奖励移动键盘鼠标一套;若获得第三名,奖励爱国者U盘一个;若没获奖,
		 * 则只有鼓励话语(名次需键盘输入)
		 */
		Scanner sc=new Scanner(System.in);
		System.out.println("请输入你的名次: ");
		int rank=sc.nextInt();
		
		switch(rank) {
		case 1:
			System.out.println("恭喜你获得戴尔笔记本电脑一台!");
			break;
		case 2:
			System.out.println("恭喜你获得移动键盘鼠标一套!");
			break;
		case 3:
			System.out.println("恭喜你获得爱国者U盘一个!");
			break;
		default:
			System.out.println("加油!明天会更好!");
			break;
		}
	}

}
//必须与break联合用,若没有break,则还会往下执行,打印出其他内容

二、循环结构(该结构以刷题为主练习)

1、for循环

for(语句1;语句2;语句3)//语句1为赋值语句(定义初始化),语句2为判断语句,结果为true则进入循环,否则跳过循环,语句3用于更新值
{
  //循环体
}

可以刷一下这些题:1、打印一行*  2、打印长方形   3、打印平行四边形  4、打印倒三角形    5、打印空心倒三角形

                                6、打印100以内的偶数  7、打印所有三位的水仙花数   8、1000以内的素数

小提示:求个十百位上的数字的规律:个位:a = i%10^1/1;

                                                              十位:b=i%10^2/10^1;

                                                              百位:c=i%10^3/10^2;    其他的也以此类推

public class test {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
        //打印*组成的6行6列平行四边形
		int i,j;
		for(i=1; i<=6; i++)
		{
			for(j=1; j<=i-1; j++)
			{
				System.out.print(" ");//控制空格的打印,每行有i-1个空格,空格的打印要在*之前
			}
			for(j=1; j<=6; j++)
			{
				System.out.print("*");//控制每行6个*
			}
			System.out.println();打印换行
		}
	}

}

2、while循环

while()//括号里为boolean型
{
  //循环体
}

注释:while循环可以跟for循环相互转换,但是不停场合两者难易程度不一样,当循环次数比较明显时一般选择for循环;循环次数不明显时选用while循环。

public class test {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		//打印一行10个*
        int i=1;
        while(i<=10)
        {//将for循环的赋值语句提到最前,判断条件在while后,变量更新语句在循环体内
        	System.out.print("*");
            i++;
        }	
	}
		
}

3、do-while循环

do{
//循环体
}while()
//不管条件是否符合,循环体都会执行至少一遍

public class test {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		//打印一行10个*
        int i=1;
        do{
        	System.out.print("*");
            i++;
        }while(i<=10);	
	}
		
}

小提示:break与continue的作用:break 结构中断并跳出当前结构

                                                       continue 结构继续但跳过当前循环,继续执行下一次循环

public class test {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
        //100以内基数之和
		int sum = 1;
		for(int i=2; i<100; i++)
          {
			if(i%2==0)
			{
	         continue;//跳过该次循环,然后变量更新
			}
			else{
				sum+=i;
			}
		System.out.println(sum);
         }
	}
}
//上面这个程序的作用等同于下面这个程序
package demo;

public class test {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
				int sum = 1;
				for(int i=2; i<100; i++)
				{
					if(i%2!=0)
					{
						sum+=i;
					}
				System.out.println(sum);
			}
	}
}		

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值