0 0

关于java在括号中赋值的问题5

int a = 1;
int b = 2;

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



jdk1.6上跑结果:
a = 6
b = 5


第一步a = a+b = 3, b = 2
第二步a = 3, b = b+a = 5
第三步a =a + b = 8,  b = 5
所以结果应该是a = 8 ,b = 5才对,,这是为什么呢

身上没多少分了。。还望大哥们不吝赐教
2011年12月26日 12:58

4个答案 按时间排序 按投票排序

0 0

楼主正解,

2011年12月27日 08:57
0 0

这样的表达式运算,应该是根据堆栈来从左向右计算的 ,栈内的值并未发生改变

2011年12月26日 16:34
0 0

// 这样你应该就明白了
//        1 += (2 += (1 += 2))

2011年12月26日 14:06
0 0

这个 要是在企业开发中用到,那我还去研究研究。

2011年12月26日 13:48

相关推荐

    JAVA程序员必读---编程中的一些共同的问题

    Java编程中遇到的问题往往是新手和经验丰富的程序员都可能面临的挑战。本文将针对常见的问题进行详细的解答,帮助Java程序员提升编程技能。 首先,我们来看第一个问题:“编译器找不到类”。这个问题通常由于以下几...

    java在hashmap初始化时赋初值过程解析

    Java 在 HashMap 初始化时赋初值过程解析 ...本文介绍了 Java 中的 HashMap 初始化时赋初值过程解析,包括使用双括号进行初始化的语法和可能导致的串行化失败的问题,以及解决办法。希望对大家的学习有所帮助。

    实验二 方法的定义、重载;数组的应用 定义一个数组,将序列{0,1,2,3,4}赋值给数组,并写一个方法用来访问数据的每一个元素

    在这个实验中,我们将深入探讨Java编程中的几个关键概念:方法的定义、方法的重载以及一维数组的应用。首先,让我们逐一分析这些知识点。 1. **方法的定义**: 在Java中,方法是实现特定功能的代码块,可以通过...

    Java选择题.pdf

    4. Java 语言与其他主要语言相比的特点:Java 的平台无关性是指 Java 程序可以在任何支持 Java 的平台上运行,而不需要修改代码。 5. 声明 Java 独立应用程序 main 方法的正确表达式:public static void main...

    关于C#、java泛型的看法

    在Java中,泛型同样使用尖括号表示,但它的类型擦除特性使得编译后的字节码并不包含类型参数信息,而是使用Object或其他基础类型作为替代。这意味着Java的泛型不支持协变和逆变,但可以通过通配符(如?)来放宽类型...

    学习java的第三天

    标题《学习java的第三天》揭示了文章是关于Java编程语言学习的进阶教程,特别关注在学习的第三天所涉及的主题。该文档深入浅出地介绍了Java中的运算符及其优先级,算术运算符、关系运算符和自增自减运算符等。在描述...

    java数组 类型

    Java 数组类型是 Java 语言中的一种基本数据类型,用于存储多个相同类型的值。 Java 数组类型可以分为基本类型数组和非基本类型数组两种。 一、基本类型数组 基本类型数组是由基本类型变量组成的数组,例如 int[]...

    JAVA试题及答案(50道选择题)-java选择题及答案.pdf

    题目中提到的JAVA2 EE、JAVA2 SE、JAVA2 ME都是Java历史上的重要版本,分别面向不同的应用领域,而JAVA2 HE则不在Java官方定义的版本之列。 【JAVA程序基础】 Java程序的main方法是程序的入口点,它必须写在一个类...

    关于JAVA的基本语法

    在Java中,标识符用于给变量、类和方法命名,例如在示例`Welcome2.java`中,`Welcome2`就是类的标识符,而`main`是方法的标识符。标识符的命名规则规定它们必须以字母、下划线或美元符号开头,后续字符可包含这些...

    程序的逻辑(2) - 赋值

    在Java编程中,赋值是一个非常基础且重要的概念,它涉及到将特定的值赋予变量、数组或对象。根据提供的文件内容,我们可以深入探讨Java中基本类型、数组以及对象的赋值区别和细节。请注意,由于文件内容中涉及到对...

    AssignmentOperators.java

    在Java编程语言中,赋值运算符(Assignment Operators)是用来将一个表达式的值赋给变量的一类特殊符号。赋值运算符使得程序员可以以简洁的方式完成变量的赋值操作。赋值运算符的基本形式是等号(=),它将右侧...

    JAVA试题及答案50道选择题-java选择题及答案.doc

    JAVA 中的循环条件可以是任何类型的表达式,但不能是赋值语句。循环条件可以是 boolean 类型、整数类型、浮点数类型等。 9. 运算符优先级别 JAVA 中的运算符优先级别从高到低依次是:括号、!、算术运算符、关系...

    Java入门第一季

    在"Java入门第一季"中,我们将探讨几个核心概念,包括标识符、变量、数据类型、变量的使用规则、类型转换、常量以及注释。 首先,标识符是Java中用于命名变量、类、方法等的名称。它们遵循以下规则: 1. 标识符可以...

    java编程规范与常见问题

    5. **避免赋值操作符误用**:在条件语句中,不要误用赋值操作符 `=`,如 `if (x = 0) {...}`,这会导致逻辑错误,应使用比较操作符 `==`。 6. **异常处理**:事件用于广播消息,通知关注者发生了某些情况,如库存...

    java笔记 java笔记

    - **方法(Method)**:函数在Java中的另一种说法,用来执行特定任务的一段代码。 - **包(Package)**:用于组织类和接口的命名空间。 #### 3. 定义、关键字和类型 ##### 3.1 注释的三种形式 - **单行注释**:使用`/...

    The Java Language Specification, Java SE 7 Edition.rar

    在Java 7中,有几个重要的更新和改进: 1. **多路赋值(Multivariate Assignment)**:引入了钻石操作符(),在创建泛型实例时自动推断类型,如`List<String> list = new ArrayList();`,减少了冗余代码。 2. **...

    Java SE阶段考核题

    9. **程序运行结果**:Java中的自增操作`a++`是在赋值后增加,因此在输出语句中会先打印当前值,然后增加。所以,程序`667`是正确答案。 10. **字符串比较**:Java中字符串的比较应该使用`equals()`方法,`==`用于...

    java初学问题解答

    Java初学过程中,编码错误是常见的一类问题,对于初学者来说可能会造成一定的困扰。这里,我将根据提供的信息,详细解析与Java编程相关的编码错误及其解决方案,帮助初学者更好地理解和解决问题。 首先,我们需要...

    java基础复习文档

    3. **括号匹配问题**:括号(如圆括号、方括号、花括号)在Java中有着严格的要求,必须确保它们正确配对。 4. **中英文问题**:在编程中,应使用英文字符,避免因误用中文字符而导致的编译错误。 #### JAVA语言...

Global site tag (gtag.js) - Google Analytics