`
Cecily
  • 浏览: 57619 次
  • 性别: Icon_minigender_2
  • 来自: 大连
社区版块
存档分类
最新评论

Java语法备忘

阅读更多

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次幂

分享到:
评论

相关推荐

    javascript语法备忘.doc

    javascript语法备忘.doc

    Java 备忘单(学习资料)

    这份备忘单是 Java 初学者的速成课程,有助于复习 Java 语言的基本语法。

    Java基础知识点总结.docx

    二、 Java语法基础 5 数据类型 5 运算符号 14 语句 15 函数 15 方法重载(Overloadjing)与重写(Overriding) 16 数组 17 总结 18 三、 常见关键字 20 四、 面向对象★★★★★ 21 五、 封装(面向对象特征之一)★...

    Oracle存储过程学习经典[语法+实例+调用].

    Oracle存储过程基础知识 Oracle存储过程的基本语法 Oracle存储过程的若干问题备忘 用Java调用Oracle存储过程总结 在存储过程中做简单动态查询 Oracle存储过程调用Java方法

    水木清华站∶Java版精华区 含jsp及js等集合.chm

    [目录]咖啡备忘录 4. [目录]Java介绍 5. [目录]Java学习笔记(推荐) 6. [目录]JDBC文档 7. [目录]RMI 文档 2. [目录]Java资源(文档-书籍-下载-注册码) 1. [目录]License 和注册码 ...

    Java课程设计实验报告及全部源码流程图.doc

    而这次的Java程序设计可以说与以往大不相同,先是在课堂上老师讲述了有关 的基础理论、基本语法知识,而后再加上这两周的课程设计,可以说是真正能够体会到 程序编程的乐趣,也第一次发现自己原来对程序设计是如此的...

    java面试题及技巧4

    │ 164个完整Java代码.zip │ J2EE综合--Struts常见错误的全面汇总.txt │ java程序员面试资料.zip │ JAVA笔试题(上海释锐).pdf │ MIME简介.txt │ SCJP试题详解.pdf │ SQL面试题_心灵深处.htm │ Struts+...

    java面试题目与技巧1

    │ 164个完整Java代码.zip │ J2EE综合--Struts常见错误的全面汇总.txt │ java程序员面试资料.zip │ JAVA笔试题(上海释锐).pdf │ MIME简介.txt │ SCJP试题详解.pdf │ SQL面试题_心灵深处.htm │ Struts+...

    java面试题以及技巧

    │ 164个完整Java代码.zip │ J2EE综合--Struts常见错误的全面汇总.txt │ java程序员面试资料.zip │ JAVA笔试题(上海释锐).pdf │ MIME简介.txt │ SCJP试题详解.pdf │ SQL面试题_心灵深处.htm │ Struts+...

    【白雪红叶】JAVA学习技术栈梳理思维导图.xmind

    语言语法基础 异常 泛型 内部类 反射 序列化 nIo 匿名类 包装类 优先级 引用 语言工具类库 容器类 集合 链表 map 工具类 系统类 日期类 数字类 字符串+正则 流 字符流 字节流 语言特性 ...

    Java课程设计实验报告.docx

    而这次的Java程序设计可以说与以往大不相同,先是在课堂上老师讲述了有关的基础理论、基本语法知识,而后再加上这两周的课程设计,可以说是真正能够体会到程序编程的乐趣,也第一次发现自己原来对程序设计是如此的感...

    leetcodejava常用-language-cheatsheets:为希望学习其他语言的JavaScript程序员准备的备忘单集合

    旨在通过为您提供基本语法和常用方法的备忘单,帮助您提高新语言的流畅度。 换句话说,它可以让您从零开始尽可能轻松地编码算法问题,例如 上的那些问题。 此 repo并非旨在深入了解这些语言中的任何一种。 如何使用...

    java面试题及技巧3

    │ 164个完整Java代码.zip │ J2EE综合--Struts常见错误的全面汇总.txt │ java程序员面试资料.zip │ JAVA笔试题(上海释锐).pdf │ MIME简介.txt │ SCJP试题详解.pdf │ SQL面试题_心灵深处.htm │ Struts+...

    java面试题以及技巧6

    │ 164个完整Java代码.zip │ J2EE综合--Struts常见错误的全面汇总.txt │ java程序员面试资料.zip │ JAVA笔试题(上海释锐).pdf │ MIME简介.txt │ SCJP试题详解.pdf │ SQL面试题_心灵深处.htm │ Struts+...

    java-Mooc:我通过出色的MOOC http用Java练习了解决方案

    java-Mooc 我通过出色的MOOC用Java练习了解决方案 当然还要添加第2部分: : [更新:添加了OOP]语法备忘单 待办事项:糟糕 上载所有Java ex代码。

    JAVA23种设计模式及快捷记忆

    它不是语法规定,而是一套用来提高代码可复用性、可维护性、可读性、稳健性以及安全性的解决方案。工厂模式、抽象工厂模式、单例模式、建造者模式、原型模式、适配器模式、装饰者模式、代理模式、外观模式、桥接模式...

    百度地图开发java源码-MyCheatSheet:备忘单

    百度地图开发java源码 我的速查手册 本文只是记录一些自己(曾经或者现在)经常翻查的手册(帮助文档),有些是解释语法的(例如make, python),有些是介绍工具使用的(例如git),写下来是为了自己方便查找。 希望对...

    vs没报错leetcode报错-python-cp-cheatsheet:Python3面试准备备忘单和示例

    以获取乐趣时构建了这个备忘单。 这个cheetsheet只包含我不知道但需要用来解决特定编码问题的代码。 我这样做是为了尝试获得更小的 Python 高频子集,而不是所有方法的综合列表。 此外,记录语法和算法的行为帮助我...

    teaching.ss21.prse.prwiki.en

    : CircleCI持续集成: ://circleci.com/dashboard 幻灯片:需求:自述文件和Wiki页面:有用的链接: 网址目的描述 吉特Markdown语法备忘单专家Maven官方入门指南蚀Eclipse入门教程要求EARS教程和示例JavaJava ...

Global site tag (gtag.js) - Google Analytics