gpt4 book ai didi

java - 声明与。堵塞

转载 作者:行者123 更新时间:2023-12-01 22:31:50 25 4
gpt4 key购买 nike

我是一个新的 java 用户。最近我了解到,在 Java 中,每个语句都以分号 (;) 结尾,并且每个 block 都由一对 ob 大括号分隔 - {}(如果我错了,请纠正我)。

但是在很多地方我发现作者都在说 if 语句。所以我的问题是 statement 和 java 中的 block 有什么区别?

提前致谢。

最佳答案

Java Language Specification正式定义 block 和语句。为了简化它所说的:

  • Java 中的每条语句都以分号结尾是的。这是考虑它们的一种便捷方式,但形式上并不正确。
  • 一些语句在它们的定义中包含一个分号。这些通常是简单的陈述。例如:
    • 空语句 只是一个分号:; .
    • 表达式语句是一组允许的表达式之一,后跟一个分号。 new ClassName(); , System.out.println(); , i++;
  • block 是一种包含声明和其他用大括号包围的语句的语句 { int i = 1; System.out.println(i); } .
  • 一些语句是使用其他语句构建的。他们的定义不包括分号。如果子语句以分号结尾,则这些语句以分号结尾。 if声明属于这一类。它构建为 if ( <i>expression</i> ) <i>statement</i> .所以如果 statement 里面的部分有一个分号,它以分号结束。如果 statement 里面恰好是一个 block (这是一种语句!),然后它以大括号结束:

    if ( a == b )
    System.out.println(a);

    对比

    if ( a == b ) {
    System.out.println(a);
    }

    在第一种格式中,if 的子语句是表达式语句(方法调用是表达式语句,表达式语句以分号结尾)。

    在第二种格式中,if 的子语句是 block 语句,其中包含单个表达式语句。所以 if以 block 的大括号结束,而不是以分号结束。

底线:语句是通过属于某些正式类别来定义的。有些以分号结尾,有些则没有。

关于java - 声明与。堵塞,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29185841/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com