五 程序的流程控制

五 程序的流程控制

import java.io.IOException;

/**
 * 程序的流程控制
 *
 * 1 顺序结构
 * 2 选择结构
 * 3 循环结构
 */
class IfandElse
{
 /*选择结构if...else...*/
 public void values(int x)
 {
  if(x>0)
   System.out.println("x>0");
  else
   if(x == 0)
    System.out.println("x == 0");
   else
    System.out.println("x<0");
 }//尽量通过大括号来划分程序的层次
 public void values2(int x)
 {
  if(x>0)
   System.out.println("x>0");
  else if(x <= 0)
   if(x == 0)
    System.out.println("x == 0");
   else
    System.out.println("x<0");
 }//另外else和其最接近的if配对.
}
enum Course
{
 ONE,TWO,THREE,FOUR,FIVE,SIX,SEVEN,EIGHT,NINE,TEN;
}
class SwitchCase
{
 /*选择结构switch*/
 public void schedule(int x)
 {
  if(x>0 && x<=10)
  {
   switch(x)
   //switch中的参数只能是byte,short,int,long,char类型.不能是字符串和float,double类型
   {
    case 1: System.out.println("英语");break;
    case 2: System.out.println("计算机");break;
    case 3:
    case 4: System.out.println("数学");break;
    case 5: System.out.println("政治");break;
    case 6: System.out.println("语文");break;
    case 7:
    case 8: System.out.println("大课间");break;
    default: System.out.println("晚自习");
   }
  }
  else
   System.out.println("please input right data");
 }
 public void schedule2(Integer i)
 {
  if(i>0 && i<=10)
  {
   switch(i)
   {
    case 1: System.out.println("英语");break;
    case 2: System.out.println("计算机");break;
    case 3:
    case 4: System.out.println("数学");break;
    case 5: System.out.println("政治");break;
    case 6: System.out.println("语文");break;
    case 7:
    case 8: System.out.println("大课间");break;
    default: System.out.println("晚自习");
   }
  }
  else
   System.out.println("please input right data");
 }
 public void schedule3(Course c)
 {
  switch(c)
  {
   //jdk1.5以后可以接受一个枚举类型的字符串参数.
   case ONE: System.out.println("英语");break;
   case TWO: System.out.println("计算机");break;
   case THREE:
   case FOUR: System.out.println("数学");break;
   case FIVE: System.out.println("政治");break;
   case SIX: System.out.println("语文");break;
   case SEVEN:
   case EIGHT: System.out.println("大课间");break;
   default: System.out.println("晚自习");
  }
 }
}
public class Procedural {

 public static void main(String[] args) {
  System.out.println("测试if...else");
  IfandElse iae = new IfandElse();
  iae.values(12);
  iae.values(0);
  iae.values(-4);
  iae.values2(12);
  iae.values2(0);
  iae.values2(-4);
  
  System.out.println("测试switch...case");
  SwitchCase sc = new SwitchCase();
  
  System.out.println("用for循环的排序");
  for(int i=0;i<=10;i++)
  {
   sc.schedule(i);
  }
  
  System.out.println("用while循环排序");
  int count = 0;
  while(true)
  {
   if(count > 10)
    break;
   else
   {
    sc.schedule2(count);
   }
   count++;
  }
  
  System.out.println("用do...while循环排序");
  count = 0;
  do
  {
   sc.schedule2(count);
   count++;
  }
  while(count <= 10);
  
  System.out.println("测试枚举类型");
  sc.schedule3(Course.ONE);
  sc.schedule3(Course.TWO);
  sc.schedule3(Course.THREE);
  sc.schedule3(Course.FOUR);
  sc.schedule3(Course.FIVE);
  sc.schedule3(Course.SIX);
  sc.schedule3(Course.SEVEN);
  sc.schedule3(Course.EIGHT);
  sc.schedule3(Course.NINE);
  sc.schedule3(Course.TEN);
  
  //综合练习:通过system.in.read()在键盘中读取一个字符,然后将此字符打印.
  System.out.println("please input a charactor:");
  int integers = 0;
  //用while循环编写
  while(true)
  {
   try
   {
    integers = System.in.read();
   }
   catch (IOException e)
   {
    e.printStackTrace();
   }
   if(integers == '/n')
   {
    System.out.println();
   }
   else if(integers == '/r')
   {
    System.out.print("");
   }
   else if(integers == 'q' || integers == 'Q')
    break;
   else
   {
    System.out.print((char)integers);
   }
  }
  //用do...while编写
  do
  {
   try {
    integers = System.in.read();
   } catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
   }
    switch(integers)
    {
     case '/n':
      {
       System.out.print("");break;
      }
     case '/r':
      {
       System.out.print("");break;
      }
     default :
      System.out.print((char)integers);
    }
  }while(integers != 'q' & integers != 'Q');
  //用for循环编写
  for(;true;)
  {
   try
   {
    integers = System.in.read();
   }
   catch (IOException e)
   {
    e.printStackTrace();
   }
   if(integers == '/n')
   {
    System.out.println();
   }
   else if(integers == '/r')
   {
    System.out.print("");
   }
   else if(integers == 'q' || integers == 'Q')
    break;
   else
   {
    System.out.print((char)integers);
   }
  }
 }
}
/* output ~~~
测试if...else
x>0
x == 0
x<0
x>0
x == 0
x<0
测试switch...case
用for循环的排序
please input right data
英语
计算机
数学
数学
政治
语文
大课间
大课间
晚自习
晚自习
用while循环排序
please input right data
英语
计算机
数学
数学
政治
语文
大课间
大课间
晚自习
晚自习
用do...while循环排序
please input right data
英语
计算机
数学
数学
政治
语文
大课间
大课间
晚自习
晚自习
测试枚举类型
英语
计算机
数学
数学
政治
语文
大课间
大课间
晚自习
晚自习
please input a charactor:
*/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值