脑子里突然冒出个蛋疼的疑问:
       为什么循环语句,控制语句(if else、while、for)之类的只能用在方法内。也没发现谁说过不能用啊,难道这是个不成文的规定,求解...

解决方案 »

  1.   

    我知道类的成员只能是属性和方法 或者静态块~
    我不知道class中可以直接写其他代码块???
    崩溃蛋疼~
      

  2.   

    网页编译成java文件后还是在方法中...
      

  3.   

    那些语句写在方法以外起什么作用咯?&……*……
      

  4.   

    呵呵
    lz的问题很有意思,貌似很简单,倒是不好回答。
    一个java类可以分成几个部分吧,变量/常量,方法,静态代码块(当然也可能会有内部类,这个就递归下去了)
    变量/常量声明的地方是用不上if else的吧。
    这样解释不知道是否合理:)
      

  5.   

    Java的爸爸说
    BasicForStatement:
               for ( ForInitopt ; Expressionopt ; ForUpdateopt ) Statement
          上述语法是下述语法的缩写:
          BasicForStatement:
               for ( ; Expressionopt ; ForUpdateopt ) Statement
               for ( ForInit ; Expressionopt ; ForUpdateopt ) Statement
          上述语法是下述语法的缩写:
          BasicForStatement:
               for ( ; ; ForUpdateopt ) Statement
               for ( ; Expressionopt ; ForUpdateopt ) Statement
               for ( ForInit ; ; ForUpdateopt ) Statement
               for (ForInit ; Expression ; ForUpdateopt ) Statement
          上述语法又是下述语法的缩写:
          BasicForStatement:
               for ( ; ; ) Statement
               for ( ; ; ForUpdate ) Statement
               for ( ; Expression ; ) Statement
               for ( ; Expression ; ForUpdate ) Statement
               for ( ForInit ; ; ) Statement
               for (ForInit ; ; ForUpdate ) Statement
               for ( ForInit ; Expression ; ) Statement
               for ( ForInit ; Expression ; ForUpdate ) Statement
    《Java编程规范》
      

  6.   

    程序从main函数开始执行,然后调用其他成员方法和成员变量,既然成员变量可以声明并赋值,为什么不能提前做一些逻辑上的判断...这也只是想想,探讨下,没什么无聊不无聊的,好比你天天想着你的梦想,目前不是还是过着现在的生活吗?呵呵...
      

  7.   

    简单一点,一个java类只允许有两种东西:属性和方法。
    至于逻辑运算语句之类的东西,都是用于实现这些方法时调用的工具。
    PS:如果将语句直接写在java类中,能表达什么意思,什么时候执行?
      

  8.   

    for的用法我了解...java爸爸有没有说用在哪地方啊?
      

  9.   

    顶,是自找的,也不看下java的内存中的放置,再说谁又告诉你这些只能在方法中用的,块中不能用吗?唉
      

  10.   

    就是想知道为什么,JVM原理研究不透啊...平时都是那么用的,突然脑袋想了一下而已,能说的说下,不能说的继续那么用...
      

  11.   

    C,c++中可以用,就是写在预编译中!我想Java中也可以用吧!目前我还不知道在那里用!应该非常nb的人知道!
      

  12.   

    楼主说的有道理!我顶
    程序从main函数开始执行,然后调用其他成员方法和成员变量,既然成员变量可以声明并赋值,为什么不能提前做一些逻辑上的判断??
     可惜java中没有提供这么一个机制啊,C里面是有的 不过还不够强大,只是些预处理 #if #elif #else #ifndef 等等
    也许后面可以出现写程序可以通过自己改自己执行块(程序正文段)的东西操作系统已经实现了部分功能(从一个进程侵入)可惜还不够强大到可以在自己程序里面根据程序的执行,在执行时改二进制代码的功能,并且次功能不是编译好由汇编控制,而是在编写源码时决定。
    若干年以后“动态”需求到一定的阶段会出现此语言
      

  13.   

    java 所有的语句都要放在方法内,或者静态块中,类的成员初始化则必须是放在内中,并且必须放在 = 号后号因为java的语句块如果不放在方法体内,则不会被执行到,不放在方法内部的语句是没有意义 的
      

  14.   

    if  else  for  等控制语句都属于执行语句。而方法体外的部分不是执行部分,是声明部分,只能有声明语句。执行语句只能出现在执行部分中,执行部分包括成员块,静态块,方法体等等。比如System.out.println()是输出语句,并没有声明任何变量,所以属于执行语句,那么这句话就不能出现在声明部分。
      

  15.   

    嘿嘿  解释的不错 Thank you!