Java教程 第8页

Java compareTo() 方法-国外主机测评 - 国外VPS,国外服务器,国外云服务器,测评及优惠码

Java compareTo() 方法

Java compareTo() 方法 Java Number类 compareTo() 方法用于将 Number 对象与方法的参数进行比较。可用于比较 Byte, Long, Integer等。 该方法用于两个相同数据类型的比较,两个不同类型的数据不能用此方法来比较。 语法 public int compareTo( NumberSubClass referenceName ) 参数 referenceName — 可以是一个 Byte, Double, Integer, Float, Long 或 Short 类型的参数。 返回值 如果指定的数与参数相等返回0。 如果指定的数小于参数返回 1。 如果指定的数大于参数返回 -1。 实例 public class Test{ public static void main(String args[]){ Integer x = 5; System.out.println(x.compareTo(3)); System.out.println(x.compareTo(5)); System.out.println(x.compareTo(8)); } } 编译以上程序,输出结果为: 1 0 -1 Java Number类

Java 流API-国外主机测评 - 国外VPS,国外服务器,国外云服务器,测评及优惠码

Java 流API

Java流 – Java流API 流相关的接口和类在java.util.stream包中。 AutoCloseable接口来自java.lang包。 所有流接口从继承自AutoCloseable接口的BaseStream接口继承。 AutoCloseable | +--BaseStream | +--IntStream | +--LongStream | +--DoubleStream | +--Stream<T> 如果流使用集合作为其数据源,并且集合不需要关闭。 如果流基于可关闭的数据源(例如文件I/O通道),那么我们可以使用try-with-resources语句创建流,以使其自动关闭。 BaseStream BaseStream接口定义所有类型的流的所有方法。 Iterator<T> iterator() 终端操作返回流的迭代器。 sequential()中间操作返回顺序流。 如果流已经是顺序的,则它返回自身。 它将并行流转换为顺序流。 parallel()中间操作返回并行流。 如果流已经是并行的,则它返回自身。 它将顺序流转换为并行流。 boolean isParallel()如果流是并行,则返回true,否则返回false。在调用终端流操作方法后调用此方法可能会产生不可预测的结果。 unordered()中间操作返回流的无序版本。 如果流已经是无序的,则它返回自身。 流 Stream<T> 接口表示元素类型T的流。 流<Student> 表示学生对象流。 Stream <T>接口包含诸如filter(),map(),reduce(),collect(),max(),min()等。 当使用原始类型时,我们可以使用三个专门的流接口,称为IntStream,LongStream和DoubleStream。 这些接口提供了处理原始值的方法。 对于其他基本类型,例如float,short,byte,我们仍然可以使用三个专用流接口。 在下面的代码中,我们将使用stream来计算列表中所有奇整数的平方和。 我们将使用以下步骤进行计算。 创建流 Collection接口中的stream()方法返回一个顺序流。 这样,集合充当数据源。 下面的代码创建一个List <Integer>并从列表中获取一个Stream <Integer> List<Integer> numbersList = Arrays.asList(1, 2, 3, 4, 5); Stream<Integer> numbersStream = numbersList.stream(); 过滤流 如果指定的谓词对于该元素返回真,Stream<T> filter()使用Predicate<T>来保留元素。 以下语句获取仅奇数整数的流: Stream< Integer> oddNumbersStream = numbersStream.filter(n – > n%2 == 1); 映射流 Stream< T> map()使用一个Function来映射每个元素在流中创建新流。 以下语句将流映射到其正方形: Stream<Integer> aStream = stream.map(n -> n * n); Reduce流 reduce(T identity,BinaryOperator<T>累加器)将流减少到单个值。 它采用一个初始值和一个 BinaryOperator<T> 作为参数的累加器。 reduce(T identity,BinaryOperator< T>累加器)使用所提供的初始值和关联累积函数对该流的元素执行减少,并返回减小的值。 这相当于: T result = identity; for (T element : this stream) result = accumulator.apply(result, element) return result; 以下代码将流中的所有整数相加。 int sum...

Java toString() 方法-国外主机测评 - 国外VPS,国外服务器,国外云服务器,测评及优惠码

Java toString() 方法

Java toString() 方法 Java Number类 toString()方法用于返回以一个字符串表示的 Number 对象值。 如果方法使用了原生的数据类型作为参数,返回原生数据类型的 String 对象值。 如果方法有两个参数, 返回用第二个参数指定基数表示的第一个参数的字符串表示形式。 语法 以 String 类为例,该方法有以下几种语法格式: String toString() static String toString(int i) 参数 i — 要转换的整数。 返回值 toString(): 返回表示 Integer 值的 String 对象。 toString(int i): 返回表示指定 int 的 String 对象。 实例 public class Test{ public static void main(String args[]){ Integer x = 5; System.out.println(x.toString()); System.out.println(Integer.toString(12)); } } 编译以上程序,输出结果为: 5 12 Java Number类

由浅至深推荐进阶java书籍(附PDF下载)-国外主机测评 - 国外VPS,国外服务器,国外云服务器,测评及优惠码

由浅至深推荐进阶java书籍(附PDF下载)

在众多语言中,java都以较大优势领先其他语言,跻身最热语言排名前列,学习java的人不计其数。除了学校和培训机构,知识来源的最好途径就是看书了。对于想要成为java程序员或者已经成为java程序员的人来说,最纠结的一件事可能就是想要看一些自学的java书籍但是选择的范围实在是太大了,不知从何读起才能进阶提升自己的技术,当然,经验老道的程序员已经为我们整理出来一些适合自学的java书籍并按照由浅至深的顺序进行推荐,一起来看看详细的介绍吧: 一、入门基础类 1、Head First Java 第2版·中文版 如果你没有学过其他语言亦或是转行到计算机行业,可以先看看《 Head First Java》这本书,此书是根据学习理论所设计的, 非常适合零基础的小白, 读起来轻松搞笑,让你可以从程序语言的基础开始一直学习到包括线程、网络与分布式程序等项目。最重要的是,你将学会如何像个面向对象开发者一样去思考。 本书的亮点在于不是让你只是读死书,你可以通过玩游戏、拼图、解谜题以及一些意想不到的方式与Java交互。在这些活动中,你会写出一堆真正的Java程序,包括了一个船舰炮战游戏和一个网络聊天程序。本书图文并茂的学习方式能让你快速地在脑海中掌握住java知识。 点此下载PDF版电子书 2、Head First 设计模式(中文版) 看完了《HeadFirst Java》,还推荐另一本HeadFirst系列的书《HeadFirst 设计模式》。简单有趣、还能把关键的东西说明白,又不会被突然出现的一堆概念绕晕。 入门书最关键的一点,是别把学习者吓走 !本书可以让读者快速掌握概念、培养兴趣。《HeadFirst Java》作为一本设计模式的入门学习书籍,绝对没错。 点此下载PDF版电子书 3、java从入门到精通 第4版 本书从初学者角度出发,通过通俗易懂的语言、丰富多彩的实例,详细介绍了使用Java语言进行程序开发需要掌握的知识。书中所有知识都结合具体实例进行介绍,涉及的程序代码给出了详细的注释,可以使读者轻松领会Java程序开发的精髓,快速提高开发技能。 本书内容详尽,实例丰富,非常适合作为编程初学者的学习用书,也适合作为开发人员的查阅、参考资料。 点此下载PDF版电子书(第3版) 4、Java编程思想 在有了一定的Java编程经验之后,你需要“知其所以然”了。这个时候《Java编程思想》是一本让你知其所以然的好书,它对于基本的面向对象知识有比较清楚的交待,对Java基本语法,基本类库有比较清楚的讲解,可以帮你打一个良好的Java编程基础。这本书的缺点是实在太厚,也比较罗嗦,不适合现代人快节奏学习,因此看这本书要懂得取舍,不是每章每节都值得一看的,挑重点的深入看就可以了。 点此下载PDF版电子书 提取码:java 5、Java 核心技术:卷1 基础知识 口碑最好的 官方机构J ava教程 , 系统全面讲解Java语言的核心概念、语法、重要特性和开发方法,内有大量程序实例, 内容翔实、客观准确,不拖泥带水 极具实用价值, 你怎么也得有一本。这本书比较全面而且易懂,放在案旁用到的时候查一查,看一看, 是Java初学者和Java程序员的必备参考书。 点此下载PDF版电子书  密码:jv8t 6、Java数据结构和算法 第2版 《Java数据结构和算法》以一种易懂的方式教授如何安排和操纵数据的问题,其中不乏一些难题:了解这些知识以期使计算机的应用获得最好的表现。不管使用何种语言或平台,掌握了数据结构和算法将改进程序的质量和性能。  这本书提供了一套独创的可视讨论专题用以阐明主要的论题:它使用Java语言说明重要的概念,而避免了C/C++语言的复杂性,以便集中精力论述数据结构和算法。经验丰富的作者RorbertLafore先生提供了许多简单明了的例子,避免了对于这类例题常见的冗长、繁锁的数学证明。在每一章后都有问题和练习,使读者有机会测试自己的理解程度。 这本书目前基本断货,足以说明抢手程度。作者主要使用Java语言描述了我们常用的数据结构,值得一看。 点此下载PDF版电子书 提取码:71xr 7、Java开发实战经典 这本书中的代码和案例较多,知识点也比较全面,在实际开发的过程中来讲解一些基础内容,对于新手而言很实用。 《Java开发实战经典》是一本综合讲解Java核心技术的书籍,在书中使用大量的代码及案例进行知识点的分析与运用,并且给出一些比较成熟的开发步骤,帮助读者更好地进行Java的开发。本书真正地做到了让每一位读者都能清楚地知道每个知识点的来龙去脉,不仅可以很容易地看懂一个程序,而且能真正地灵活运用程序,编写代码,让每一位读者真正做到“轻松学Java、从零开始学Java”。 “注意”、“提示”、“问答”是《Java开发实战经典(名师讲坛)》的一大特色,通过这样的方式,可以让读者进行更加全面的思考,这些特色中还包含了不少在Java面试中有可能遇到的问题,这让每位读者在打好基础、巩固技术之余,也能为面试提供强有力的支持。 点此下载PDF版电子书 二、中级进阶类 1. Java并发编程实战 本书深入浅出地介绍了Java线程和并发,是一本完美的Java并发参考手册。书中从并发性和线程安全性的基本概念出发,介绍了如何使用类库提供的基本并发构建块,用于避免并发危险、构造线程安全的类及验证线程安全的规则,如何将小的线程安全类组合成更大的线程安全类,如何利用线程来提高并发应用程序的吞吐量,如何识别可并行执行的任务,如何提高单线程子系统的响应性,如何确保并发程序执行预期任务,如何提高并发代码的性能和可伸缩性等内容,最后介绍了一些高级主题,如显式锁、原子变量、非阻塞算法以及如何开发自定义的同步工具类,非常适合Java程序开发人员阅读。 点此下载PDF版电子书 2. 编写高质量代码:改善Java程序的151个建议 国人原创作品。内容全部由Java编码的最佳实践组成,为Java程序员如何编写高质量的Java代码提出了151条极为宝贵的建议。对于每一个问题,不仅以建议的方式从正反两面给出了被实践证明为十分优秀的解决方案和非常糟糕的解决方案,而且还分析了问题产生的根源,犹如醍醐灌顶,让人豁然开朗。 点此下载PDF版电子书 提取码:java 3. 重构 改善既有代码的设计 重构,一言以蔽之,就是在不改变外部行为的前提下,有条不紊地改善代码。多年前,正是本书原版的出版,使重构终于从编程高手们的小圈子走出,成为众多普通程序员日常开发工作中不可或缺的一部分。本书也因此成为与《设计模式》齐名的经典著作,被译为中、德、俄、日等众多语言,在世界范围内畅销不衰。 本书凝聚了软件开发社区专家多年摸索而获得的宝贵经验,拥有不因时光流逝而磨灭的价值。今天,无论是重构本身,业界对重构的理解,还是开发工具对重构的支持力度,都与本书最初出版时不可同日而语,但书中所蕴涵的意味和精华,依然值得反复咀嚼,而且往往能够常读常新。 点此下载PDF版电子书 4. 深入分析Java Web技术内幕 作者是2009年加入淘宝的许令波。全面、深入地阐述了Web前端、Java和Java服务端技术。 《深入分析Java Web技术内幕》围绕JavaWeb相关技术从三方面全面深入地进行阐述。首先介绍前端知识,主要介绍JavaWeb开发中涉及的一些基本知识,包括Web请求过程、HTTP协议、DNS技术和CDN技术。其次深入介绍Java技术,包括I/O技术、中文编码问题、Javac编译原理、class文件结构解析、ClassLoader工作机制及JVM的内存管理等。最后介绍Java服务端技术,主要包括Servlet、Session与Cookie、Tomcat与Jetty服务器、Spring容器、Ibatis框架和Velocity框架等原理介绍。 点此下载PDF版电子书 5. 大型网站系统与Java中间件实践 作者是蘑菇街技术副总曾宪杰,曾长期负责淘宝主站。通过这本书可以了解大型网站架构变迁过程中的较为通用的问题和解法,并了解构建支撑大型网站的 Java 中间件的实践经验。 对于有一定网站开发、设计经验,并想了解大型网站架构和支撑这种架构的系统的开发、测试等的相关工程人员,本书有很大的参考意义;对于没有网站开发设计经验的人员,通过本书也能宏观了解大型网站的架构及相关问题的解决思路和方案。 点此下载PDF版电子书 三、高级深入类 1、深入理解Java虚拟机 非常难得的国人原创JVM实践性图书。“其中穿插的经验、技巧、案例、实战处处都可见作者的实践之中积累的功力。”此书与Bill Venners的老书《深入Java虚拟机》很大程度上是互补的,可以参看。 第1版两年内印刷近10次,4家网上书店的评论近4?000条,98%以上的评论全部为5星级的好评,是整个Java图书领域公认的经典著作和超级畅销书,繁体版在台湾也十分受欢迎。第2版在第1版的基础上做了很大的改进:根据最新的JDK 1.7对全书内容进行了全面的升级和补充;增加了大量处理各种常见JVM问题的技巧和最佳实践;增加了若干与生产环境相结合的实战案例;对第1版中的错误和不足之处的修正;等等。第2版不仅技术更新、内容更丰富,而且实战性更强。 《深入理解Java虚拟机:JVM高级特性与最佳实践(第2版)》共分为五大部分,围绕内存管理、执行子系统、程序编译与优化、高效并发等核心主题对JVM进行了全面而深入的分析,深刻揭示了JVM的工作原理。 点此下载PDF版电子书   密码:hgxm 2、企业应用架构模式 作者将40多种经常出现的解决方案转化成模式,最终写成这本能够应用于任何一种企业应用平台的、关于解决方案的、不可或缺的手册。 《企业应用架构模式》获得了2003年度美国软件开发杂志图书类的生产效率奖和读者选择奖。《企业应用架构模式》分为两大部分。第一部分是关于如何开发企业应用的简单介绍。第二部分是《企业应用架构模式》的主体,是关于模式的详细参考手册,每个模式都给出使用方法和实现信息,并配以详细的Java代码或C#代码示例。此外,整《企业应用架构模式》中还用了大量UML图来进一步阐明有关概念。 《企业应用架构模式》是为致力于设计和构建企业应用的软件架构师、设计人员和编程人员而写的,同时也可作为高等院校计算机专业及软件学院相关课程的参考教材。 点此下载PDF版电子书 提取码:java 3、Java性能权威指南 Java性能方面的新书,可能也是最好的一本。不仅讲述了对什么进行优化,如何优化,还阐述了大量然后编写高效代码的最佳实践。虽然篇幅小一些,但比Oracle官方的那本内容博杂的《Java性能优化权威指南》其实更深入。 市面上介绍Java的书有很多,但专注于Java性能的并不多,能游刃有余地展示Java性能优化难点的更是凤毛麟角,本书即是其中之一。通过使用JVM和Java平台,以及Java语言和应用程序接口,本书详尽讲解了Java性能调优的相关知识,帮助读者深入理解Java平台性能的各个方面,最终使程序如虎添翼。 点此下载PDF版电子书   密码:urpm

Java 静态final-国外主机测评 - 国外VPS,国外服务器,国外云服务器,测评及优惠码

Java 静态final

Java教程 – Java静态final Java静态关键字 静态类成员可以独立于该类的任何对象使用。 静态成员可以自身使用,而不参考特定实例。 这里展示了如何声明 static 方法和 static 变量。 static int intValue; static void aStaticMethod(){ } 限制 声明为静态的方法有几个限制: 它们只能调用其他静态方法。 它们只能访问静态数据。 他们不能以任何方式引用this或super。 类的所有实例共享同一个静态变量。您可以声明一个静态块来初始化静态变量。当第一次加载类时,静态块只被调用一次。 以下示例显示了具有静态方法的类 public class Main { static int a = 3; static int b; static void meth(int x) { System.out.println("x = " + x); System.out.println("a = " + a); System.out.println("b = " + b); } public static void main(String args[]) { Main.meth(42); } } 输出: 例子 以下示例显示了具有静态变量的类。 public class Main { static int a = 3; static int b; } 我们可以引用上面定义的静态变量如下: Main.a 以下示例显示了具有静态初始化块的类。 public class Main { static int a = 3; static int b; static { System.out.println("Static block initialized."); b = a * 4; } } Java final关键字 无法修改最终变量。 必须在声明时初始化最终变量。最终变量基本上是一个常数。 final变量 public class Main { final...

Java 备忘单

这份备忘单是 Java 初学者的速成课程,有助于复习 Java 语言的基本语法。 开始 hello.java public class Hello { // main methord public static void main(String[] args) { // Output: Hello, world! System.out.println("Hello, world!"); } } 编译和运行 $ javac Hello.java $ java Hello Hello, world! 变量 int num = 5; float floatNum = 5.99f; char letter = 'D'; boolean bool = true; String site = "quickref.me"; 原始数据类型 数据类型 尺寸 默认 范围 byte 1 字节 0 -128 ~ 127 short 2 字节 0 -2 15 ~ 2 15 -1 int 4 字节 0 -2 31 ~ 2 31 -1 long 8 字节 0 -2 63 ~ 2 63 -1 float 4 字节 0.0f N/A double 8 字节 0.0d N/A char 2 字节 \u0000 0 ~ 65535 boolean N/A fasle true/false 字符串 String first = "John";...

Java indexOf() 方法-国外主机测评 - 国外VPS,国外服务器,国外云服务器,测评及优惠码

Java indexOf() 方法

Java indexOf() 方法 Java String类 indexOf() 方法有以下四种形式: public int indexOf(int ch): 返回指定字符在字符串中第一次出现处的索引,如果此字符串中没有这样的字符,则返回 -1。 public int indexOf(int ch, int fromIndex): 返回指定字符在字符串中第一次出现处的索引,如果此字符串中没有这样的字符,则返回 -1。 int indexOf(String str): 返回指定字符在字符串中第一次出现处的索引,如果此字符串中没有这样的字符,则返回 -1。 int indexOf(String str, int fromIndex): 返回指定字符在字符串中第一次出现处的索引,如果此字符串中没有这样的字符,则返回 -1。 语法 public int indexOf(int ch ) 或 public int indexOf(int ch, int fromIndex) 或 int indexOf(String str) 或 int indexOf(String str, int fromIndex) 参数 ch — 字符。 fromIndex — 开始搜索的索引位置。 str — 要搜索的子字符串。 返回值 指定子字符串在字符串中第一次出现处的索引,从指定的索引开始。 实例 public class Main { public static void main(String args[]) { String Str = new String("W3Cschool教程:www.w3cschool.cn"); String SubStr1 = new String("youj"); String SubStr2 = new String("com"); System.out.print("查找字符 o 第一次出现的位置 :" ); System.out.println(Str.indexOf( 'o' )); System.out.print("从第14个位置查找字符 o 第一次出现的位置 :" ); System.out.println(Str.indexOf( 'o', 14 )); System.out.print("子字符串 SubStr1 第一次出现的位置:" ); System.out.println( Str.indexOf( SubStr1 )); System.out.print("从第十五个位置开始搜索子字符串...

Java 正则表达式查找/替换-国外主机测评 - 国外VPS,国外服务器,国外云服务器,测评及优惠码

Java 正则表达式查找/替换

Java正则表达式教程 – Java正则表达式查找/替换 我们可以找到一个模式,并用一些文本替换,替换的文本取决于匹配的文本。 在Java中,我们可以在Matcher类中使用以下两个方法来完成这个任务。 Matcher appendReplacement(StringBuffer sb, String replacement) StringBuffer appendTail(StringBuffer sb) 例子 假设我们有以下文本。 We have 7 tutorials for Java, 2 tutorials for Javascript and 1 tutorial for Oracle. 我们想在以下规则中将数字更改为文本。 如果多于5,更换多 如果小于5,请更换少量 如果是1,替换为“只有一个” 更换后,上面的句子是 We have many tutorials for Java, a few tutorials for Javascript and only one tutorial for Oracle. 要找到所有数字,我们可以使用 \b\d+\b。 \b 标记单词边界。 以下代码显示如何使用正则表达式和appendReplacement()和appendTail()方法 import java.util.regex.Matcher; import java.util.regex.Pattern; public class Main { public static void main(String[] args) { String regex = "\\d+"; StringBuffer sb = new StringBuffer(); String replacementText = ""; String matchedText = ""; String text = "We have 7 tutorials for Java, 2 tutorials for Javascript and 1 tutorial for Oracle."; Pattern p = Pattern.compile(regex); Matcher m = p.matcher(text); while (m.find()) { matchedText = m.group();...

JavaFX 图像显示

JavaFX 教程 – JavaFX 图像显示 JavaFX 可以在场景图形上显示标准图像文件格式。 使用javafx.scene.image.Image从本地文件系统或远程Web服务器加载图像。 使用javafx.scene.image.ImageView节点显示图像。 正在加载图片 加载标准图像文件格式JavaFX提供javafx.scene.image.Image API。Image类有很多很容易的构造函数,以便于不同的加载策略,如下面的列表所示: Image(java.io.InputStream inputStream)Image(java.io.InputStream is, double requestedWidth, double requestedHeight, boolean preserveRatio, boolean smooth)Image(java.lang.String url)Image(java.lang.String url, boolean backgroundLoading)Image(java.lang.String url, double requestedWidth, double requestedHeight, boolean preserveRatio, boolean smooth)Image(java.lang.String url, double requestedWidth, double requestedHeight, boolean preserveRatio, boolean smooth, boolean backgroundLoading) 可能介绍了每个参数。 参数 数据类型/说明 输入流 java.io.InputStream输入流,如文件或网络。 网址 String图片的网址位置。 后台加载中     boolean从JavaFX应用程序线程中加载背景中的图片。 请求宽度 double指定图像的调查框宽度。 请求高度 double指定图像的调查宽度。 玩游戏 boolean用于在边框内保持图像的宽高比。 完整的 boolean真表示更,但更慢;否则渲染质量较低但速度较快。 以下代码加载两个图像,一个来自本地磁盘,另一个来自网络。 import java.io.File; import java.net.MalformedURLException; import javafx.application.Application; import javafx.scene.image.Image; import javafx.stage.Stage; public class Main extends Application { @Override public void start(Stage primaryStage) { try { File file = new File("C:/Users/abc/myphoto.jpg"); String localUrl = file.toURI().toURL().toString(); // don"t load in the background Image localImage = new Image(localUrl, false); String remoteUrl = "/attachments/jimg/Firefox.png"; // load in the background Image remoteImage = new Image(remoteUrl, true); System.out.println(localUrl); System.out.println(remoteUrl); } catch (MalformedURLException ex) { // error } } public static void main(String[] args) { launch(args); } } 显示图像 ImageView对象是一个可以显示图像的JavaFX Node对象。它可以有效果,执行变换和缩放图像。 当ImageView节点应用特殊效果(如图像模糊)时,图像的像素数据被复制,计算并显示在ImageView节点上。 下面代码显示如何创建ImageView对象。 Image image...

Java float数据类型

Java数据类型教程 – Java float数据类型 浮点数据类型 当评估需要分数精度的表达式时,使用浮点数(也称为实数)。 包含小数部分的数字称为实数,例如,3.2,0.114,-1.19等。 Java支持浮点数格式。 Java使用IEEE 754浮点标准存储实数。 有两种类型的浮点类型,float和double,分别表示单精度和双精度数。 它们的宽度和范围如下所示: 名称 宽度以位为单位 近似范围 double 64 4.9e-324〜1.8e + 308 float 32 1.4e-045〜3.4e + 038 浮点数据类型 浮点数据类型使用32位来存储浮点数。 浮点数也称为单精度浮点数。它可以表示一个小到1.4×10-45和大到3.4×1038的大小的实数。 该范围仅包括幅度。它可以是正的或负的。 所有以f或F结尾的实数称为浮点文字。浮点文本可以用以下两种格式表示: 十进制数字格式 科学计数法 浮点字面量 十进制数字格式的浮点文本示例如下: float f1 = 1F; float f2 = 2.F; float f3 = 3.0F; float f4 = 4.51F; float f5 = 5.0F; float f6 = 56.78f; 在Java中,实数可以使用科学记数法表示为浮点文本。 在科学记数法中,数字32.5×10-1 被写为32.5E-1。作为浮点文本,它可以写作32.5E-1F或32.5E-1f。 所有以下浮点文本表示相同的实数4.25: 4.25F 42.5E-1F 0.425E+1F 0.425E1F 0.0425E2F 0.0425e2F 4.25E0F float数据类型定义两个零:+ 0.0F(或0.0F)和-0.0F。 + 0.0F和-0.0F都被认为是相等的。 float数据类型定义了两个无穷大:正无穷大和负无穷大。 未定义浮动上的一些操作的结果。例如,将0.0F除以0.0F是不确定的。 不确定的结果由称为NaN(非数字)的float数据类型的特殊值表示。 Java有一个 Float 类,它定义了三个常量,分别表示正数无穷大,负无穷大和浮点数据类型的NaN。 下表列出了这三个浮动常量及其含义。 常量 含义 Float.POSITIVE_INFINITY float类型的正无穷大 Float.NEGATIVE_INFINITY float类型的负无穷大 Float.NaN 不是类型float的数量 Float.MAX_VALUE 可以在float变量中表示的最大正值。 这等于3.4×10 38 (约)。 Float.MIN_VALUE 大于零的最小正值,可以在float变量中表示。 这等于1.4×10 -45 。 所有整型类型(int,long,byte,short和char)的值都可以分配给float数据类型的变量,而不使用显式强制转换。 在将float值分配给任何整数数据类型int,long,byte,short或char的变量之前,必须强制转换该值。 将int和long赋值为float可能会导致精度损失。