`

[TIJ] [part1] C/C++ 与 Java 区别

    博客分类:
  • TIJ
阅读更多
关于作用域
在C、C++和Java中,作用域由花括号的位置决定的。例如:
{
  int x = 12;
  //Only x available
  {
    int q  = 96;
    //Both x & q available
  }
  //Only x available
  //q is “out of scope”
}

在作用域里定义的变量只可用于作用域结束之前。
尽管一下代码在C和C++中合法的,但是在Java中却不能这样书写:
{
  int x = 12;
  {
    int x = 96; //illegal
  }
}

编译器将会报告变量x已经定义过。
所以,在C和C++里讲一个较大作用域的变量“隐藏”起来的做法,在Java里是不允许的


基本成员的默认值
若类的某个成员(属于类的字段)是基本数据类型,即使没有进行初始化,Java也会确保它获得一个默认值,
基本类型	默认值
Boolean		false
Char 		‘\u0000’(null)
Byte		(byte)0
Short		(short)0
Int			0
Long		0L
Float		0.0f
Double		0.0d

  当变量作为类的成员变量使用时,Java才确保给定其默认值,以确保那些是基本类型的成员变量得到初始化(C++没有此功能),防止产生程序错误。但是,这些初始值对你的程序来说,可能是不正确的,甚至是不合法的。所以最好明确地对变量进行初始化。
  然而上述确保初始化的方法并不适合于“局部”变量(即并非某个类的字段),因此,如果再某个方法定义中有
  int x;

  那么变量x得到的可能是任意值(与C和C++中一样),而不会被自动初始化为零。所以在使用x前,应先对其赋一个适当的值。如果忘记了这么做,Java会在编译时返回一个错误,告诉你此变量没有初始化,这正是Java优于C++的地方。(许多C++编译器会对未初始化变量给予警告,而Java则视为错误)。

您的帖子:[基础知识] C/C++ 与 Java 区别 被JavaEye用户投票评为新手帖帖,积分-10分。"小聪明"被识破. 嘿嘿..  此贴确实够新手的. O(∩_∩)O哈哈~
分享到:
评论

相关推荐

    TIJ4-solutions

    1. **基础语法**:TIJ4介绍了变量、数据类型、运算符、控制流(if、switch、for、while)、方法、类与对象等基础知识。解决方案会展示如何正确使用这些语法进行程序设计。 2. **面向对象编程**:书中深入探讨了类、...

    Thinking in java\TIJ4-solutions-demo

    - Java语言的特点及其与其他语言的区别。 - Java环境的安装与配置。 - 简单的Java程序示例,如Hello World程序。 2. **第2章:类型与变量** - Java的基本数据类型:整型、浮点型、字符型等。 - 变量的声明与...

    The Thinking in Java Annotated Solution Guide(TIJ4-solutions)

    在深入讨论本书内容之前,首先需要明确的是,《Thinking in Java Annotated Solution Guide (TIJ4-solutions)》的版权属于MindView, Inc.,并且它不是免费资源。这意味着,未经版权所有者的明确许可,任何人不得将其...

    TIJ阅读笔记.doc

    【TIJ阅读笔记】 在Java编程中,内存管理是一个关键的概念。Java的内存分为两种主要区域:堆(Heap)和栈(Stack)。堆是用于动态创建对象的主要内存池,包括数组和其他复杂对象,由垃圾回收机制自动管理。而栈则...

    javajar源码-TIJ4-code:java编程思想第四版源码maven构建注意:在D:\Java\jdk1.7.0_80\jre\lib

    《javajar源码-TIJ4-code:java编程思想第四版源码maven构建注意:在D:\Java\jdk1.7.0_80\jre\lib》这个压缩包文件,主要涉及的是Java编程语言的学习资源,特别是《Thinking in Java》第四版的源代码,该书由Bruce ...

    TIJ4-code-master.zip及相关jar包、练习题答案

    1. **Thinking in Java核心知识点** - **基础语法**:书中深入浅出地讲解了Java的基础语法,包括数据类型、变量、运算符、控制结构(如if-else、switch、循环)、方法、类和对象等。 - **面向对象**:Java是面向...

    Thinking In Java 第四版-源代码TIJ4-code

    1. **基础语法与数据类型**:源代码中涵盖了Java的基本语法,如变量声明、数据类型(包括基本类型和引用类型)、运算符、控制流语句(if、switch、for、while等)以及方法定义。 2. **面向对象编程**:这是Java的...

    TIJ4-code_idea:Java 中的思考第 4 版练习题

    1. **基础语法**:Java的基础语法包括变量、数据类型、运算符、流程控制语句(如if、switch、for、while)、方法定义与调用等。在练习中,你会遇到如何正确声明和使用这些元素的实例。 2. **类与对象**:Java是一种...

    TIJ4-code_ThinkinginJava_conversationemk_

    12. **JNI(Java Native Interface)**:允许Java代码调用C/C++的原生代码,实现性能优化或利用已有库。 13. **Swing和AWT**:Java的图形用户界面(GUI)编程,包括窗口、按钮、文本框等组件,以及事件处理机制。 ...

    TIJ4-Maven:用于在 Java 中思考的 maven repo

    【标题】"TIJ4-Maven:用于在 Java 中思考的 Maven 仓库" 【描述】"TIJ4-Maven 是一个专门为《Thinking in Java》第四版(TIJ4)配套的 Maven 仓库。这个仓库包含了书中所提及的各种项目和代码示例,便于读者在学习...

    TIJ4-code:Java源代码中的Tink

    完成后,您应该看到几个级别的目录,并且在C:\TIJ4\code目录中,除其他外,您C:\TIJ4\code看到与本书各章相对应的子目录。 从的安装Java JDK SE5或更高版本。 您最终还将需要该文档,该文档可在该页面的后面找到。...

    以下是Java学习资料的推荐:

    在学习Java编程的过程中,选择合适的资料至关重要。以下是一些精选的Java学习资源,它们涵盖了从基础知识到高级概念,可以帮助你逐步掌握这门强大的编程语言。 首先,Java官方教程...

    The_Thinking_in_Java_Annotated_Solution_Guide(TIJ4-solutions)

    1. Java开发教材:文件标题提到了这是一本Java开发的经典教材,这意味着书中的内容涉及Java编程语言的基础知识、概念、语法和实践应用。对于初学者而言,这本书将是一个学习Java的很好起点,涵盖了从基础到中高级的...

    [Thinking In Java 练习题答案 第四版]Annotated+Solution+Guide+for+TIJ4.rar

    2. **类与对象**:Java是一种面向对象的语言,书中详细介绍了类的定义、对象的创建与使用,以及封装、继承和多态等面向对象的核心特性。 3. **集合框架**:Java集合框架是处理数据的重要工具,包括List、Set、Map等...

    Thinking in java 2e/3e(原版)

    2版的《Thinking in Java》是基于Java 1.3编写的,它全面覆盖了Java的核心概念,包括面向对象编程、基本类型、类和对象、接口与继承、多线程、集合框架、I/O流、网络编程等。在这一版中,作者深入浅出地解释了Java的...

    TIJ4-code.rar_TI

    《深入理解Java编程思想》是Java开发者们常常参考的一本经典书籍,其源代码"TIJ4-code.rar_TI"提供了一种深入学习Java编程的宝贵资源。这本书籍着重于理论与实践相结合,通过丰富的示例代码帮助读者掌握Java的核心...

    Thinking in java 练习题答案

    **Thinking in Java(TIJ):** 是由Bruce Eckel所著的一本介绍Java编程语言的书籍。它被广泛认为是学习Java的权威指南之一,尤其适合初学者和中级程序员。 2. **第四版(Fourth Edition):** 指的是该书籍的最新...

    java技术资源汇总文档

    不管你java是什么水平,每次读TIJ都会感到很有收获。新手会从中读到java的一些基础知识,进阶者可以看到更广阔的应用空间,老手会从中发现太多的思考方式,并梳理一些知识遗漏。最关键的是里面太多的内容可以给人...

    JAVA教程

    "Thinking in Java"(TIJ)是一个广泛认可的Java学习资料,第三版(TIJ3)则代表了该系列的经典内容。在这个教程中,你将深入理解Java的核心概念,包括面向对象编程、类与对象、接口、继承、多态性以及异常处理等...

    Java编程思想 Thinking in Java 课后习题答案

    该压缩包文件“Thinking In Java 练习题答案 第四版]Annotated+Solution+Guide+for+TIJ4.pdf”包含了《Thinking in Java》第四版的全部习题解答,这些解答通常会包括对问题的解析、代码实现以及可能的优化建议。...

Global site tag (gtag.js) - Google Analytics