java编程文件汇总

合集下载

Java安装后JDK子目录bin目录中许多exe文件用途

Java安装后JDK子目录bin目录中许多exe文件用途

Java安装后JDK/bin目录下的许多exe文件用途java:Java解释器,直接从类文件执行Java应用程序代码appletviewer(小程序浏览器):一种执行HTML文件上的Java小程序类的Java浏览器javadoc:根据Java源代码及其说明语句生成的HTML文档jdb:Java调试器,可以逐行地执行程序、设置断点和检查变量javah:产生可以调用Java过程的C过程,或建立能被Java程序调用的C过程的头文件Javap:Java反汇编器,显示编译类文件中的可访问功能和数据,同时显示字节代码含义jar:多用途的存档及压缩工具,是个java应用程序,可将多个文件合并为单个JAR归档文件。

htmlConverter——命令转换工具。

native2ascii——将含有不是Unicode或Latinl字符的的文件转换为Unicode编码字符的文件。

serialver——返回serialverUID。

语法:serialver [show] 命令选项show是用来显示一个简单的界面。

输入完整的类名按Enter键或"显示"按钮,可显示serialverUID。

补充详细:javac.exe用法:javac <选项> <源文件>可能的选项包括:-g 生成所有调试信息-g:none 生成无调试信息-g:{lines,vars,source} 生成只有部分调试信息-O 优化;可能妨碍调试或者增大类文件-nowarn 生成无警告-verbose 输出关于编译器正在做的信息-deprecation 输出使用了不鼓励使用的API的源程序位置-classpath <路径> 指定用户类文件的位置-sourcepath <路径> 指定输入源文件的位置-bootclasspath <路径> 覆盖自举类文件的位置-extdirs <目录(多个)> 覆盖安装的扩展类的位置-d <目录> 指定输出类文件的位置-encoding <编码> 指定源文件中所用的字符集编码-target <版本> 生成指定虚拟机版本的类文件-help Print a synopsis of standard optionsappletviewer.exe用法:appletviewer <options> url其中,<options> 包括:-debug 在Java 调试器中启动applet 小程序查看器-encoding <encoding> 指定由HTML 文件使用的字符编码-J<runtime flag> 向Java 解释器传递参数-J 选项不是标准选项,如有更改,不另行通知。

Java编程规范总结

Java编程规范总结

Java编程规范总结命名:1. 为包、类、⽅法、变量取⼀个好名字,使代码易于理解2. 禁⽌使⽤魔⿁数字3. 常量命名,由全⼤写单词组成,单词间⽤下划线分隔,且使⽤ static final修饰4. 变量、属性命名,使⽤名词,并采⽤⾸字母⼩写的驼峰命名法5. ⽅法的命名,⽤动词和动宾结构,并采⽤⾸字母⼩写的驼峰命名法6. 类和接⼝的命名,采⽤⾸字母⼤写的驼峰命名法7. 包的命名,由⼀个或若⼲个单词组成,所有的字母均为⼩写8. 数组声明的时候使⽤ int[] index,⽽不要使⽤ int index[]注释:1. 尽量⽤代码来解释⾃⼰2. 注释应解释代码的意图,⽽不是描述代码怎么做的3. 保证注释与代码⼀致,避免产⽣误导4. 注释应与其描述代码位置相邻,放在所注释代码上⽅或右⽅,并与代码采⽤同样缩进5. 不要⽤注释保留废弃代码6. 不要⽤注释记录修改⽇志7. ⼀般单⾏注释⽤//,块注释⽤,JavaDoc注释⽤排版:1. 团队应遵守⼀致的排版风格2. 将排版风格固化到IDE的代码格式化配置⽂件中,并让整个团队使⽤3. 在不同的概念之间,增加空⾏4. 将逻辑紧密相关的代码放在⼀起5. 控制⼀⾏的宽度,不要超过120个字符6. 在不同的概念间(关键字、变量、操作符等)增加空格,以便清楚区分概念7. 采⽤缩进来区分不同层次的概念8. 将局部变量的作⽤域最⼩化9. 给if、for、do、while、switch等语句的执⾏体加⼤括号{}10. 控制⽂件的长度,最好不要超过500⾏变量和类型:1. 谨慎使⽤静态成员变量2. 避免随意进⾏类型强制转换,应改善设计,或在转换前⽤instanceof进⾏判断33. 需要精确计算时不要使⽤float和double4. 不能⽤浮点数作为循环变量5. 浮点型数据判断相等不能直接使⽤==6. 避免同⼀个局部变量在前后表达不同的含义7. 不要在单个的表达式中对相同的变量赋值超过⼀次8. 基本类型优于包装类型,注意合理使⽤包装类型⽅法:1. ⽅法设计的第⼀原则是要短⼩2. ⽅法设计应遵循单⼀职责原则(SRP),⼀个⽅法仅完成⼀个功能3. ⽅法设计应遵循单⼀抽象层次原则(SLAP)4. ⽅法设计应遵循命令与查询职责分离原则(CQRS)5. 不要把⽅法的⼊参当做⼯作变量/临时变量,除⾮特别需要6. 使⽤类名调⽤静态⽅法,⽽不要使⽤实例或表达式来调⽤7. 应明确规定对接⼝⽅法参数的合法性检查由调⽤者负责还是由接⼝⽅法本⾝负责8. ⽅法的参数个数不宜过多9. 谨慎使⽤可变数量参数的⽅法包、类和接⼝:1. 类和接⼝的设计应遵循⾯向对象SOLID设计原则2. 类的设计应遵循迪⽶特法则3. 类的设计应遵循“Tell,Don't ask”原则4. 类设计时优选组合⽽不是继承5. 除提供给外部使⽤的全局常量外,应尽量避免类成员变量被外部直接访问6. 避免在⽆关的变量或⽆关的概念之间重⽤名字,避免隐藏(hide)、遮蔽(shadow)和遮掩(obscure)7. 覆写(override)——⼦类与⽗类间8. 重载(overload)——类内部9. 隐藏(hide)——⼦类与⽗类间10. 遮蔽(shadow)——类内部11. 遮掩(obscure)——类内部12. 不要在⽗类的构造⽅法中调⽤可能被⼦类覆写的⽅法13. 覆写equals⽅法时,应同时覆写hashCode⽅法14. ⼦类覆写⽗类⽅法时应加上@Override注解15. 接⼝定义中去掉多余的修饰词16. 设计时,考虑类的可变性最⼩化异常:1. 只针对真正异常的情况才使⽤exception机制2. 在抛出异常的细节信息中,应包含能捕获失败的信息3. 对可恢复的情况使⽤受检异常(checked exception),对编程错误使⽤运⾏时异常(runtime exception)4. 不要忽略异常5. ⽅法注释和⽂档中要包含所抛出异常的说明6. ⽅法抛出的异常,应该与本⾝的抽象层次相对应7. 对第三⽅API抛出⼤量各类异常进⾏封装8. 使⽤异常来做错误处理,⽽⾮错误码9. 在finally块中不要使⽤return、break或continue使finally块⾮正常结束10. 不要直接捕获受检异常的基类Exception11. ⼀个⽅法不应抛出太多类型的异常12. 充分利⽤断⾔⽇志:1. ⽇志信息准确、繁简得当,满⾜快速定位的需要2. ⽇志的记录,不要使⽤ System.out 与 System.err 进⾏控制台打印,应该使⽤专⽤的⽇志⼯具(⽐如:slf4j+logback)进⾏处理3. ⽇志⼯具对象logger应声明为private static final4. ⽇志应分等级5. ⽇志中不要记录敏感信息多线程并发:1. 多线程访问同⼀个可变变量,需增加同步机制2. 禁⽌不加控制地创建新线程3. 创建新线程时需指定线程名4. 使⽤Thread对象的setUncaughtExceptionHandler⽅法注册Runtime异常的处理者(v1.5+)5. 不要使⽤Thread.stop⽅法,因为该⽅法本质是不安全的,使⽤它可能会导致数据遭到破坏6. 不要依赖线程调度器、线程优先级和yield()⽅法7. 采⽤Java1.5提供新并发⼯具代替wait和notify(v1.5+)8. 使⽤线程安全集合在多线程间共享可变数据9. 多线程操作同⼀个字符串相加,应采⽤StringBuffer10. 针对线程安全性,需要进⾏⽂档(javadoc)说明运算和表达式:1. 不要写复杂的表达式2. 运算时应避免产⽣溢出3. 采⽤括号明确运算的优先级控制语句:1. 采⽤for-each代替传统的for循环(v1.5+)2. 在switch语句的每⼀个case、和default中都放置⼀条break语句序列化:1. 尽量不要实现Serializable接⼝2. 序列化对象中的HashMap、HashSet或HashTable等集合不能包含对象⾃⾝的引⽤3. 实现Serializable接⼝的可序列化类应该显式声明 serialVersionUID泛型:1. 在集合中使⽤泛型(v1.5+)2. 类的设计可优先考虑泛型(v1.5+)3. ⽅法的设计可优先考虑泛型(v1.5+)4. 优先使⽤泛型集合,⽽不是数组(v1.5+)其他语⾔特性:1. 新代码不要使⽤已标注为@deprecated的⽅法2. 使⽤JDK⾃带的API或⼴泛使⽤的开源库,不要⾃⼰写类似的功能。

java技术文档案例

java技术文档案例

java技术文档案例
Java 技术文档通常包括以下几个方面:
1. 概述,介绍文档的目的、范围和读者对象,以及所涉及的Java 技术的背景和重要性。

2. 安装和配置,提供关于如何安装和配置 Java 开发环境的详细步骤,包括 JDK、IDE 等工具的安装和配置方法。

3. 快速入门,提供一个简单的示例或教程,帮助读者快速了解如何使用该 Java 技术来实现一些基本功能。

4. API 文档,详细列出 Java 技术的各个类、接口、方法及其用法,包括参数说明、返回值等。

5. 示例代码,提供丰富的示例代码,演示如何使用该 Java 技术解决各种问题和实现各种功能。

6. 最佳实践,介绍在使用该 Java 技术时应该遵循的最佳实践和编码规范,以及一些常见的错误和解决方法。

7. 常见问题解答(FAQ),列出一些常见问题,并给出解答和解决方法。

8. 参考资料,包括相关的书籍、网站链接、论坛等资源,帮助读者进一步深入学习和了解该 Java 技术。

以上是一般 Java 技术文档的主要内容,不同的文档可能会有所不同,但大致会包括这些方面的内容。

java技术文档案例

java技术文档案例

java技术文档案例摘要:一、Java 技术简介1.Java 的背景与历史2.Java 的优势与特点二、Java 核心概念1.Java 语言基础a.Java 语法b.Java 数据类型c.Java 运算符d.Java 流程控制2.面向对象编程a.类与对象b.继承与多态c.抽象类与接口3.Java 异常处理a.异常类的层次结构b.try-catch-finally 语句三、Java 核心库介绍1.集合框架a.集合类概述b.常用集合类介绍2.输入输出流a.文件输入输出b.字节流与字符流3.多线程编程a.线程的创建与控制b.线程同步与通信4.网络编程a.网络套接字编程b.URL、URLConnection 与HttpURLConnection四、Java 开发工具与环境1.JDK 与JRE2.Eclipse 与IntelliJ IDEA3.版本控制工具如Git五、Java 应用领域1.桌面应用开发2.网络应用开发3.移动应用开发4.嵌入式系统开发5.大数据与云计算领域正文:Java 技术文档案例Java 是一种广泛应用的高级编程语言,自1995 年由Sun Microsystems 公司推出以来,已经发展成为全球最流行的编程语言之一。

Java 具有跨平台、面向对象、安全性等特点,被广泛应用于各种领域。

本案例将介绍Java 技术的基本概念、核心库以及开发工具与环境,并探讨Java 在不同领域的应用。

一、Java 技术简介Java 起源于1991 年,由Sun Microsystems 公司的一个团队开发。

Java 的名称来源于一个名为“Java”的咖啡馆,因为该团队经常在那里讨论项目。

Java 语言的设计目标是为了简化分布式应用的开发,实现“一次编写,到处运行”的理念。

Java 具有丰富的类库,可以轻松地实现各种功能。

二、Java 核心概念1.Java 语言基础Java 语言基础包括语法、数据类型和运算符等。

java idea 工程文件 类型

java idea 工程文件 类型

java idea 工程文件类型摘要:1.Java 项目开发工具2.IntelliJ IDEA 简介3.Java 工程文件类型4.常见Java 工程文件介绍5.结论正文:在Java 项目开发过程中,开发者通常会选择一些集成开发环境(IDE)来提高开发效率。

其中,IntelliJ IDEA 是一款广受欢迎的Java 项目开发工具。

它具有强大的代码编辑、调试、测试以及版本控制等功能,帮助开发者快速构建Java 项目。

在使用IntelliJ IDEA 进行Java 项目开发时,我们需要了解一些基本的工程文件类型。

下面,我们将介绍几种常见的Java 工程文件类型。

1..java 文件:Java 源代码文件,包含Java 类的定义和实现。

2..class 文件:Java 字节码文件,由源代码编译生成,包含Java 类的字节码表示。

3..jar 文件:Java 归档文件,用于打包多个.class 文件,方便应用程序的部署和运行。

4..war 文件:Java Web 应用程序归档文件,通常包含一个或多个Java 类文件、资源文件和配置文件,用于部署Java Web 应用程序。

5..ear 文件:Java 企业版应用程序归档文件,包含一个或多个Java Web 应用程序,以及相关的资源文件和配置文件,用于部署Java 企业版应用程序。

6..pom 文件:Maven 项目配置文件,用于描述Maven 项目的依赖关系、构建配置和插件配置等信息。

7..xml 文件:配置文件,用于存储项目的配置信息,如数据库连接配置、应用程序配置等。

8..properties 文件:属性文件,用于存储项目的属性设置,如字符集、编码方式等。

9..bat 文件:批处理文件,用于在Windows 系统中执行一系列命令或操作。

10..sh 文件:Shell 脚本文件,用于在Linux 或Unix 系统中执行一系列命令或操作。

通过以上介绍,我们可以看到在Java 项目开发过程中,不同的工程文件类型扮演着不同的角色。

java2实用教程第六版知识点汇总

java2实用教程第六版知识点汇总

Java2实用教程第六版知识点汇总1.引言本文档旨在对Ja va2实用教程第六版涉及的主要知识点进行全面的汇总和总结。

通过学习该教程,读者将能够全面掌握Ja va2编程的核心概念和技巧,为日后的J av a开发工作打下坚实的基础。

2.数据类型J a va2实用教程第六版详细介绍了Ja va中的各种数据类型及其使用方法。

以下是一些关键的知识点:2.1基本数据类型J a va的基本数据类型包括整型、浮点型、字符型和布尔型。

本教程提供了详细的介绍和示例代码,帮助读者理解这些数据类型的特点和用法。

2.2引用数据类型除了基本数据类型外,J av a还提供了多种引用数据类型,如数组、类、接口等。

教程中的例子演示了如何声明和使用这些引用数据类型,帮助读者熟悉它们的基本概念和操作。

3.控制流程控制流程是编程中的重要概念,决定了程序的执行顺序和逻辑。

J a va2实用教程第六版涵盖了常见的控制流程语句,包括条件语句和循环语句。

3.1条件语句条件语句用于根据条件的真假来选择性地执行不同的代码块。

本教程提供了i f语句、swi t ch语句等条件语句的详细说明和示例,让读者明白如何正确运用它们。

3.2循环语句循环语句用于重复执行某段代码,直到满足退出条件为止。

Ja v a2实用教程第六版介绍了三种循环语句:f or循环、w hi le循环和d o-wh il e循环。

读者将学会如何正确选择和使用不同类型的循环语句,以解决各种实际问题。

4.类与对象面向对象编程是J ava的核心思想之一。

J a va2实用教程第六版详细讲解了类与对象的概念、属性和方法的定义与使用等内容。

4.1类的定义与使用教程中提供了清晰的例子,介绍了如何定义类、声明对象、调用类的方法等操作。

读者将了解到如何通过类和对象来构建复杂的应用程序。

4.2构造方法与析构方法构造方法用于在创建对象时进行初始化操作,而析构方法则在对象销毁时执行清理工作。

本教程详细说明了构造方法和析构方法的特点和使用方法,帮助读者正确地管理对象的生命周期。

Java学习文档第1-3章

Java学习文档第1-3章

映射驱动器Y: 192.168.18.2\o user user注意Java命名规范,写程序时一定要注释!改变MyEclips编辑器字体window→preferences→Appearance→Colors and Fonts→Java Editor Text Font在MyEclipse里查看类源码:D:\Program Files\Java\jdk1.5.0里src.zip解压到D:\Program Files\Java\jdk1.5.0\lib\src里,然后在MyEclipse里点击需要查看的类库中的类源码,按F3,如System后(第一次时需复制路径D:\Program Files\Java\jdk1.5.0\lib\src),会产生System.class的选项卡。

将文件拖到运行里或命令窗口中,可查看文件全路径(此方法可查看扩展名)。

反编译工具,将.class文件反统成.java文件,见张孝祥JA V A基础1.WMV末。

第一章划时代的Java语言安装jdk_1.5后Java环境变量配置:从【开始】→【设置】→【控制面板】→【系统】→【高级】→【环境变量】→【系统变量】,或者我的电脑→属性→高级→环境变量→系统变量然后到【新建】。

1.JA V A_HOME = D:\Program Files\Java\jdk1.5.02.PA TH = %JA V A_HOME%\bin;3.CLASSPA TH= .;%JA V A_HOME%\lib\dt.jar;%JA V A_HOME%\lib\tool s.jar;看好是在:“系统变量”中!!控制台里输入java –version 查看java版本一个Java程序源文件只能有一个类是public的(主类),main函数在主类里(才能运行),并且该类的类名和文件命名要完全一致,包括大小写。

每个源文件中的class类都将被编译成一个.class字节码文件,(有多少类就有多少.class字节码文件)这就是类文件。

java命令大全

java命令大全

java命令大全在Java中,可以使用许多命令来编译、运行和调试Java程序。

以下是一些常见的Java命令:1. `java`:用于运行Java程序。

例如:`java HelloWorld`将运行名为`HelloWorld`的Java程序。

2. `javac`:用于将Java源代码编译为Java字节码文件。

例如:`javac HelloWorld.java`将编译名为`HelloWorld.java`的Java源代码文件。

3. `jar`:用于创建和管理Java归档文件。

例如:`jar cvf MyJar.jar MyClass.class`将创建一个名为`MyJar.jar`的归档文件,并将`MyClass.class`添加到其中。

4. `javadoc`:用于生成Java文档。

例如:`javadoc MyPackage/*.java`将生成`MyPackage`中所有Java文件的文档。

5. `javap`:用于反汇编Java字节码文件。

例如:`javap MyClass`将显示与名为`MyClass`的类关联的字节码。

6. `jarsigner`:用于对已签名的Java应用程序和程序包进行签名和验证。

例如:`jarsigner -sign MyJar.jar keyAlias`将对`MyJar.jar`进行签名。

7. `jdb`:Java调试器的命令行界面。

例如:`jdb MyProgram`将使用`jdb`调试名为`MyProgram`的Java程序。

8. `jrunscript`:用于在命令行上运行脚本的命令。

例如:`jrunscript MyScript.js`将运行名为`MyScript.js`的JavaScript脚本。

9. `jps`:用于列出当前正在运行的Java进程。

例如:`jps -l`将列出所有Java进程的进程ID和类路径。

这只是一小部分常用的Java命令清单,Java还有许多其他命令用于不同的目的。

JAVA教程全集-电子版

JAVA教程全集-电子版

第一章J ava概览Java是一种理想的面向对象的网络编程语言。

它的诞生为IT 产业带来了一次变革,也是软件的一次革命。

Java程序设计是一个巨大而迅速发展的领域,有人把Java称作是网络上的“世界语”。

本章将简要介绍Java语言的发展历史、特点、Java程序的基本结构以及开发Java程序的环境和基本方法。

1.1 Java语言发展历史1.1.1 Java 语言产生的背景1991年,SUN MicroSystem公司的Jame Gosling、Bill Joe等人的研究小组针对消费电子产品开发应用程序,由于消费电子产品种类繁多,各类产品乃至同一类产品所采用的处理芯片和操作系统也不相同,就出现了编程语言的选择和跨平台的问题。

当时最流行的编程语言是C和C++语言,但对于消费电子产品而言并不适用,安全性也存在问题。

于是该研究小组就着手设计和开发出一种称之为Oak(即一种橡树的名字)语言。

由于Oak在商业上并未获得成功,当时也就没有引起人们的注意。

直到1994年下半年,随着Internet的迅猛发展,环球信息网WWW的快速增长,Sun Microsystems公司发现Oak语言所具有的跨平台、面向对象、高安全性等特点非常适合于互联网的需要,于是就改进了该语言的设计且命名为“Java”,并于1995年正式向IT业界推出。

Java一出现,立即引起人们的关注,使得它逐渐成为Internet上受欢迎的开发与编程语言。

当年就被美国的著名杂志PC Magazine评为年度十大优秀科技产品之一(计算机类就此一项入选)。

1.1.2 互联网成就了Java互联网的出现使得计算模式由单机时代进入了网络时代,网络计算模式的一个特点是计算机系统的异构性,即在互联网中连接的计算机硬件体系结构和各计算机所使用的操作系统不全是一样的,例如硬件可能是SPARC、INTEL或其他体系的,操作系统可能是UNIX、Linux、windows或其他的操作系统。

Java第三方工具库包汇总

Java第三方工具库包汇总

Java第三⽅⼯具库包汇总⼀、科学计算或矩阵运算库科学计算包:1. JMathLib是⼀个⽤于计算复杂数学表达式并能够图形化显⽰计算结果的Java开源类库。

它是Matlab、Octave、FreeMat、Scilab的⼀个克隆,但完全采⽤纯Java实现。

2. JSci:Java 科学对象(JSci)开放源代码项⽬是 Durham(英国 Durham)⼤学粒⼦理论中⼼的三年级研究⽣ Mark Hale 创⽴的。

JSci 是⼀个包集合,包含数学和科学类。

使⽤ JSci,您既可以在 AWT 中也可以在 Swing 中创建简单的条形图、折线图和饼形图。

JSci.swing.JBarGraph 、 JSci.swing.JPieChart 和 JSci.swing.JLineGraph API 组件设计得也很好,这些组件和 AWT 绘图类都遵守MVC 体系结构。

3. JScience: JScience 是⼀个Java的科学计算包4. jLab:jLab是数值计算的Java执⾏环境。

该jLab环境的⽬的是提供⼀个基于Matlab / Scilab喜欢的科学计算平台所⽀持的脚本引擎执⾏的Java语⾔。

The current jLab5. ND4J:在JVM上实现快速的科学计算;ND4J是⼀个开源的数值计算扩展,它将 Python中著名的 numpy 库的很多特性带到了Java中。

ND4J可以⽤来存储和处理⼤型多维矩阵。

它的计算和处理速度很快,但占⽤的内存却很少,程序员们可以很容易地使⽤它来与其他JAVA或Scala库作接⼝。

dl4j(DeepLearning4j): java下的⼀个机器学习开源项⽬nd4j: dl4j使⽤的底层的算法库,实现的⼏乎所有的矩阵相关的操作6. Shared Scientific Toolbox:共享科学⼯具箱是⼀个⽤于科学和分布式计算的Java类库。

它具有⼴泛的多⽅⾯的阵列线性代数和FFT⽀持;异步,⾼性能的⽹络层和诠释抽象类载⼊中,记录和消息传递。

Java工程文件详解

Java工程文件详解

Java工程文件详解前言 (3)1.Java 工程详解 (4)2.android:targetSdkVersion 详解 (7)3.Android SDK版本号与API Level 对应关系 (8)对新手来讲,一个Java工程内部的多个文件夹经常会让大家困惑。

更可恶的是莫名其妙的路径问题,在Eclipse编写Java程序中,出现频率最高的错误很可能就是路径问题。

这些问题原因其实都是一个,就是关于Java工程内的文件结构理解不清1.Java工程详解R.java文件是Android项目自动生成的终态类,它包含以下静态类:R.id 组件资源引用R.drawable 图片资源yout 布局资源R.menu 菜单资源R.String 文字资源R.style 主题资源R.attreclipse的基本工程目录叫做workspace,每个运行时的eclipse实例只能对应一个workspace,也就是说,workspace是当前工作的根目录。

我们在workspace 中可以随意创建各种java相关的工程,普通的java应用,java web应用,web service应用等,我们仅拿普通的java application来说明。

通常我们创建一个java application工程,会创建一个工程目录,假设工程名称为:TestProject,那么在当前的workspace里讲创建一个目录名为TestProject,同时我们选择src作为源码文件夹,bin作为输出路径,这样就构成了一个基本的java application工程。

,在workspace中存在如下文件夹:+workspace+TestProject-src-bin这个时候我们创建的代码将写入src目录,输出的class文件将存在于bin目录。

(对于新手来说,区分src目录和bin目录很重要,通常情况下,src目录只存放源代码,而所有工程相关的其他输出文件都会存放在bin目录下,最为重要的是:用Eclipse进行打包时根目录就是bin,用jar包调用工程的时候默认的路径也要以bin为准,到bin的层级数目就是最终的数目,因此可以说bin是最为重要的目录,而不是src)这时候我们在src目录下创建一个类,就叫做TestClass,里面有一个main方法如下:Java代码1.public static void main(String[] args){2.System.out.println(new File("test.txt").exist());3.}同时在src目录下创建一个空的文件test.txt。

java常用代码(20条案例)

java常用代码(20条案例)

java常用代码(20条案例)1. 输出Hello World字符串public class Main {public static void main(String[] args) {// 使用System.out.println()方法输出字符串"Hello World"System.out.println("Hello World");}}2. 定义一个整型变量并进行赋值public class Main {public static void main(String[] args) {// 定义一个名为num的整型变量并将其赋值为10int num = 10;// 使用System.out.println()方法输出变量num的值System.out.println(num);}}3. 循环打印数字1到10public class Main {public static void main(String[] args) {// 使用for循环遍历数字1到10for (int i = 1; i <= 10; i++) {// 使用System.out.println()方法输出每个数字System.out.println(i);}}}4. 实现输入输出import java.util.Scanner;public class Main {public static void main(String[] args) {// 创建一个Scanner对象scanner,以便接受用户的输入Scanner scanner = new Scanner(System.in);// 使用scanner.nextLine()方法获取用户输入的字符串String input = scanner.nextLine();// 使用System.out.println()方法输出输入的内容System.out.println("输入的是:" + input);}}5. 实现条件分支public class Main {public static void main(String[] args) {// 定义一个整型变量num并将其赋值为10int num = 10;// 使用if语句判断num是否大于0,如果是,则输出"这个数是正数",否则输出"这个数是负数"if (num > 0) {System.out.println("这个数是正数");} else {System.out.println("这个数是负数");}}}6. 使用数组存储数据public class Main {public static void main(String[] args) {// 定义一个整型数组nums,其中包含数字1到5int[] nums = new int[]{1, 2, 3, 4, 5};// 使用for循环遍历数组for (int i = 0; i < nums.length; i++) {// 使用System.out.println()方法输出每个数组元素的值System.out.println(nums[i]);}}}7. 打印字符串长度public class Main {public static void main(String[] args) {// 定义一个字符串变量str并将其赋值为"HelloWorld"String str = "Hello World";// 使用str.length()方法获取字符串的长度,并使用System.out.println()方法输出长度System.out.println(str.length());}}8. 字符串拼接public class Main {public static void main(String[] args) {// 定义两个字符串变量str1和str2,并分别赋值为"Hello"和"World"String str1 = "Hello";String str2 = "World";// 使用"+"号将两个字符串拼接成一个新字符串,并使用System.out.println()方法输出拼接后的结果System.out.println(str1 + " " + str2);}}9. 使用方法进行多次调用public class Main {public static void main(String[] args) {// 定义一个名为str的字符串变量并将其赋值为"Hello World"String str = "Hello World";// 调用printStr()方法,打印字符串变量str的值printStr(str);// 调用add()方法,计算两个整数的和并输出结果int result = add(1, 2);System.out.println(result);}// 定义一个静态方法printStr,用于打印字符串public static void printStr(String str) {System.out.println(str);}// 定义一个静态方法add,用于计算两个整数的和public static int add(int a, int b) {return a + b;}}10. 使用继承实现多态public class Main {public static void main(String[] args) {// 创建一个Animal对象animal,并调用move()方法Animal animal = new Animal();animal.move();// 创建一个Dog对象dog,并调用move()方法Dog dog = new Dog();dog.move();// 创建一个Animal对象animal2,但其实际指向一个Dog对象,同样调用move()方法Animal animal2 = new Dog();animal2.move();}}// 定义一个Animal类class Animal {public void move() {System.out.println("动物在移动");}}// 定义一个Dog类,继承自Animal,并重写了move()方法class Dog extends Animal {public void move() {System.out.println("狗在奔跑");}}11. 输入多个数并求和import java.util.Scanner;public class Main {public static void main(String[] args) {// 创建一个Scanner对象scanner,以便接受用户的输入Scanner scanner = new Scanner(System.in);// 定义一个整型变量sum并将其赋值为0int sum = 0;// 使用while循环持续获取用户输入的整数并计算总和,直到用户输入为0时结束循环while (true) {System.out.println("请输入一个整数(输入0退出):");int num = scanner.nextInt();if (num == 0) {break;}sum += num;}// 使用System.out.println()方法输出总和System.out.println("所有输入的数的和为:" + sum);}}12. 判断一个年份是否为闰年import java.util.Scanner;public class Main {public static void main(String[] args) {// 创建一个Scanner对象scanner,以便接受用户的输入Scanner scanner = new Scanner(System.in);// 使用scanner.nextInt()方法获取用户输入的年份System.out.println("请输入一个年份:");int year = scanner.nextInt();// 使用if语句判断年份是否为闰年,如果是,则输出"是闰年",否则输出"不是闰年"if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {System.out.println(year + "年是闰年");} else {System.out.println(year + "年不是闰年");}}}13. 使用递归实现斐波那契数列import java.util.Scanner;public class Main {public static void main(String[] args) {// 创建一个Scanner对象scanner,以便接受用户的输入Scanner scanner = new Scanner(System.in);// 使用scanner.nextInt()方法获取用户输入的正整数nSystem.out.println("请输入一个正整数:");int n = scanner.nextInt();// 使用for循环遍历斐波那契数列for (int i = 1; i <= n; i++) {System.out.print(fibonacci(i) + " ");}}// 定义一个静态方法fibonacci,使用递归计算斐波那契数列的第n项public static int fibonacci(int n) {if (n <= 2) {return 1;} else {return fibonacci(n - 1) + fibonacci(n - 2);}}}14. 输出九九乘法表public class Main {public static void main(String[] args) {// 使用两层for循环打印九九乘法表for (int i = 1; i <= 9; i++) {for (int j = 1; j <= i; j++) {System.out.print(j + "*" + i + "=" + (i * j) + "\t");}System.out.println();}}}15. 使用try-catch-finally处理异常import java.util.Scanner;public class Main {public static void main(String[] args) {// 创建一个Scanner对象scanner,以便接受用户的输入Scanner scanner = new Scanner(System.in);try {// 使用scanner.nextInt()方法获取用户输入的整数a和bSystem.out.println("请输入两个整数:");int a = scanner.nextInt();int b = scanner.nextInt();// 对a进行除以b的运算int result = a / b;// 使用System.out.println()方法输出结果System.out.println("计算结果为:" + result);} catch (ArithmeticException e) {// 如果除数为0,会抛出ArithmeticException异常,捕获异常并使用System.out.println()方法输出提示信息System.out.println("除数不能为0");} finally {// 使用System.out.println()方法输出提示信息System.out.println("程序结束");}}}16. 使用集合存储数据并遍历import java.util.ArrayList;import java.util.List;public class Main {public static void main(String[] args) {// 创建一个名为list的List集合,并添加多个字符串元素List<String> list = new ArrayList<>();list.add("Java");list.add("Python");list.add("C++");list.add("JavaScript");// 使用for循环遍历List集合并使用System.out.println()方法输出每个元素的值for (int i = 0; i < list.size(); i++) {System.out.println(list.get(i));}}}17. 使用Map存储数据并遍历import java.util.HashMap;import java.util.Map;public class Main {public static void main(String[] args) {// 创建一个名为map的Map对象,并添加多组键值对Map<Integer, String> map = new HashMap<>();map.put(1, "Java");map.put(2, "Python");map.put(3, "C++");map.put(4, "JavaScript");// 使用for-each循环遍历Map对象并使用System.out.println()方法输出每个键值对的值for (Map.Entry<Integer, String> entry :map.entrySet()) {System.out.println("key=" + entry.getKey() + ", value=" + entry.getValue());}}}18. 使用lambda表达式进行排序import java.util.ArrayList;import java.util.Collections;import parator;import java.util.List;public class Main {public static void main(String[] args) {// 创建一个名为list的List集合,并添加多个字符串元素List<String> list = new ArrayList<>();list.add("Java");list.add("Python");list.add("C++");list.add("JavaScript");// 使用lambda表达式定义Comparator接口的compare()方法,按照字符串长度进行排序Comparator<String> stringLengthComparator = (s1, s2) -> s1.length() - s2.length();// 使用Collections.sort()方法将List集合进行排序Collections.sort(list, stringLengthComparator);// 使用for-each循环遍历List集合并使用System.out.println()方法输出每个元素的值for (String str : list) {System.out.println(str);}}}19. 使用线程池执行任务import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;public class Main {public static void main(String[] args) {// 创建一个名为executor的线程池对象,其中包含2个线程ExecutorService executor =Executors.newFixedThreadPool(2);// 使用executor.execute()方法将多个Runnable任务加入线程池中进行执行executor.execute(new MyTask("任务1"));executor.execute(new MyTask("任务2"));executor.execute(new MyTask("任务3"));// 调用executor.shutdown()方法关闭线程池executor.shutdown();}}// 定义一个MyTask类,实现Runnable接口,用于代表一个任务class MyTask implements Runnable {private String name;public MyTask(String name) { = name;}@Overridepublic void run() {System.out.println("线程" +Thread.currentThread().getName() + "正在执行任务:" + name);try {Thread.sleep(2000);} catch (InterruptedException e) {e.printStackTrace();}System.out.println("线程" +Thread.currentThread().getName() + "完成任务:" + name);}}20. 使用JavaFX创建图形用户界面import javafx.application.Application;import javafx.scene.Scene;import javafx.scene.control.Button;import yout.StackPane;import javafx.stage.Stage;public class Main extends Application {@Overridepublic void start(Stage primaryStage) throws Exception { // 创建一个Button对象btn,并设置按钮名称Button btn = new Button("点击我");// 创建一个StackPane对象pane,并将btn添加到pane中StackPane pane = new StackPane();pane.getChildren().add(btn);// 创建一个Scene对象scene,并将pane作为参数传入Scene scene = new Scene(pane, 200, 100);// 将scene设置为primaryStage的场景primaryStage.setScene(scene);// 将primaryStage的标题设置为"JavaFX窗口"primaryStage.setTitle("JavaFX窗口");// 调用primaryStage.show()方法显示窗口primaryStage.show();}public static void main(String[] args) { launch(args);}}。

javaweb程序设计第四版源代码

javaweb程序设计第四版源代码

一、介绍《JavaWeb程序设计第四版》是一本介绍JavaWeb程序设计的经典教材,该书从基础知识入手,系统地介绍了JavaWeb程序的设计和开发。

本文将对《JavaWeb程序设计第四版》的源代码进行分析和讨论,以探讨其中的设计思想和实现技术。

二、源代码结构1. 源代码目录结构《JavaWeb程序设计第四版》的源代码包含了多个模块,每个模块对应着书中的不同章节内容。

在源代码的根目录下,可以看到如下结构:- Chapter01- Chapter02- Chapter03- ...每个模块目录下包含了该章节相关的源代码文件和资源文件。

2. 源代码文件在每个章节的源代码目录下,通常包含了以下类型的文件:- Java源代码文件:用于实现相关功能的Java类文件- HTML文件:用于展示Web页面的HTML文件- CSS文件:用于定义Web页面样式的CSS文件- JavaScript文件:用于实现Web页面交互的JavaScript文件- 配置文件:用于配置程序运行环境的配置文件三、源代码特点《JavaWeb程序设计第四版》的源代码具有以下几个特点:1. 规范的命名规则在源代码中,所有的变量、方法、类等命名都采用了规范的命名规则,使用驼峰命名法,使得源代码具有良好的可读性和易维护性。

2. 模块化设计源代码按照章节进行了模块化的设计,每个章节的源代码相对独立,方便读者理解和学习。

模块化设计也有利于代码的复用和维护。

3. 使用了最新的JavaWeb技术《JavaWeb程序设计第四版》的源代码使用了最新的JavaWeb技术,比如Servlet、JSP、Struts、Spring、Hibernate等,全面展示了JavaWeb程序设计的最佳实践。

4. 充分考虑了安全性和性能在源代码中,作者充分考虑了程序的安全性和性能,使用了合适的安全措施和优化技术,保证了程序的稳定性和可靠性。

四、学习与应用《JavaWeb程序设计第四版》的源代码不仅可以作为教学的范例,也可以作为实际项目开发的参考。

java项目文件结构描述格式

java项目文件结构描述格式

java项目文件结构描述格式
当创建一个新的Java项目时,通常会遵循一定的文件结构来组织项目的代码和资源文件。

下面是一个典型的Java项目文件结构描述格式:
1. src,这个目录包含了所有的Java源代码文件。

通常会按照包名的结构来组织代码文件,例如 com.example.project。

2. lib,这个目录包含了项目依赖的第三方库文件(JAR文件)。

这些库文件可以通过Maven、Gradle等构建工具来管理。

3. resources,这个目录包含了项目的资源文件,比如配置文件、图像、样式表等。

这些文件通常不会编译到最终的项目中,而是在运行时加载。

4. test,这个目录包含了所有的测试代码文件。

通常会有与src目录对应的测试代码文件,比如com.example.project.test。

5. build,这个目录包含了项目的构建输出,比如编译后
的.class文件、打包后的JAR文件等。

6. docs,这个目录包含了项目的文档文件,比如API文档、用户手册等。

7. config,这个目录包含了项目的配置文件,比如数据库连接配置、日志配置等。

8. web,如果是一个Web项目,可能会有一个web目录用来存放Web资源文件,比如HTML、CSS、JavaScript文件。

以上是一个常见的Java项目文件结构描述格式,实际项目中可能会根据具体需求和项目规模做出一些调整。

良好的项目文件结构可以帮助开发人员更好地组织和管理项目代码,提高项目的可维护性和可扩展性。

java项目、javaweb项目中各文件夹及文件的含义

java项目、javaweb项目中各文件夹及文件的含义

java项⽬、javaweb项⽬中各⽂件夹及⽂件的含义.classpath保存的是项⽬所⽤的外部引⽤包的路径。

.mymetadata 保存的是⼯程属性⽂件.project 是⼯程构建配置⽂件.metadata⽂件夹的作⽤ Eclipse内所有改动都放在这个⽂件夹.setting⽂件夹的作⽤\.settings\把.js⽂件的编码⽅式由改成默认的ISO-8859-1改成GBK时,这个⽂件会有记录。

如果把这个⽂件删了,在eclipse中查看js⽂件的中⽂字符就是乱码,但发布的时候还是能正常显⽰中⽂的。

结论:这个⽂件是eclipse查看js⽂件的时候⽤的,记录了⽤什么编码⽅式查看。

与发布⽆关。

.settings\⽂件夹不会被打到.war包⾥。

1.设置"source folder"与"output folder".* source folder:存放.java源⽂件的根⽬录;* output folder:.class编译输出的根⽬录;* 纯“java project”中,⼀般把"src"设置为source folder,把bin设置为output folder;* “web project”中,⼀般把"src"设置为source folder,把WEB-INF/classes设置为outputfolder;(以上为eclipse的默认设置)* “java build path”中的“source”页签:这个就是⽤来设置"source folder"与"outputfolder"的,⼀般就采⽤以上eclipse的默认设置;* 右键⼯程名->"properties"->"java build path"->"source"->"output folder",点“browser”选定⼀个⽂件夹做为根⽬录,ok!* ⼀般新建⼀个“java project”时,如果点“next”(⽽不是直接点“finish”),设置⼀个“source folder”(如"src"。

java技术文档案例

java技术文档案例

java技术文档案例摘要:本文档旨在提供关于Java技术的详细信息和示例代码,涵盖从基础概念到高级应用的各个方面。

每个示例都具有清晰的解释和演示,适用于初学者和有经验的开发人员。

通过本文档,读者将能够深入了解Java编程语言的核心特性和常见应用。

引言:Java是一种通用目的编程语言,广泛应用于多个领域,包括Web开发、移动应用开发和大型企业级解决方案等。

它是一种面向对象的语言,具有平台无关性和可移植性。

本文档将介绍Java技术的基本知识,并提供实用的示例代码,帮助读者快速上手和精通Java编程。

一、Java基础知识1. Java语言概述- Java的历史和发展- Java的特点和优势- Java的应用领域和用途2. Java环境设置- 安装Java开发工具包(JDK)- 配置Java环境变量- 运行第一个Java程序3. Java基本语法- 变量和数据类型- 运算符和表达式- 控制流程语句(条件语句、循环语句等) - 数组和字符串二、面向对象编程1. 类和对象- 定义类- 创建对象- 构造方法和实例变量- 访问修饰符和封装性2. 继承和多态- 继承关系和继承语法- 方法重写和重载- 抽象类和接口- 多态性和动态绑定三、Java核心库1. 输入输出操作- 标准输入输出流- 文件操作(读取和写入文件)2. 异常处理- 异常的概念和分类- 异常处理机制(try-catch语句)- 自定义异常类3. 集合框架- 集合的概念和分类- 数组和链表- 集合类的使用(List、Set、Map等)四、Java高级应用1. 多线程编程- 线程的概念和创建- 线程同步与互斥- 线程池和线程调度2. 网络编程- 网络通信的基本原理- Socket编程- HTTP请求和响应3. 数据库连接- JDBC的介绍- 连接数据库- 执行SQL语句和事务处理结论:通过本文档的阅读和实践,读者将学习到Java编程语言的基础知识和高级应用技巧。

java 参考手册

java 参考手册

java 参考手册(原创版)目录1.Java 简介2.Java 的版本历史3.Java 的核心概念4.Java 的语法基础5.Java 的面向对象编程6.Java 的异常处理7.Java 的输入输出流8.Java 的多线程编程9.Java 的网络编程10.Java 的图形界面编程11.Java 的数据库编程12.Java 的 Web 开发13.Java 的移动应用开发14.Java 的企业级应用开发15.Java 的性能优化与调试16.Java 的开发工具与环境17.Java 的社区与资源正文【Java 简介】Java 是一种广泛使用的计算机编程语言,由 Sun Microsystems 公司于 1995 年推出。

Java 的特点是跨平台、面向对象、易于学习,被广泛应用于企业级应用、Web 开发、移动应用等领域。

Java 的宗旨是“一次编写,到处运行”,这意味着你可以在一个平台上编写 Java 程序,然后在其他支持 Java 的平台上运行,而无需修改源代码。

【Java 的版本历史】自 1995 年推出以来,Java 经历了多个版本的发展。

其中,重要的版本包括 Java SE 1.0(1996 年)、Java SE 2(1999 年)、Java SE 5(2004 年)、Java SE 6(2006 年)、Java SE 7(2011 年)、Java SE 8(2014 年)、Java SE 9(2017 年)以及 Java SE 10(2018 年)。

每个版本都在性能、功能、稳定性等方面有所改进和提升。

【Java 的核心概念】Java 的核心概念包括面向对象、封装、继承、多态等。

这些概念帮助程序员更好地组织和管理代码,提高代码的可读性和可维护性。

【Java 的语法基础】Java 的语法基础包括变量、数据类型、运算符、控制语句、循环语句、函数等。

这些基础概念是编写 Java 程序的基石。

【Java 的面向对象编程】Java 是一种面向对象的编程语言,这意味着程序员需要学习如何使用类和对象来构建程序。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

public class Test1 {public static void main(String[] args) {int i = 10;//逻辑运算符、关系运算符、//关系运算符:3>2,2<3,i==j,3>=3,3<=3,3!=4(比大小)//逻辑运算符:3>2&&2<3 大道无形 (辨真假)//与,或,非: && || ! ----- & |// thinking in java//if(条件为真的时候,执行大括号里面的代码)if(i>3){System.out.println("条件是真的!");}else{System.out.println("条件是假的!");}//有if是不是一定要有else 有else是不是一定有if??//if可以单独出现,else出现一定要有if。

}}(2)public class Test2 {public static void main(String[] args) {int i=0 ;//定义i但是没有初始化int j;int sum=0;//1+2+3+....+100while(i<100){j=i+1;sum = sum +j;i=i+1;//i=i+1;//(1)sum = 1+2;//(2)3+3->1+2+3//(3)}//char a = 'X';System.out.println("sum的值是:"+sum+" i的值是:"+i);}}public class Test3 {public static void main(String[] args) {//不怕慢!就怕站!!!!!//一个程序中分别计算出1--100范围内的奇数之和,偶数之和。

int i = 1;int sumj = 0,sumo = 0;while(i<=100){if(i%2==0){//余数为零。

%表示模运算,取余数。

//sumo = sumo + i;sumo += i;}if(i%2!=0){sumj += i;}i++;}System.out.println("全体奇数的和为:"+sumj+" 全体偶数的和:"+sumo+" i的值是:"+i);}}(4)public class Choice {public static void main(String[] args) {//起征税点:1000及以下,1000-2000,2000-5000int shou = 4000;// switch(变量A):根据变量A,寻找相应的caseswitch(shou){case 1000:System.out.println("您的收入在1000");break;case 2000:System.out.println("您的收入在2000");break;case 5000:System.out.println("您的收入在5000");break;default : System.out.println("您的收入不在以上的case中");}}}public class ChoiceABC {public static void main(String[] args) {//起征税点:1000及以下,1000-2000,2000-5000int grade = 'X'; //'A' char类型的//System.out.println(grade);// switch(变量A):根据变量A,寻找相应的caseswitch(grade){case 'A':System.out.println("您的成绩优异");break;case 'B':System.out.println("您的成绩良好");break;case 'C':System.out.println("您的成绩及格");break;default : System.out.println("请您交补考费");}}}(6)public class ChoiceRevenue {public static void main(String[] args) {//起征税点:1000及以下,1000-2000,2000-5000int shou = 4999; //'A' char类型的if(grade=='A') else if(grade=='B')if(shou<=1000){System.out.println("低保家庭,免税!");}else if(shou>1000&&shou<=2000){System.out.println("稍微收点税!!");}else if(shou>2000&&shou<5000){System.out.println("适当收税!!");}else{System.out.println("收税");}}}public class DArray {public static void main(String[] args) {char Array[][] = new char [3][10];Array[0][0] = '京';Array[0][1] = '沪';Array[0][2] = '津';Array[0][3] = '渝';Array[1][0] = '皖';Array[2][9] = 'X';/** char i = Array[0][0]; if (i=='京'){ System.out.println("您选择的是:"+i+"* 含义是:北京已经被选定!!"); // 您选择的是:010 含义是:北京已经被选定!! }*/// int i =2; i=3;for(int i=0;i<3;i++){for(int j=0;j<10;j++){if( Array[i][j]=='京'){System.out.println("您选择的是:"+Array[i][j]+" 含义是:北京已经被选定!!");}if( Array[i][j]=='沪'){System.out.println("您选择的是:"+Array[i][j]+" 含义是:上海已经被选定!!");}if( Array[i][j]=='津'){System.out.println("您选择的是:"+Array[i][j]+" 含义是:天津已经被选定!!");}if( Array[i][j]=='渝'){System.out.println("您选择的是:"+"i的值是:"+i+" j的值是:"+j+ " 含义是:重庆已经被选定!!");}if( Array[i][j]=='皖'){System.out.println("您选择的是:"+"i的值是:"+i+" j的值是:"+j+" 含义是:安徽已经被选定!!");}if( Array[i][j]=='X'){System.out.println("您选择的是:"+"i的值是:"+i+" j的值是:"+j+" 含义是:其他已经被选定!!");}}}String a = "hell";String b = "no";System.out.println("hello"+50.50);}}(8)1.package com.ahbvc;public class AhbvcStu {//属性:姓名、性别、籍贯、家庭关系//方法:上课、逃课、追逐public String name;private char sex;public void setSex(char sex) {if(sex !='男'){this.sex = sex;}}public String hometown;private String relationship;//对象名.属性的方法去修改。

public String getHometown() {return hometown;}public void setHometown(String hometow) {this.hometown = hometow;}public void shangke(){System.out.println(name+"同学在上课");}private void taoke(){System.out.println(name+"同学逃课了");}private void pursue(){System.out.println(name+"同学心有所属。

");}public String getRelationship() {return relationship;}public void setRelationship(String relationship) { this.relationship = relationship;}public String getName() {return name;}public void setName(String name) { = name;}public char getSex() {return sex;}2.package com.ahbvc;public class InstanceOfStu {public static void main(String[] args) {//将AhbvcStu类实例化。

相关文档
最新文档