`
dyccsxg
  • 浏览: 204796 次
  • 性别: Icon_minigender_1
  • 来自: 青岛
社区版块
存档分类

Java 与 C++ 在表达式运算上的一点异同

    博客分类:
  • Java
阅读更多

1. java

public class Main{

    public static void main(String[] args){
        int a = 10, b =20;        
        
        a = (++b) + 0*(b = 2);
        System.out.println("a=" + a + ", b=" + b);  // a=21, b=2
                
        a = (b++) + 0*(b = 8);
        System.out.println("a=" + a + ", b=" + b);  // a=2, b=8
    }
}

 

2. c++

#include <iostream>
using namespace std;

int main(int argc,char *argv[]){
	int a = 10, b = 20;
	
	a = (++b) + 0*(b = 2);
	printf("a=%i, b=%i\n", a, b);           // a=2, b=2
	
	a = (b++) + 0*(b = 8);
	printf("a=%i, b=%i\n", a, b);           // a=8, b=9

	system("pause");
	return 0;
};

 

分享到:
评论
1 楼 dyccsxg 2010-12-25  
貌似运算过程是
1. java
   从左往右 (计算变量并用具体值依次替换b)
2. c++
   从左往右 (计算变量b)
   从右往左 (用具体值依次替换掉b)

相关推荐

    C#和JAVA的比较

    尽管C#在诞生之初就被外界认为是对Java的克隆或者替代品,但实际上,C#与Java在很多方面都有显著的差异,而不仅仅是Java的翻版。对于Java开发者来说,理解这些差异对于学习C#或扩展技术视野至关重要。 首先,让我们...

    Matlab 与C++比较.docx

    对于表达式如`y=3*x`,在C++中需要先声明变量,而在Matlab中直接执行即可。 6. **其他差异** - 在内存管理方面,C++需要程序员手动分配和释放内存,而Matlab则自动管理内存。 - C++支持函数重载和模板,允许根据...

    CSharp for C++ Programmer

    C#不需要在类定义之后添加分号,这一点与C++不同。此外,C#允许表达式作为语句使用,即使它们没有明显的副作用(例如`i + 1`)。这为编程带来了更大的灵活性。 #### 程序流程控制 在C#中,所有的条件表达式必须计算...

    C++高级语言程序设计习题答案

    10. 关于常量和变量在C++中的异同,如常量的不变性和变量在程序运行时的状态变化。 11. 如何在VC环境下调入新的C++源文件,并将其加入到已有的工程中。 12. C++中如何进行中文字符串的输出,以及输入输出流的使用...

    谭浩强C语言程序设计,C++程序设计,严蔚敏数据结构,高一凡数据结构算法分析与实现.rar

    *5.6 C++处理字符串的方法——字符串类与字符串变量 5.6.1 字符串变量的定义和引用 5.6.2 字符串变量的运算 5.6.3 字符串数组 5.6.4 字符串运算举例 习题 第6章 指针 6.1 指针的概念 6.2 变量与指针 6.2.1 定义...

    谭浩强C语言程序设计,C++程序设计,严蔚敏数据结构,高一凡数据结构算法分析与实现.rar )

    *5.6 C++处理字符串的方法——字符串类与字符串变量 5.6.1 字符串变量的定义和引用 5.6.2 字符串变量的运算 5.6.3 字符串数组 5.6.4 字符串运算举例 习题 第6章 指针 6.1 指针的概念 6.2 变量与指针 6.2.1 定义...

    Java面试题集大全

    Java与C++的异同 - **内存管理**:Java语言内置了垃圾回收机制,自动管理内存分配与释放,而C++则需要程序员手动管理内存。 - **代码封装性**:Java中的类默认是`public static`修饰,这与C++不同,在C++中,类的...

    主要存储学习c++时的文件.zip

    C++是一种强大的、通用的编程语言,被广泛用于系统软件、应用软件、游戏开发、设备驱动、嵌入式系统以及高性能计算等领域。...同时,学习C++还可以与其他语言如C#和C进行对比,了解它们之间的异同,拓展编程视野。

    信息学奥赛NOIP系列课程之C++部分课程表.pdf

    4. 运算符和表达式:学习C++中的各种运算符,包括算术、关系、逻辑、位运算等,并掌握表达式的构造和运算规则。 5. 常量和变量:理解常量和变量的概念、声明及初始化,并了解它们在程序中的作用。 6. 标准数据类型...

    C/C++面试题大全

    - **引用**:了解C++中的引用特性,如何创建和使用引用,以及引用与指针的异同。 3. **面向对象编程** - **类与对象**:理解类的定义、对象的创建,以及封装、继承和多态的概念。 - **构造与析构函数**:学习...

    Java面试宝典2018

    `goto`在C和C++中作为控制流关键字使用,但在Java中被保留但未启用。为了实现类似的功能,可以使用`break`或`continue`配合标签来模拟`goto`的行为。 #### 3. 说说&和&&的区别。 - **`&`**:逻辑与操作符,用于按...

    java基础知识之面试宝典

    本篇文章将重点探讨Java中的接口(Interface)与C++中的虚基类(Virtual Base Class)之间的异同。 ##### 1. Java接口 - **定义**:Java接口是一种特殊的抽象类,它仅包含抽象方法和常量。Java接口用于实现多态性,...

    谭浩强C++程序设计复习提纲.docx

    - 介绍引用的概念,作为别名的使用,以及与指针的异同。 通过上述知识点的学习,你可以逐步建立起对C++编程的基础理解,为进一步的高级程序设计和互联网应用开发打下坚实基础。对于每个主题,深入实践和编写代码是...

    Java面试宝典

    11. **引用类型与值类型的比较**:在Java中,对象是通过引用传递的,这意味着当你将一个对象的引用赋值给另一个变量时,两个变量实际上指向同一个内存地址。而基本数据类型则是按值传递的。 12. **静态成员与实例...

    java面试宝典

    虽然`goto`在C/C++等语言中很常见,但在Java中它被视为保留关键字,但并未实际使用。 #### 3\. `&`和`&&`的区别 `&`和`&&`都是逻辑操作符,但它们之间存在显著差异: - `&`用于位运算和逻辑运算,当用于布尔表达式...

Global site tag (gtag.js) - Google Analytics