黑马程序员技术交流社区

标题: 为什么没加else , if break语句没有执行 [打印本页]

作者: 花自凋零    时间: 2014-7-7 10:04
标题: 为什么没加else , if break语句没有执行
import java.io.*;
class Demo
{
public static void main(String[] args) throws IOException
{
  InputStream in = System.in;
  StringBuilder sb = new StringBuilder();
  while (true)
  {
   int ch = in.read();
   if (ch=='\r')
   continue;
   if(ch=='\n')
   {
    String s = sb.toString();
    if ("over".equals(s))
   
    break;
    System.out.println(s.toUpperCase());
    sb.delete(0,sb.length());
   
   }
   else//没有这个else ,  if ("over".equals(s))   break;语句为什么没有执行啊
   
     sb.append((char)ch);
  }

}
}

作者: blue_sky    时间: 2014-7-7 12:15
  1. import java.io.*;
  2. class IfelsebreakTest
  3. {
  4. public static void main(String[] args) throws IOException
  5. {
  6.   InputStream in = System.in;
  7.   StringBuilder sb = new StringBuilder();
  8.   while (true)
  9.   {
  10.    int ch = in.read();
  11.    if (ch=='\r')
  12.    continue;//if语句,执行的时候,若满足()中的条件,就会执行后面的依据代码;否则跳过;
  13.    if(ch=='\n')//这个if语句如果满足条件的话,执行的就是下面的方法体中的代码;如果不满足;直接跳过方法体;
  14.    {
  15.     String s = sb.toString();
  16.     if ("over".equals(s))
  17.    
  18.     break;
  19.     System.out.println(s.toUpperCase());
  20.     sb.delete(0,sb.length());
  21.    
  22.    }
  23.    else//其实,没有这个else,当输入over的时候;上面的if ("over".equals(s))和 break;语句也执行了。可以不加这个else;
  24.    
  25.      sb.append((char)ch);
  26.   }

  27. }
  28. }
复制代码


你自己再调试一下,跟踪一下程序执行、
作者: 花自凋零    时间: 2014-7-7 13:40
blue_sky 发表于 2014-7-7 12:15
你自己再调试一下,跟踪一下程序执行、

恩 ,好了 ,谢谢 。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2