表达式、语句和块是java语言的基础。运算符(Operator)用来计算值,它和变量(Variable)构成了表达式(Expression),表达式是语句(Statement)的核心部分,而语句又构成了语句块(Block)。

表达式

和C,C++相似,java语言中的表达式通常是根据java语法由变量、运算符或者方法调用(method invocations)构成,表达式计算后通常会返回一个单独的值,而这个值的数据类型取决于表达式中的元素。

int i = 10 ;

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");

正如上面的红色部分标识都是表达式,表达式 i = 10 返回一个int,因为赋值运算符返回其左操作数相同的数据类型的值;该这个情况下,i 是int。正如你看到的其他表达式,表达式可以返回其他类型的值,例如布尔值或字符串。

java 允许将多个表达式构造成一个复合的表达式,只要表达式的各部分要求的数据类型相同或者可以相互转换。 复合类型表达式的例子:

1 * 2 * 3

这个特定的例子,表达式的计算顺序不重要,因为乘法的结果,和顺序独立;无论使用什么顺序应用乘法运算,结果都是一样的。但是,并不是所有的表达式的结果和计算顺序无关,下面的表达式的结果,是先计算加法还是除法容易引起歧义。

x + y / 100

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

(x + y )/ 100

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

x + y / 100

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

提示

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

具体的运算符优先级请参考运算符相关的经验章节。

语句

java 语言中的语句对应于自然语言中的句子。在java程序中,语句是一个完整的执行单元,以下类型的表达式加上分号就可以构成语句:

赋值表达式

任意使用++和--运算符的表达式

方法调用

对象创建表达式

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

// 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到多个语句组成,能够应用在程序任何位置的代码片段。代码块实例如下:

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

}

}

java which语句,java入门之表达式、语句、块相关推荐

  1. insert into语句_入门MySQL——DML语句篇

    前言: 在上篇文章中,主要为大家介绍的是DDL语句的用法,可能细心的同学已经发现了.本篇文章将主要聚焦于DML语句,为大家讲解表数据相关操作. 这里说明下DDL与DML语句的分类,可能有的同学还不太清 ...

  2. 《Java SE实战指南》05-09:语句(Statements)

    内容导航: 前言 1.定义 2.语句分类 2.1.声明语句 2.2.表达式语句 2.3.return语句 2.4.空语句 2.5.控制流语句 1.定义 语句(Statements),是Java语言代码 ...

  3. c语言for循环语句java,C语言三种类型的循环语句

    在C语言中,有三种类型的循环语句:for语句.while语句和do While语句.分别介绍如下: 1.for循环语句 for语句格式为: for(表达式1;表达式2;表达式3) 语句:/*循环体*/ ...

  4. c语言表达式语句由,c语言六种基本语句是什么

    c语言六种基本语句是:1.表达式语句:2.标签语句:3.循环语句:4.复合语句:5.跳转语句:6.选择语句. C程序的执行部分是由语句组成的. 程序的功能也是由执行语句实现的. C语句可分为以下五类: ...

  5. C++primer 第 5 章语句 5.2语句作用域 5.3条件语句 5 . 4 迭代语句 5.5跳转语句 5.6 try语句块和异常处理

    5 . 1 简单语句 C++语言中的大多数语句都以分号结束,一个表达式,比如ival + 5 , 末尾加上分号就变成了表达式语句(expression statement).表达式语句的作用是执行表达 ...

  6. c 语言 常用语句,c语言六种基本语句是什么

    c语言六种基本语句是:1.表达式语句:2.标签语句:3.循环语句:4.复合语句:5.跳转语句:6.选择语句. C程序的执行部分是由语句组成的. 程序的功能也是由执行语句实现的. C语句可分为以下五类: ...

  7. 【C语言初阶】C语句成员1:分支语句

    目录 C语言中的3种结构 什么是语句 分支(选择)语句 if语句 switch语句 C语言中的3种结构 我们在了解C语言的语句之前,应先了解C语言中的基本程序结构,从程序流程的角度来看,程序可以分为三 ...

  8. java表达式语句_Java基础知识笔记第三章:运算符表达式语句

    算术运算符与表达式 操作符描述例子 + 加法 - 相加运算符两侧的值 A + B 等于 30 - 减法 - 左操作数减去右操作数 A – B 等于 -10 * 乘法 - 相乘操作符两侧的值 A * B ...

  9. java块语句_Java运算符、表达式、语句块

    一.运算符 在java中用于程序计算的操作i发统称为运算符,运算符分为如下几类: 1.算术运算符 算术运算符 说明 + 加号两边是数值,可以运算,如果一边存在字符串,则当作连接符 a+b - 两个数相 ...

最新文章

  1. 1130 Infix Expression
  2. 驱动数字经济加速,摩尔线程发布全新元计算架构MUSA和GPU产品
  3. stata安装_Stata自带的代码编辑器太丑了,那为何不使用Jupyter Notebook?
  4. 二维码 | 如何实现一码多用
  5. php 循环链表,PHP实现循环链表功能
  6. PLSQL 之类型、变量和结构
  7. 树莓派使用STEP2:设置网络
  8. RNN循环神经网络实现预测比特币价格过程详解
  9. 一、数据预处理——数据归一化 数据标准化
  10. P1546 最短网络 Agri-Net
  11. i2c时序图的详细讲解_外脚手架及外架防护棚搭设详细讲解,附做法图
  12. 听歌识曲java_homework_3
  13. mysql 清理表碎片需要停止数据库吗_Mysql的表的碎片清理
  14. 如何正确地逛Github?
  15. 意派导出html,三款专业H5工具评测:意派Epub360、ih5、mugeda
  16. 程序猿---北京骑行天津~~~~
  17. silk lobe资源公众号_【好设计资源库】公众号素材获取方式说明
  18. php codeigniter3,从CodeIgniter 3系列版本升级到4系列版本
  19. DDD 领域事件设计(基于Guava EventBus二次封装)
  20. 墨天轮沙龙 | 麦杰科技卢学东:openPlant 实时数据库系统及应用

热门文章

  1. 面试常碰到++p/p--问题到底结果是什么?
  2. web服务器tornada,flask问题
  3. pytorch学习 中 torch.squeeze() 和torch.unsqueeze()的用法
  4. 机器学习——标准化/归一化的目的、作用和场景
  5. PVD与CVD性能比较
  6. 腾讯 angel 3.0:高效处理模型
  7. NSight Compute 用户手册(下)
  8. 深度学习-智能视频监控
  9. 空间点像素索引(一)
  10. AlexeyAB DarkNet YOLOv3框架解析与应用实践(六)