Java语法总结 - 基本数据类型
Java不是纯的面向对象的语言,不纯的地方就是这些基本数据类型不是对象。当然初期Java的运行速度很慢,基本数据类型能在一定程度上改善性能。如果你想编写纯的面向对象的程序,用包装器类是取代基本数据类型就可以了。
1、基本类型的存储空间。byte--8位,short--16位,int--32位,long--64位,float--32位,double--64位。这六种数字类型都是有符号的。固定的存储空间正是Java可移植性、跨平台的原因之一!
2、基本类型的存在导致了Java OOP的不纯粹性。因为基本类型不是对象,一切皆对象是个小小的谎言。这是出于执行效率的权衡。
3、使用公式-2的(位数-1)次幂到2的(位数-1)次幂-1确定整数类型的范围(byte、short、int、long)。
4、char是16位Unicode字符或者说是16位无符号整数,范围从0到65535。即便如此,可以强制转换非法的数据,如:char c1 = (char) 10000; char c2 = (char) -200;。可以从二进制存储的角度理解这点。
5、整数有八进制(以0开头的整数)、十进制、十六进制(以0x或0X开头的整数)表示。
6、char可以用单引号表示单个字符,如:'良'。也可以用unicode值'"ucafe'(四位十六进制数)。
7、布尔型boolean。布尔型只能是true或者false,并且测试它为真还是假。它不能进行任何其他的运算,或者转化为其他类型。
正例:boolean b1 = 1 > 2; 反例:int seen = button.isVisible();
实践:简洁是美德,请不要这样写:if ( is == true && done == false ) ,只有新手才那么写。
对于任何程序员 if ( whether && !done ) 都不难理解吧。所以去掉所有的==fasle 和 ==true。
8、默认的浮点类型是双精度(double),要想要一个float必须在浮点数后面加F或者f。如:float pi = 3.14;是错误的。
9、默认的整数类型是int型,要想使用长整型可在后面加“l”或“L”,如:1000L。(小写l容易被误认为1,不推荐用)
10、float可以精确到7位有效数字,第8位的数字是第9位数字四舍五入上取得的;double可以精确到16位有效数字,第17位的数字是第18位数字四舍五入上取得的。盖茨到底有多少钱?要用double表示,用float是装不下的……
11、如果要求精确的答案,请不要使用float和double,因为它们是为了在广域数值范围上提供较为精确的快速近似运算而精心设计的。然而,它们没有提供完全精确的结果。尤其是对货币计算尤为不适合,因为要让一个float或double精确地表达0.1(或者10的任何)
12、BigInteger支持任意精度的整数。BigDecimal支持任意精度的定点数。
13、初始化无论怎么强调都不过分!Java为所有的成员变量提供了默认初始化:byte、short、 int、long--0 float--0.0f double--0.0 boolean--false char--'"u0000',特别地对象类型的引用全被初始化为null。(注意!除了数组之外的局部变量是得不到这种优待的,需要你自己初始化。另外,默认初始化的值是你想要的吗?所以最好明确地对变量进行初始化,一般是在构造函数中。)
14、基本类型之间的转化。Java的类型检查很严格,从低精度转换到高精度是无须显式转换的,double d = 123;。但是反过来,进行窄化转换,由高精度向低精度,或者一种类型到另一种类型,则必须使用强制类型转化。Java提供了安全转化机制,但是结果是否是期望的,你自己保证吧。
double d = 12.5;
float f = (int) d; //结果不是13,而是12!
浮点型转化为整型时,不进行四舍五入,直接截断小数点后面的数。
15、提升。各种基本数据类型进行混合运算,结果会是表达能力最强的那种。如:int和long运算,结果是long,整型和浮点型运算结果是浮点型。特殊的一点是:只要类型比int小(如char、byte、short),那么在运算之前,这些值会自动地转换成int。例子:
byte b1 = 12;
byte b2 = b1 + 1; //在编译时出错了!因为b1+1已经是int型了!切记!
16、浮点类型的科学表示法。在数学中e代表自然对数(Math.E给出了double值),而在Java中e代表10的幂次。浮点型的数可以这样表示float f = 1e-27f; 代表1乘以10的负27次幂
分享到:
相关推荐
在本文中,我们将深入探讨如何使用Java编程语言来实现一个备忘时钟应用...通过这个项目,初学者不仅可以掌握Java的基本语法,还能了解时间处理、GUI编程和事件驱动编程等核心概念,为今后的Java开发打下坚实的基础。
通过本文档的学习,初学者不仅能够了解如何正确配置Java开发环境,还能掌握解决常见错误的方法、编写第一个Java程序的步骤以及一些基础的Java语法概念。这对于初学者来说是非常宝贵的资源,有助于快速入门Java编程。
JavaScript 是一种广泛用于网页和网络应用的轻量级编程语言,它的语法灵活,易于学习。在JavaScript中,数据类型和变量是基础概念,对于理解和编写代码至关重要。 首先,JavaScript 有七种数据类型,其中六种是基本...
Java 备忘单是针对初学者的一份详细学习资料,旨在帮助他们快速掌握 Java 语言的基础语法。以下是一些核心知识点的概述: 1. **Hello, World!**:这是所有编程语言入门的第一步,用于验证环境配置是否正确。在 Java...
通过这个项目,初学者不仅能学习到基本的Java语法,还能了解到如何将这些知识应用于实际项目中,提高自己的编程能力。在实践过程中,还可以接触到软件工程的其他方面,如需求分析、模块划分、测试等,为后续的开发...
2. **多语言支持**:作为一个全面的工具,代码备忘录通常支持多种编程语言,如Java、Python、C++等,这意味着无论你使用哪种语言进行开发,都能找到合适的存储空间。 3. **快速搜索**:强大的搜索功能是其一大亮点...
- **智能代码编辑器**:支持语法高亮、代码补全和快速修复,提高开发效率。 - **灵活的布局编辑器**:可视化设计界面,可预览不同屏幕尺寸和Android版本的效果。 - **Gradle集成**:强大的构建系统,支持灵活的依赖...
Java是Android早期开发的首选,而Kotlin近年来已成为官方推荐的首选语言,其语法简洁,更易读写,且具备空安全特性。 9. **Data Binding**: 数据绑定库可以简化视图与数据模型之间的交互,减少代码量,提高可维护性...
【标题】基于Java开发...通过研究这个Java开发的Android记事本APP源码,开发者不仅可以学习到如何实现一个实用的Android应用,还能深入理解Java在Android平台上的语法特性和最佳实践,从而提升自己的Android开发技能。
1. **Java基础**:首先,你需要熟悉Java的基本语法,包括变量、数据类型、控制结构(如if语句和循环)、类和对象等。理解面向对象编程是至关重要的,因为Java是一种面向对象的语言。 2. **Java Web开发**:备忘录...
本教程实践备忘录将带你深入理解Java的核心概念,涵盖从基础语法到高级特性,旨在帮助你巩固Java编程技能。 一、Java基础知识 1. **环境配置**:学习Java前,你需要先安装Java Development Kit (JDK)并配置好环境...
二、Java语法基础: 1. 数据类型:Java分为基本数据类型(如int、char、float、boolean等)和引用数据类型(如类、接口、数组)。 2. 运算符:包括算术运算符、比较运算符、逻辑运算符、位运算符、赋值运算符等。 3....
《寸草心老年人备忘录》可能使用了其中之一,因此初学者需要掌握这两种语言的基本语法、类库以及面向对象编程概念。例如,了解如何定义类、创建对象、处理事件等。 接下来,熟悉Android Studio集成开发环境(IDE)...
对于初学者来说,这个项目提供了一个很好的实践平台,涵盖了基础的Java语法、数据结构、文件操作、数据库交互等多个方面。通过实际操作,可以加深对Java编程的理解,提高解决问题的能力。同时,项目中没有前端界面,...
18. **备忘录模式**:在不破坏封装性的前提下,捕获一个对象的状态,以便以后恢复。Java中的`Serializable`接口可以实现对象的序列化,实现数据备份和恢复。 19. **状态模式**:允许对象在其内部状态改变时改变它的...
创建视图的语法如下: ```sql CREATE VIEW StudentView AS SELECT Name, Age FROM Students; ``` 索引可以提高查询速度,通常在经常用于搜索的列上创建。创建索引: ```sql CREATE INDEX idx_Student_Age ...
1. **基础模块**:这是Java学习的起点,涵盖了Java语法、数据类型、流程控制、异常处理、类与对象等基础知识。理解这些概念是进一步深入学习Java的基础。 2. **面向对象模块**:Java是一种面向对象的语言,因此深入...
1. **Java基础**:这部分主要考察Java语言的基本语法,如变量、数据类型、运算符、流程控制(if/else, switch, for, while等)、类与对象、封装、继承、多态等概念。此外,还会涉及到异常处理、IO流、线程和集合框架...
Java中通过抽象语法树(AST)和解析规则实现。 16. **迭代器模式(Iterator)**:提供一种方法顺序访问聚合对象的元素,而又不暴露其底层表示。Java中已经内置了`java.util.Iterator`接口。 17. **中介者模式...