程序在运行的时候,我们要给程序输入数据,程序根据输入的数据作出响应。 常见的输入方式有:
命令行参数
系统属性
标准的输入
在程序中实现文件的创建,读,写
Math 类是用来支持数学计算的,它打包在 java.lang 包中,包含一组静态方法和两个常数,是终态(final)的,它不能被实例化。
正则表示式的功能是 J2SE 1.4 之后加入的新功能。String 的 matches()、replaceAll()等方法,所传入的参数就是正则表示式(Regular expression)的字符串;可以在API 文件的 java.util.regex.Pattern 类中找到有关正则表示式的相关信息。
例如一些常用的范围,我们可以使用预先定义的字符类别:
. 表示任一字符
\d 表示 [0-9] 数字
\D 表示 [^0-9] 非数字
\s 表示 [ \t\n\x0B\f\r] 空格符
\S 表示 [^ \t\n\x0B\f\r] 非空格符
\w 表示 [a-zA-Z_0-9] 数字或是英文字
\W 表示 [^a-zA-Z_0-9] 非数字与英文字
. 表示任一字符。例如有一字符串 abcdebcadxbc,使用.bc 来比对的话,符合的子字符串有abc、ebc、xbc 三个。
以上的例子来根据字符比对,您也可以使用「字符类」(Character class)来比较一组字符范围,例如:
[abc] a、b 或c
[^abc] 非a、b、c 的其它字符
[a-zA-Z] a到z 或A 到Z(范围)
[a-d[m-p]] a 到d 或m 到p(联集)
[a-z&&[def]] d、e 或f(交集)
[a-z&&[^bc]] a到 z,除了b 与 c之外(差集)
[a-z&&[^m-p]] a 到z且没有 m 到p(a-lq-z)(差集)
可以指定字符可能出现的次数:
X? X出现一次或完全没有
X* X出现零次或多次
X+ X出现一次或多次
X{n} X 出现n 次
X{n,} X出现至少n次
X{n,m} X出现至少n 次,但不超过 m次
在 String 类别中,matches()方法可以让您验证字符串是否符合指定的正规表示式,这通常用于验证使用者输入的字符串数据是否正确,例如电话号码格式;replaceAll()方法可以将符合正规表示式的子字符串置换为指定的字符串;split()方法可以让您依指定的正规表示式,将符合的子字符串分离出来,并以字符串数组传回。
StringBuffer 对象是一个可以改变的统一编码字符串。String 与StringBuffer 之间没有继承关系。 在JDK5.0中新加入了StringBuilder类,它类似于StringBuffer类,只是该类的方法是非线程安全的;因此在不需要考虑线程安全时可以考虑这个类替换StringBuffer类。
StringBuffer与 String 的区别主要是效率上的区别。它们都可以表示一个字符串对象,只不过 String 类型的字符串对象,只要值改变,存储的空间也会改变,而 StringBuffer 是在原来的空间上进行修改的。所以要进行大量的字符串操作,要用StringBuffer. 而如果不是频繁操作字符串对象,两者都可以,只不过String 更方便些,因为用两个双引号就可以表示一个Sting对象。所以前者常被作为字符串变量,后者常被作为字符串常量。
集合可用于保存,处理 Object 类型的对象。这允许在收集中贮存任何对象。它还可以,在使用对象前、从集合中检索到它之后,使用正确的类型转换为我们所需要的对象类型。Java在 Java.util 包中提供了一组 API。这组 API 中的大部分类都实现了 Collection 接口,因此,被称作 Collections API。集合根据它们处理的不同种类的数据结构,Collections API可分为三类:
(Collection)收集-没有具体顺序的一组对象;
(Set)设定-没有重复的一组对象;
(List)列表-有序对象组,允许重复.
当一个 Java 应用程序从终端启动时,用户可以提供零个或多个命令行参数。这些命令行参数都是字符串,这些字符串可以是独立的记号(如:arg1),也可以是引号之间的多个符号("another arg")。参数序列跟在程序类的名字后面输入;然后被存放在String 对象的数组中,传递给 main 方法。
系统属性是另外一种在运行时向程序传递参数的机制。每个属性都是一个属性名和属性值的映射对。属性名和属性值都是字符串。Properties 类表示这样的映射。System.getProperties 方法返回系统的属性对象。System.getProperties(String) 方法返回 String 属性的值。在虚拟机参数中输入-Dxxx=value(xxx代表一个名字,value对应一个值)。
多数应用都会发生人机交互,人机交互经常通过控制台文本输入/输出来完成。Java 2 SDK 用公有类java.lang.System支持控制台I/O。System.out是一个PrintStream对象,它指向运行 Java应用程序的终端窗口。 System.in是一个InputStream对象,它指向用户的键盘。 JDK1.5 新特性:java.util.Scanner 类;JDK1.6新特性:java.io.Console类。
可以用迭代扫描一个集合。基本的Iterator 接口可以向前扫描任何集合。对于一个Set来说,它的迭代是没有顺序的。对于一个 List 来说,它的迭代的顺序与 List 中元素的顺序相同,只能向前,不能后退。此外,List 对象还支持 ListIterator接口,允许迭代向后移动。用迭代器还可以修改容器里的数据,只不过只能用当前的迭代器修改,不能两个迭代器同时修改一个容器里的数据!
Java 在 Collections API 的 Map 接口中声明了一对一的映射。当向映射中插入一对关键字和值时,如果出现关键字重用,则用新值替换映射中原有的值,不在映射中增加一个元素。
对于复杂的应用,尤其是生成报表时,排序是一种必不可少的基本操作。在 JavaCollections API中,已经实现了几种排序。给数组排序可以使用Arrays 对象的一套 sort方法。
你可以使用一个 File 对象来代替一个 String 作为 FileInputStream 和FileOutputStream 对象的构造函数参数。这是一种推荐方法,因为它独立于本地文件系统的约定。File 类提供了若干处理文件和获取它们基本信息的方法。在 java 技术中,目录也是一个文件。可以用isDirectory()进行判定到底是不是目录,用isFile()判定到底是不是文件。
分享到:
相关推荐
长文本应用源码是实现这些功能的核心,它可以帮助我们理解如何高效地操作和管理大量的文本信息。 在易语言长文本应用中,有几个关键知识点值得深入探讨: 1. **文本流操作**:易语言提供了读取和写入文本文件的...
超级文本标记语言是标准通用标记语言下的一个应用,也是一种规范,一种标准,它通过标记符号来标记要显示的网页中的各个部分。网页文件本身是一种文本文件,通过在文本文件中添加标记符,可以告诉浏览器如何显示其中...
易语言源码易语言长文本应用源码.rar 易语言源码易语言长文本应用源码.rar 易语言源码易语言长文本应用源码.rar 易语言源码易语言长文本应用源码.rar 易语言源码易语言长文本应用源码.rar 易语言源码易语言长...
Flash cs中的文本应用
Laravel的超文本应用语言 HAL-超文本应用程序语言是一种JSON方言,它为将HATEOAS(作为应用程序状态引擎的超文本)添加到您的API提供了一致而简便的方法。 该库使编写HAL响应(包括嵌入式数据)变得容易。 这是的...
Dreamweaver 8是一款经典的网页设计与开发...总的来说,熟练掌握Dreamweaver 8中的文本应用技巧,对于构建专业、美观的网页至关重要。通过不断地练习和实验,你可以不断提升自己的网页设计能力,更好地满足用户的需求。
"易语言长文本应用源码"是指使用易语言编写的、处理长文本的应用程序源代码。这样的源码对于学习易语言以及如何在实际项目中处理大量文本数据具有很高的参考价值。 在易语言中,处理长文本通常涉及到以下几个核心...
"文本数据挖掘与Python应用" 文本数据挖掘是一种从大量文本数据中提取有价值信息的过程,如关键词、主题、情感等。文本数据挖掘技术在各个领域的应用越来越广泛,例如自然语言处理、信息检索、情感分析等领域。 ...
【基于Python的文本挖掘应用】 文本挖掘是一种从大量非结构化文本中提取有价值信息的技术,尤其在互联网时代,数据的快速增长使得文本挖掘成为研究的重要方向。Python作为一种强大的编程语言,因其丰富的库支持和...
在iOS开发中,创建具有丰富文本样式的应用是一个常见的需求,比如在新闻阅读、社交媒体或...通过学习和理解这个源码,开发者能够提升在iOS平台上构建富文本应用的能力,为用户提供更丰富的视觉体验和更便捷的操作方式。
也许你还需要对文本应用某些特殊格式(如,添加tab分隔符)以便它们能够导入到Execl中(比如,你需要将PDF文档中包含的表格数据导入到Excel中,这就是编写这段代码的目的)。附件中的程序使用VC6.0编译通过,可以...
在IT行业中,自动文本应用程序是一种广泛应用的技术,它主要用于自动化文本处理任务,如文本生成、文本摘要、情感分析、机器翻译等。"auto-text"作为标题,暗示了我们正在讨论一个专注于此类功能的软件或库。这个...
首先,自然语言处理是深度学习在文本应用的基础,涉及到词汇学、句法学、语义学和语用学等多个层面。词汇学关注单词的结构和意义,如语素和屈折变化;句法学研究如何将单词和词组构建成句子;语义学涉及句子的含义...
QT是Qt的缩写,它是一个跨平台的C++应用程序开发框架,由Trolltech公司(现为The Qt Company)开发,广泛应用于图形用户界面、网络编程...通过学习和理解这些知识点,开发者可以创建功能丰富的文本应用,满足各种需求。
这30页的PPT课件将详细讲解这些概念,并可能包含相关的习题,帮助学生巩固所学知识,提高对深度学习在文本应用的理解和实践能力。通过学习这些内容,学生能够掌握深度学习技术,并将其应用于实际的文本处理项目中。
贝叶斯短信文本分类是一种机器学习技术,它被广泛应用在手机客户端,用于自动识别和区分垃圾短信与正常短信。这个系统是由四川大学的黄杰同学开发的,其目的是提升用户对短信的管理效率,减少不必要的骚扰信息。本文...
文本挖掘是一种从非结构化文本数据中提取有价值信息的技术,广泛应用于多个领域,如生物技术、消费者产品、CRM、市场营销、教育、政府、医疗保健、保险等。在本北京大学研究生课程“文本挖掘”中,涵盖了从基础知识...
文本挖掘在科技政策领域的应用 文本挖掘是指从大量的文本数据中自动地发现和提取有价值的信息和模式的过程。科技政策文本挖掘是指应用文本挖掘技术来分析和处理科技政策相关的文本数据,以获得有价值的信息和见解。...
Matlab 技术在自然语言处理中的应用方法 ...这些方法和工具可以帮助我们更好地理解和处理自然语言,提高人机交互和文本应用的效率和精度。随着技术的不断进步和发展,Matlab 在 NLP 领域的应用将变得更加广泛和深入。
### 文本挖掘在生物学中的应用 #### 一、引言 文本挖掘作为一种先进的信息提取技术,在生物学领域的应用日益广泛。随着高通量测序技术和蛋白质组学研究的迅速发展,产生了大量的生物医学文献和数据。这些文献和...