小细节!!!
private static int TYPE_ONE = 1;
private static int TYPE_TWO = 2;
private static int TYPE_THREE = 3;
main() {
int type = 2;
switch (type) {
case TYPE_ONE:
//do something
break;
case TYPE_TWO:
//do something
break;
case TYPE_THREE:
//do something
break;
}
}
该代码中会存在编译错误!
原因case后面需要的是一个Constant的常量,而TYPE_ONE不是一个final
main() {
int type = 1;
switch (type) {
case 1:
boolean isSuccess = false;
//do something
break;
case 2:
boolean isSuccess = true;
//do something
break;
}
}
该代码中会存在编译错误!
原因在一个switch语句中所有的case都是在同一个local variable中,这里isSuccess存在重复定义!如果在每个case加一个{},则不会出现这个问题
Java方法中参数使用final修饰
1、对于参数类型是基本类型的时候,因为传参是传值,故是否加上final修饰都一样
2、对于参数类型是Object的时候,增加了final,则代表该对象obj是不可改变的,即在编译期能够对obj = new Object()进行错误检验,从而保证obj这个引用不会被重新引用到其他对象去,即某种意义上的对象不变!
3、方法里面存在嵌套类等,如要用一些变量,这些都需要时final修饰。这个基于嵌套类外该变量是final,嵌套类里面也会做隐含动作将其作为一个final的成员变量,故两个fianl变量之间传递,都不会发生对象的改变,故通过final修饰的对象不变地应用到嵌套类中
参考链接http://blog.csdn.net/tavor/archive/2007/12/06/1920336.aspx
Java访问控制符
public: 外部包可以访问
缺省(包访问性):同一个包下面的才可以访问
protected: 不同包的该类子类可以访问, 【同一个包下面的可以访问(没有注意到的地方)】
private:本类访问
分享到:
相关推荐
Java语法手册是编程者在学习或工作...以上只是Java语法手册中部分核心知识点的概述,实际手册会包含更多细节,如枚举、注解、并发工具类、集合框架的高级特性和JVM优化等内容,帮助开发者深入理解并熟练掌握Java编程。
Java 语法糖详解 在编程世界中,语法糖(Syntactic Sugar)是一种设计语言时引入的特性,它不增加新的功能,而是提供更简洁、更易读的语法,使得编写代码更为方便。这一概念由Peter J. Landin提出,自那时以来,许多...
本文将采用轻松幽默的方式,为大家揭示那些在开发中可能被忽略的Java语法细节,帮助大家更好地理解和掌握Java。 #### 十六进制的趣事 在计算机科学领域中,十六进制是一种常用的数字表示方法,它以16为基数,由0-9...
总之,"Java语法分析器和词法分析器"项目涵盖了编译器设计的核心概念和技术,包括词法分析、语法分析、抽象语法树构建以及错误处理等方面,对于提升编程语言处理能力具有重要作用。通过阅读和研究项目中的代码和注释...
- Java的泛型(Generics)与C#中的泛型存在语法上的相似性,但实现细节有所不同。 - 两种语言都支持数值转换、装箱和拆箱操作。 4. 表达式与运算符 - Java和C#的算术运算符、关系运算符和逻辑运算符基本相同。 ...
这个资源——"编译原理_java语法分析器_C语言版 源码"——是一个实际的编程项目,旨在帮助学习者深入理解编译器的工作原理,特别是针对Java语言的语法分析阶段。以下是关于这个项目的一些详细知识点: 1. **编译...
以上是Java语法的概览,每个主题都包含了大量的细节和实践技巧,新手需要通过不断的学习和实践才能真正掌握。Java 8引入了更多的新特性,如Lambda表达式、方法引用来简化代码,Stream API以更直观的方式处理集合,...
以下是对Java核心语法的一些详细说明: 1. **基础语法** - **变量**:Java中的数据类型分为基本类型和引用类型,包括int、double、boolean等基本类型以及类、接口和数组等引用类型。 - **运算符**:包括算术...
Java实现的语法分析程序是计算机科学领域中编程语言处理的一部分,主要涉及编译器和解释器的构建。在这个项目中,我们关注的是如何使用Java语言来设计和实现一个语法分析器,该分析器包含了词法分析阶段以及自顶向下...
Velocity通过简单的语法,将业务逻辑与表现层分离,使得开发者可以专注于业务逻辑的编写,而不用关心HTML、CSS等页面布局的细节。这极大地提高了开发效率和代码的可维护性。 ** Velocity语法基础 ** 1. 变量引用:...
本文将深入解析Java语法的基础知识,包括词法规则、数据类型、常量与变量、运算符和表达式、语句、数组和字符串,帮助初学者和有经验的开发者更好地掌握这门语言的核心概念。 ### 一、词法规则 Java的词法规则是...
在这个Java版的资源包中,你可能还会发现一些关键概念的示例,例如: 1. **词法模式(Lexical Patterns)**:定义了如何匹配和识别源代码中的不同元素。 2. **文法定义(Grammar Definition)**:描述了编程语言的...
这份“八套java基础语法考试题和答案”的资料是学习和检验Java基础语法知识的宝贵资源。下面,我们将深入探讨这些考试题所涵盖的Java基础知识。 1. **变量与数据类型**:Java中有两种类型的数据,基本类型和引用...
以下是对Java语法的一些核心知识点的详细阐述: 1. **变量与数据类型**:Java有八种基本数据类型,包括整型(byte, short, int, long)、浮点型(float, double)、字符型(char)和布尔型(boolean)。变量是用来...
"我的java语法基础"这个主题涵盖了Java编程的基础知识,是初学者踏入Java世界的关键步骤。在这个入门教程中,我们将深入探讨Java语言的核心语法特性。 1. **基本语法结构**:Java程序由类(class)组成,每个类包含...
在这个项目中,我们讨论的是用Java实现的PL/0的词法分析器和语法分析器。词法分析器负责识别源代码中的词汇单元,而语法分析器则根据这些词汇单元构建出程序的抽象语法树(AST)。以下是对这两个关键组件的详细解释...
《基于LR1的纯Java语法分析器》是一个深入解析编程语言语法的软件工具,它完全用Java语言实现,适用于解析符合LR1文法的编程语言。LR1分析器是一种自底向上的语法分析方法,它在编译原理中占据着重要的地位。下面将...
本教程将深入探讨如何使用JAVA实现LL(1)语法分析,这对学习编译原理和JAVA编程的同学极具价值。 首先,我们需要理解什么是LL(1)分析。"LL(1)"中的"L"代表自左向右扫描输入,"L"也代表Left-to-right;"1"则表示分析...
### Java基础语法详解 #### 一、关键字(Keywords) Java 中的关键字均为小写形式,它们具有特定的含义,用于定义语句结构。在学习Java的过程中,我们会不断接触到这些关键字。例如,`instanceof` 是一个关键字,它...