zoukankan      html  css  js  c++  java
  • java表达式, 语句, 块(翻译自Java Tutorials)

    原文出自 http://www.cnblogs.com/ggjucheng/archive/2012/12/16/2820664.html

    英文出自 http://docs.oracle.com/javase/tutorial/java/nutsandbolts/index.html

    学习了变量和操作符,该开始学表达式,语句,块。操作符用来计算值,是表达式的一部分;表达式是语句的主要部分,块是由语句组成。

    表达式

    表达式右变量,操作符,方法调用组成,根据语言的语法构造,计算后返回一个单独的值。表达式例子如下加粗的部分:

    int cadence = 0;
    anArray[0] = 100;
    System.out.println("Element 1 at index 0: " + anArray[0]);
    
    int result = 1 + 2; // result is now 3
    if (value1 == value2) 
        System.out.println("value1 == value2");
    

    表达式计算返回的值的类型,依赖于表达式里使用的元素。表达式cadence = 0返回一个int,因为赋值运算符返回其左操作数相同的数据类型的值;该这个情况下,cadence 是int。正如你看到的其他表达式,表达式可以返回其他类型的值,例如布尔值或字符串。

    java编程语言,允许从多个简单的表达式构造一个复合的表达式,只要表达式的一部分要求的数据类型,复合其他数据类型。这里是一个复合类型的表达式例子:

    1 * 2 * 3
    

    这个特定的例子,表达式的计算顺序不重要,因为乘法的结果,和顺序独立;无论使用什么顺序应用乘法运算,结果都是一样的。但是,这不使用所有的表达式,下面的表达式的结果,依靠于除法和乘法的操作哪个才是第一。

    x + y / 100    // ambiguous
    

    使用小括号:(和),精确控制哪个表达式先被执行。例如,让先前的表达式没有歧义,可以这么写:

    (x + y) / 100  // unambiguous, recommended
    

    如果你不显式指示哪个操作先执行,执行顺序,由表达式的操作的优先级决定。高优先的操作先被执行。例如,除法操作,比加法操作有更高的优先级,所以,下面的两个表达式是一样的:

    x + y / 100 
    
    x + (y / 100) // unambiguous, recommended
    

    写复合表达式,使用小括号,显式指明哪个操作先被执行。这个实践让代码更易读,应该保持。

    语句

    语句是大致相当于自然语言中的句子。语句构成一个完整的执行单位。以下类型的表达式可以构造成语句,在表达式用分号(;)结尾就可以了。

    • 赋值表达式
    • 任何使用++或者--
    • 方法调用
    • 对象创建表达式

    这种称为表达式语句。下面是一些示例的表达式语句。

    // assignment statement
    aValue = 8933.234;
    // increment statement
    aValue++;
    // method invocation statement
    System.out.println("Hello World!");
    // object creation statement
    Bicycle myBike = new Bicycle();
    

    除了表达式语句,还有两种类型的语句:声明语句和控制流语句。一个声明语句声明一个变量,你已经见过很多声明表达式的例子:

    // declaration statement
    double aValue = 8933.234;
    

    最后,控制流语句调节语句执行顺序。后来会学习控制流语句。

    一个代码块,有一组0到多个语句组成,位于大括号里面,可以在任何独立语句中可以允许的地方使用。接下来的例子,BlockDemo,解说块的使用:

    class BlockDemo {
         public static void main(String[] args) {
              boolean condition = true;
              if (condition) { // begin block 1
                   System.out.println("Condition is true.");
              } // end block one
              else { // begin block 2
                   System.out.println("Condition is false.");
              } // end block 2
         }
    }
  • 相关阅读:
    字符,字节和编码
    Linux网络参数和ifconfig
    默认网关 网关 子网掩码 广播地址
    S.M.A.R.T.记录几块ssd硬盘
    linux 别名
    echo 输出颜色
    Linux:echo命令详解
    centos下安装mongodb 通过shell脚本
    linux查看登录用户
    linux wget指定下载目录和重命名
  • 原文地址:https://www.cnblogs.com/ggjucheng/p/2820664.html
Copyright © 2011-2022 走看看