1.2 Java基础(二)选择结构

本节主要知识点:
1. 选择结构---if...else结构
2. 选择结构---switch...case结构


一、if...else结构

If...else直译就是如果...否则
if括号中的最终值一定是布尔类型的
四种表现形式:
1. 简单的if
        if(条件)   //条件为true的时候才执行下面的代码段
        {
             满足条件下执行的代码段
}
2. 标准的if...else
        if(条件)
        {


}
else
{


}
3. 多重的if...else if...else结构
        if(条件)
        {


}
else if(条件)
{


}
else if(条件)
{


}
else if(条件)
{


}
...
else
{


}


4. 嵌套的if...else
        if(条件)
        {
             if()
             {
                 
}
else
{
 
}
}
else
{
             if()
             {
                 
}
else
{
 
}


}


二、switch...case结构

通俗来讲就是一种傻瓜式的匹配模式
语法结构:
         switch(value)
         {
              case value1:
                        代码段
                        break;
                case value2:
                          代码段
                          break;
               case value3:
                          代码段
                          break;
               case value4:
                          代码段
                          break;
               ....
               case valuen:
                          代码段
                          break;
                   default:
                             代码段.
}
匹配,通俗来讲,哪一个case后的value值和switch中的value值相同,就执行那一个case下的代码段,如果没有任何一个case后value值和switch中的value值相同,那么久执行default下的代码段.
补充:在switch...case结构中,break是非常重要的,在代码执行过程中,遇到break意味着一个代码段的结束,何为一个代码段,即{}。

      如果在switch...case的运行中没有break,那么在找到和switch中value匹配的case后,代码会一直向下执行,直到遇到break才结束或者直到代码段结束。


练习题:

1.四则运算
     运行结果:
             请输入第一个数字:
             请输入第二个数字:
             请输入运  算  符: +   -   *   /    %
             运行结果:
                     +   -    * 运行时没有问题

                     /和%需要判断除数不能为零

(1)if...else结构实现

import java.util.Scanner;
public class Demo01
{
	/*
	 *  1.如果运算符输入错误,循环从新输入运算符
	 *  2.被除数和运算符OK,除数为零,如何继续
	 *  3.正确计算后,可否继续计算
	 */
	public static void main(String[] args)
	{
		/*
		 * 如果想向正在运行的程序输入数据,那么代码中必须引入Scanner类
		 * 1.引入Scanner类    import java.util.Scanner;
		 * 2.利用Scanner类提供的各种方法向程序输入数据
		 * 3.需要拿到Scanner类的对象才能使用Scanner类拥有的各种方法
		 */
		Scanner input=new Scanner(System.in);//拿到Scanner类的对象input
		System.out.println("请输入第一个数字:");
		double a=input.nextDouble();
		System.out.println("请输入第二个数字:");
		double b=input.nextDouble();
		System.out.println("请输入运  算  符:");
		String oper=input.next();
		if(oper.equals("+"))
		{
			System.out.println("运算的结果是:"+(a+b));
		}
		else if(oper.equals("-"))
		{
			System.out.println("运算的结果是:"+(a-b));
		}
		else if(oper.equals("*"))
		{
			System.out.println("运算的结果是:"+a*b);
		}
		else if(oper.equals("/"))
		{
			if(b==0)
			{
				System.out.println("除数不能为零");
			}
			else
			{
				System.out.println("运算的结果是:"+a/b);
			}
		}
		else if(oper.equals("%"))
		{
			if(b==0)
			{
				System.out.println("除数不能为零");
			}
			else
			{
				System.out.println("运算的结果是:"+a%b);
			}
		}
		else
		{
			System.out.println("运算符输入错误!");
		}
	}
}

(2)switch...case结构实现

import java.util.Scanner;
public class Demo03
{
	public static void main(String[] args)
	{
		/*
		 * 如果想向正在运行的程序输入数据,那么代码中必须引入Scanner类
		 * 1.引入Scanner类    import java.util.Scanner;
		 * 2.利用Scanner类提供的各种方法向程序输入数据
		 * 3.需要拿到Scanner类的对象才能使用Scanner类拥有的各种方法
		 */
		Scanner input=new Scanner(System.in);//拿到Scanner类的对象input
		System.out.println("请输入第一个数字:");
		double a=input.nextDouble();
		System.out.println("请输入第二个数字:");
		double b=input.nextDouble();
		System.out.println("请输入运  算  符:");
		String oper=input.next();
		switch(oper)
		{
			case "+":
			         System.out.println("运算的结果是:"+(a+b));
					 break;
			case "-":
			         System.out.println("运算的结果是:"+(a-b));
					 break;
			case "*":
			         System.out.println("运算的结果是:"+a*b);
					 break;
			case "/":
			         if(b==0)
					 {
						 System.out.println("除数不能为零!");
					 }
					 else
					 {
			             System.out.println("运算的结果是:"+a/b);
					 }
					 break;
			case "%":
			         if(b==0)
					 {
						 System.out.println("除数不能为零!");
					 }
					 else
					 {
			             System.out.println("运算的结果是:"+a%b);
					 }
					 break;
			default:
			         System.out.println("运算符输入错误!");
		}
	}
}

2.  判断是否进入决赛

        运行结果:

                请问您进入决赛了吗?(y/n)

                y

                  请输入您的性别:

                  请输入您的预赛时间:

                  当性别是男且时间<13s或者性别是女且时间<15s

                    恭喜您进入决赛,您被分在男/女子组

                  否则

               你并没有进入决赛,where cold,where to stay!

                n

                  谢谢参与,友谊第一,比赛第二!

提示:需要使用Scanner向正在运行的程序输入数据!

import java.util.Scanner;
public class Demo02
{
	public static void main(String[] args)
	{
		Scanner input=new Scanner(System.in);
		System.out.println("请问您进入百米决赛了吗?");
		String an=input.next();
		if(an.equals("y"))
		{
			System.out.println("请输入您的性别:");
			String sex=input.next();
			System.out.println("请输入您的预赛时间:");
			double time=input.nextDouble();
			if((sex.equals("男")&&time<13)||(sex.equals("女")&&time<15))
			{
				System.out.println("恭喜您进入百米决赛了,您被分在"+sex+"组");
			}
			else
			{
				System.out.println("你并没有进入决赛,where cold,where to stay!");
			}
		}
		else
		{
			System.out.println("谢谢参与,友谊第一,比赛第二!");
		}
	}
}


Java基础相关知识:


1.1 Java基础(一)概述

1.2 Java基础(二)选择结构

1.3 Java基础(三)循环结构

1.4 Java基础(四)数组




猜你喜欢

转载自blog.csdn.net/qq_40254536/article/details/80805856
1.2