




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Java概述和人门程序 张得天 Java历史及发展 1991年由James Gosling负责开发的一个分布式代码系统(Oak),最初是为家用消费电子产品(电冰箱、电视机等)进行编程控制 。 1993年Sun 公司将目标市场转向 Internet 。1994年将Oak语言更名为Java。 1995年Java被正式发布,之后立即引起极大的轰动。2Java历史及发展 现在Java用于: 开发大型企业的应用程序; 增强WWW服务器的功能; 动画游戏的设计,包括图形图像的调用; 为消费类设备(如手机、传呼机和移动设备等)提供应用程序。3Java的版本 自从Sun推出Java以来,就力图使之无所不能。J
2、ava发展至今,按应用范围分为3个版本,即Java SE、Java EE和和Java ME,也就是Sun ONE(Open Net Environment)体系。4Java SEJava SE就是Java的标准版,主要用于桌面应用程序的开发,同时也是Java的基础,它包含Java语言基础、JDBC(Java数据库连接性)操作、I/O(输入输出)、网络通信、多线程等技术。5Java EEJava EE是Java的企业版,主要用于开发企业级分布式的网络程序,如电子商务网站和ERP(企业资源规划)系统,其核心为EJB(企业Java组件模型)。6Java MEJava ME主要应用于嵌入式系统开发,如
3、掌上电脑、手机等移动通信电子设备,现在大部分手机厂商所生产的手机都支持Java技术。7Java语言特点 简单性简单性 语法规则和C+类似。从某种意义上讲,Java语言是由C和C+语言转变而来的,所以C程序设计人员可以很容易地掌握Java语言的语法。 Java语言对C+进行了简化和提高。 Java提供了丰富的类库和API文档以及第三方开发包,另外还有大量的基于Java的开源项目,现在JDK(Java开发者工具箱)也开放源代码了,读者可以通过分析项目的源代码,从而提高自己的编程水平。8Java Vs. C+:1. Java没有指针;2. Java没有预处理器,例如#define、#ifdef等、#
4、include (所以也没有头文件);3. Java不支持多继承;4. Java有垃圾回收机制、异常处理、一些新的修饰符(synchronized、final等);5.不论在何种平台上,基本数据类型的大小是不变的;*所有这些改变,都是出于对整个系统和程序的安全性 考虑;9Java语言特点 面向对象面向对象 面向对象是Java语言的基础,也是Java语言的重要特性,因为它本身就是一种纯面向对象纯面向对象的程序设计语言,Java提倡万物皆对象,语法中不能在类外面定义单独的数据和函数,也就是说,Java语言最外部的数据类型是对象,所有的元素都要通过类和对象来访问。 程序的结构:由一个以上的类组成。1
5、0Java语言特点 平台无关性平台无关性 用Java写的应用程序不用修改就可在不同的软硬件平台上运行。 Java靠Java虚拟机(虚拟机(Java Virtual Machine,JVM)实现平台无关性。JVM是一种抽象机器,它附着在具体操作系统之上,本身具有一套虚拟机的机器指令,并有自己的栈、寄存器组等。计算机硬件环境JVM11Java语言特点 平台无关性平台无关性 对于不同的运行平台,有不同的虚拟机 Java虚拟机机制屏蔽了底层运行平台的差别,实现了“一次编译,随处运行”12Java语言特点 可移植性可移植性 Java应用程序可以在配备了Java解释器和运行环境的任何计算机系统上运行,而与
6、体系结构无关。 解释性解释性 Java编译器将java源文件生成类文件.class,类文件可通过java命令解释执行解释执行,将Java字节码转换为机器码。 高性能高性能 JIT(Just In Time)编译器。可以提高 Java 代码的执行速度。 动态性动态性 允许程序动态地装入运行过程中所需要的类。 13Java语言特点 可靠性和安全性可靠性和安全性 Java是强类型语言; Java不支持指针,这杜绝了内存的非法访问; Java的自动单元收集防止了内存丢失等动态内存分配导致的问题; Java解释器运行时实施检查,可以发现数组和字符串访问的越界; Java提供了异常处理机制,使程序从错误状
7、态中恢复。 当Java字节码进入解释器时,首先必须经过字节码校验器的检查,随后,类装载器负责把来自网络的类装载到单独的内存区域,避免应用程序之间相互干扰破坏。 最后,客户端用户还可以限制从网络上装载的类只能访问某些文件系统。vJava语言提供的安全。 v编译器提供的安全。 v字节码校验。v类装载。 14Java语言特点 多线程多线程 Java提供现成的类Thread,只要继承这个类就可以编写多线程的程序。 多线程机制使应用程序能够并行执行,而且同步机制保证了对共享数据的正确操作。 通过使用多线程,程序设计者可以分别用不同的线程完成特定的行为,而不需要采用全局的事件循环机制,这样就很容易地实现网
8、络上的实时交互行为。 内置多线程功能,使得在一个程序里可同时执行多个小任务。带来的好处是更好的交互性和实时控制性。 15Java语言特点 分布式处理分布式处理 Java的分布性包括操作分布和数据分布操作分布和数据分布,其中操作分布是指在多个不同的主机上布置相关操作,而数据分布是将数据分别存放在多个不同的主机上,这些主机是网络中的不同成员。Java可以凭借URL(统一资源定位符)对象访问网络对象,访问方式与访问本地系统相同。16Java开发环境 Java开发环境: 文本编辑器(如文本编辑器(如记事本,记事本,notepad+,UE)+ JDK(Java SE Developers Kits,如,
9、如JDK 8.0) 使用集成环境IDE(Integrated Developed Environment)。如Eclipse、JCreator等。17JDK 下载、安装与使用 JDK 下载和安装 从Oracle官网下载适合自己操作系统的最新版JDK http:/ 按照安装向导进行安装 JDK安装完毕后,需设置环境变量Path 找到JDK开发包下的bin文件夹,如C:Program FilesJavajdk1.8.0_25bin 右键计算机-属性-高级系统设置-环境变量-系统变量下拉表Path,在Path环境变量中添加bin的路径C:Program FilesJavajdk1.8.0_25bin
10、。注意多个变量之间用分号分隔 运行-cmd进入DOS控制台窗口,假如键入javac和java命令之后,会出来一大堆东西,就说明JDK安装且配置成功。path环境变量就是windows在执行命令时搜索的路径作业:在自己的机器上搭建作业:在自己的机器上搭建Java开发环境开发环境18JDK 下载、安装与使用 JDK使用 JDK目录介绍详见该目录下README.html 常见JDK命令: javac:Java编译器,用来将java程序编译成Bytecode。 java:Java解释器,执行已经转换成Bytecode的java 应用程序。 jdb:Java调试器, 用来调试java程序。 javap:
11、反编译,将类文件还原回方法和变量。19Java程序类型 Java程序有四种基本类型: 应用程序(应用程序(application) 小应用程序(applet) Servlet bean这四种类型程序的区别很少,Java的每一个程序都至少有一个类,并且Java语言的的基本编程结构对于所有类型的程序都适用。且每一种类型的程序,都要运行在Java虚拟机JVM上。20Hello World! 程序/第一个Java程序FirstApp.java public class FirstApp public static void main(String args)System.out.println(Hel
12、lo world!); Hello world!定义类的关键字类名 必须这么写 文档注释,程序运行输出结果:在命令窗口上输出一行文本并换行DOS下进入该程序所在目录进入该程序所在目录,执行如下命令:javac FirstApp.java (编译)java FirstApp(运行)21Hello World! 程序 注释行注释行。Java中注释有Java有二种注释形式:/ 一行的注释/* 一行或多行的注释 */ public class FirstApp关键字关键字class来声明一个新的类,类名为FirstApp。类定义由大括号括起来,类中封装了类的变量(域)和类的方法。一个一个Java应用程
13、序由应用程序由n(n0)个类组成,但这个类组成,但这n个类中只能有一个是个类中只能有一个是public类类(公共类公共类),且程序名必须,且程序名必须与 公 共 类 名 相 同与 公 共 类 名 相 同 , 这 是 本 应 用 程 序 文 件 起 名 为FirstApp.java的原因。22Hello World! 程序 public static void main(String args ) 该类中定义了一个main方法,是应用程序执行的入口点。main方法所在的类叫做主类,一个应用程序的主类只能有一个。 main方法署名中的符号解释如下: public:指明为公共方法。public方法可
14、以被类的对象使用。 static:指明方法是一个静态方法,静态方法是类的方法,而不是对象的方法,静态方法可以通过类名直接调用。 void:表示main方法执行后不会返回任何值。 String args:是定义传递给main方法的参数,参数名为args,为String 类的数组。String类在包java.lang中,由编译器自动导入。23Hello World! 程序 System.out.println(Hello world!) System.out.println是在命令窗口上输出(或打印)一行文本。 System.out.print是在命令窗口上输出(或打印)文本后,但并不换行。 Sy
15、stem.out.printf()方法进行格式化的输出 具体使用方法参加Java API作业:编写作业:编写hello world程序,理解程序中每一条语句,并程序,理解程序中每一条语句,并熟悉熟悉javac,java命令命令24关于Java程序的几点说明 Java的源文件:*.java,经过编译器之后就变成字节码:*.class 一个源文件中最多只能有一个public类,其他类的个数不限 public类的名字必须与源文件名相同 Java应用程序的执行入口为main()方法,有固定的书写格式:public static void main(String args) . 严格区分大小写25两个实
16、例程序/程序一(程序一(Add.java):输入两数,相加后输出结果):输入两数,相加后输出结果import java.util.Scanner; / Scanner 类在包java.util中,使用时必须导入,查阅Java APIpublic class Addpublic static void main(String args) /创建标准输入流对象,并赋给引用变量inputScanner input = new Scanner(System.in); int firstNumber;int secondNumber;int sum;System.out.print(请输入第一个数:);
17、/通过引用变量input调用Scanner对象的方法nextInt(),接收从键盘输入的一个整型数。 firstNumber = input.nextInt();System.out.print(请输入第二个数:);secondNumber = input.nextInt();sum = firstNumber + secondNumber;System.out.printf(相加后的结果是:%dn, sum);26/ /程序二(程序二(Sub.java): 从输入对话框中接收两个整数,相减后并用对话框显示。从输入对话框中接收两个整数,相减后并用对话框显示。import javax.swing
18、.JOptionPane; /导入javax.swing包中类JOptionPanepublic class Sub public static void main(String args) String firstNum; String secondNum; int num1; int num2; int result; firstNum = JOptionPane.showInputDialog(请输入第一个数:); /*输入对话框,提示用户输入,“确定”后将输入内容作为字符串赋值为String类对象firstNum*/ secondNum = JOptionPane.showInputDialog(请输入第二个数:); num1 = Integer.parseInt(firstNum); /*Integer类方法public static int parseInt(String s)把String类参数s转换成一整数值。 Integer类在包java.lang中,由编译器自动导入*/ num2 = Integer.parseInt(secondNum); result = num1 - num2; JOptionPane.showMessageDialog(null, 相
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 广西崇左市本年度(2025)小学一年级数学部编版质量测试(下学期)试卷及答案
- 2025-2030年中国救生用品市场竞争格局及发展评估研究报告
- 2025届辽宁省辽阳市高三适应性调研考试英语试题含答案
- 涂装后处理工中级考试题(附答案)
- 广西壮族自治区柳州市2024-2025学年高三下学期4月月考历史试题(原卷版+解析版)
- 租书服务的校园阅读周考核试卷
- 航空器维修质量管理与监督考核试卷
- 批发市场的客户体验优化考核试卷
- 石材加工企业质量管理与效率提升考核试卷
- 环境治理与社会责任考核试卷
- 2024年烟台海阳市卫生健康局所属事业单位招聘工作人员真题
- 延边大学教师岗位招聘考试真题2024
- 青马工程笔试试题及答案
- 豆粕交易合同协议
- 项目设计安全管理制度
- 电子化采购招投标平台系统建设项目解决方案
- 小学京剧知识
- (二模)咸阳市2025年高三高考模拟检测(二)物理试卷(含答案)
- (2025)汉字听写大会竞赛题库(含答案)
- 20类重点场所火灾防范指导手册
- 铁塔土建施工方案
评论
0/150
提交评论