`
hust_axu
  • 浏览: 681 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

javase学习(一)——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次幂。

 

分享到:
评论

相关推荐

    Java学习资料 JavaSE学习练习代码

    学习JavaSE时,你需要掌握变量、数据类型、运算符、流程控制(如if-else、switch、for、while)、方法定义和调用等基本概念。 2. **面向对象编程**:Java是一种完全面向对象的语言,包括类、对象、封装、继承、多态...

    Java基础知识——Java入门与加深

    接着,我们需要掌握Java的基本数据类型,包括整型(byte, short, int, long)、浮点型(float, double)、字符型(char)和布尔型(boolean)。此外,还有引用数据类型,如类、接口和数组,它们是对象的引用。 Java...

    JavaSE实战——客户端上传文件到服务端

    在JavaSE实战项目中,客户端上传文件到服务端是一个常见的任务,这涉及到Java网络编程、文件操作以及TCP协议的理解和应用。在这个过程中,开发者需要掌握以下几个核心知识点: 1. **Java网络编程基础**:Java提供了...

    [Java学习笔记doc]-javase基本知识

    **Java学习笔记——Java SE基本知识** Java是一种广泛使用的面向对象的编程语言,以其跨平台、安全性高和可移植性而闻名。Java Standard Edition(Java SE)是Java平台的基础,它提供了开发和运行桌面应用程序、...

    Java基础 学习笔记 Markdownr版

    通过阅读和理解这些笔记,你将能够掌握Java的基本语法、核心概念以及高级特性,为进一步学习Java的框架和技术打下坚实的基础。同时,笔记采用Markdown格式,方便转换为PDF、Word等其他格式,适应不同的阅读和学习...

    java类库——中文版

    7. Java类库学习资源:该手册的出现为Java初学者和进阶用户提供了一个权威且实用的学习资源,有助于他们更好地理解JavaSE6标准类库的结构和用法,从而提升编程效率和质量。 8. OCR扫描识别问题:由于文档内容是通过...

    达内javaSE学习代码

    1. **基础语法**:Java的基础语法包括变量定义、数据类型、运算符、流程控制(如if-else、switch、for、while循环)、方法定义等。在这些代码中,你可以看到如何规范地编写Java程序。 2. **面向对象**:Java是一种...

    传智播客毕向东JavaSE课件

    2. **Java语法基础**:包括数据类型(基本类型和引用类型)、变量、运算符、流程控制(条件语句和循环结构)、数组等基础知识。学习者将学会编写简单的Java程序并理解程序运行机制。 3. **面向对象编程**:这是Java...

    动力节点老杜Java基础入门学习教程分享——数组

    ### 动力节点老杜Java基础入门学习教程分享——数组 #### 数组概要 数组是一种重要的数据结构,被广泛应用于各种编程语言中,包括Java。数组是一种引用数据类型,用于存储固定数量的同类型元素。在内存中,数组是...

    圣思园张龙老师讲的JAVASE的pdf文档,讲的非常详细

    5. **其他内容**:此外,这份文档可能还包含了异常处理、IO流、集合框架、反射机制、枚举类型等JavaSE的重要知识点,这些都是成为一名合格Java开发者的必备技能。 总的来说,《圣思园张龙老师讲的JAVASE的pdf文档》...

    JAVA-SE入门学习——第九讲IO流

    在 Java 中,IO 流(Input/Output Stream)是一种基本的输入/输出机制,它允许程序读取和写入各种类型的数据。IO 流是 Java 编程语言的核心组件之一,它提供了一种通用的方式来处理输入/输出操作。 1.File 类概述和...

    javase6 学习笔记(李兴华培训课堂笔记所有.)

    JavaSE6学习笔记是针对Java初学者和进阶者的一份宝贵资料,由知名讲师李兴华的培训课堂笔记汇编而成。这份笔记全面、详细地涵盖了Java SE 6版本的核心概念和技术,对于理解Java编程语言的基础以及进阶特性具有重要...

    JAVASE阶段项目[香格里拉餐饮系统]

    Java提供了字节流和字符流,以及各种缓冲流和转换流,以适应不同的数据类型和操作需求。 4. **集合(Collection)框架**: 集合框架是Java中处理对象数组的核心工具,包括List、Set和Queue等接口以及ArrayList、...

    Java学习路线总结,搬砖工逆袭Java架构师(全网最强)(csdn)————程序.pdf

    从Java基础开始,包括环境变量配置、面向对象编程、数据类型、运算符、字符串操作、输入输出、控制流程、数组、Date类、final和static关键字、继承、Object类、泛型、枚举类以及异常处理。这些都是构建扎实Java编程...

    高清java学习资源

    "高清Java学习资源"这一压缩包提供了一份珍贵的资料——"javase35天笔记.pdf",它是一个详细的Java基础教程,旨在帮助初学者系统、高效地掌握Java编程语言。 一、Java语言基础 "javase35天笔记.pdf"涵盖了Java语言...

    javase编写的学生管理系统--适合初学者学习使用

    首先,我们要了解JavaSE(Java标准版)是Java平台的基础,它提供了开发桌面应用和一些网络应用的基本功能。在学生管理系统中,JavaSE的主要作用是实现数据结构和逻辑控制,完成对学生信息的管理。 该项目的核心知识...

    Java SE实践教程 pdf格式电子书 下载(四) 更新

    目录回到顶部↑第1章 进驻爪哇岛——JAVA的基本语法. 1 1.1 讲解 2 1.1.1 爪哇岛的历史与演变 2 1.1.2 爪哇岛基本生存规则 4 1.1.3 爪哇岛上新人新风尚 11 1.2 练习 15 1.2.1 搭建Java开发环境 15 1.2.2 体验...

    JavaSE课件

    在“Java基础[01-Java概述].ppt”中,你将了解到Java的历史、特点以及它如何在不同平台上运行的原理——Java的“一次编写,到处运行”(Write Once, Run Anywhere)理念。 “Java基础[02-Java基础语法1&2].ppt”...

    Java学习体系结构

    1. **JavaSE基础**:这是学习Java的第一步,包括JDK的安装,编写HelloWorld程序,理解基本的数据类型、变量、操作符和流程控制语句。面向对象的三大特性——封装、继承和多态是核心概念,要熟练掌握。 2. **类和...

Global site tag (gtag.js) - Google Analytics