您好,欢迎访问三七文档
3Sept.2008©NeusoftConfidential1Java编程基础2第一章认识Java学时:1学时教学方法:讲授ppt+上机练习目标:了解Java语言的发展历史,版本。掌握Java语言的特点。掌握Java程序的运行机制。掌握JDK的安装及开发环境配置。通过HelloWorld案例掌握Java程序运行的原理。3编程语言的发展•第一代:机器语言–用二进制指令来进行编程,如打孔机•第二代:汇编语言–为二进制指令增加助记符,如load,add•第三代:高级语言–面向过程的语言:c,pascal,fortran等–C++面向过程/面向对象的语言–Java跨平台的纯面向对象的语言–.net4Java语言的历史•开始研究1990•Oak1991.6•HotJava1995.5•Java1.01995.5.23•Java1.11997.2.18•Java1.21998.12.4更名为Java2•Java1.32000.5.8•Java1.42002.2.13•Java1.5登陆火星2004.9更名为Java5.0•Java1.62006.12•Java1.7未知5Java语言的版本**•JavaSE:Java平台标准版–(JavaPlatformStandardEdition)•JavaME:Java平台微型版–(JavaPlatformMicroEdition)•JavaEE:Java平台企业版–(JavaPlatformEnterpriseEdition)6Java语言的版本•JavaSE包含标准的JDK、开发工具、运行时环境和类库。适合开发桌面应用程序和底层应用程序。同时它也是JavaEE的基础平台。•JavaEE采用标准话的模块组件,为企业级应用提供了标准平台,简化复杂的企业级编程。并已经成为一种软件架构和企业级开发的设计思想。•JavaME包含高度优化精简的java运行时环境,专门针对一些小型的消费电子产品。7Java语言是什么?•Sun给出的Java语言定义:–一种简单、面向对象、分布式、跨平台、半编译半解释、健壮、安全、高性能、多线程的动态的语言。–实际上它不仅是一门语言,更是一个平台。它还提供了开发类库、运行环境、部署环境等一系列支持。8Java的主要特性**•平台无关性:半编译半解释•垃圾回收:•面向对象的语言:完全支持封装、继承、多态、抽象•健壮:吸收了C、C++的优点,但去掉了其影响程序健壮性的部分(如指针、内存的申请与释放等)。•异常处理:•多线程•安全性9半编译半解释publicclassHelloWorld{publicstaticvoidmain(Stringargs[]){System.out.println(“HelloWorld!”);}}NativeMachineCodeBytecodeClassFileSourceCodeJavaVirtualMachineCompilerLoadInterpreter10Java程序的运行机制**•Java两种核心机制–Java虚拟机(JavavirtualMachine)–垃圾回收机制(Garbagecollection)11Java程序的运行机制**•核心机制-虚拟机–Java虚拟机可以理解成一个以字节码为机器指令的CPU。–对于不同的运行平台,有不同的虚拟机实现。–Java虚拟机机制屏蔽了底层运行平台的差别,实现了”一次编译,随处运行“。12Java程序的运行机制**•核心机制-垃圾收集–不再使用的内存空间应回收-垃圾收集。–在C、C++等语言中,由程序员负责回收无用内存。–Java语言消除了程序员回收无用内存空间的责任,它提供一种系统级线程跟踪存储空间的分配情况。并在Jvm的空闲时,检查并释放那些可被释放的存储器空间。–垃圾收集在Java程序运行过程中自动执行,程序员无需控制和干预。13搭建Java开发的基本环境•准备JDK–JDK安装–设置环境变量•Path:•Classpath:•选择开发工具–简单工具•UltraEdit,Editplus–集成开发工具•如Eclipse,jbuilder,intellij14JDK的开发环境配置**•安装jdk1.5•配置环境变量:包括如下((1)JAVA_HOME:C:\Java\jdk1.5.0_04(2)Path:C:\Java\jdk1.5.0_04\bin(注意:要写在所有值的昀前端否则找不到该路径)(3)CLASSPATH:.这个“.”表示:指向当前目录。(4)在命令提示行下:javac-version回车运行,如果能看到版本信息则OK.15第一个Java程序**保存HelloWorld源代码•所有代码必须保存为扩展名java•源文件名称必须和类名相同•class关键字后面的即类名正确的文件名为:HelloWorld.java编译源代码:javacHelloWorld.java运行程序:javaHelloWorldHelloWorld/**ThetraditionalHelloWorldexample*/publicclassHelloWorld{publicstaticvoidmain(Stringargs[]){System.out.println(“HelloWorld!”);}}01/*02*ThetraditionalHelloWorldexample03*/0405publicclassHelloWorld{0607publicstaticvoidmain(Stringargs[]){0809System.out.println(“HelloWorld!”);1011}1213}16第一个Java程序**•Java源文件以“java”为扩展名。源文件的基本组成部分是class.•一个源文件昀多只能有一个public类。其它类的个数不限,如果源文件包含一个public类,那么文件名必须为该类名。•Java程序的执行入口是main()方法,固定格式必须为:publicstaticvoidmain(String[]args){..}•Java语言严格区分大小写。•Java方法有一条条语句构成,每个语句以;结束17Java运行的原理**1.编译源文件:java源代码被java编译器编译(Compile)。如果这时产生错误,我们称为编译错误。如果没有错误,则生成字节码(bytecode)。程序在操作系统中运行,昀终都要变成为二进制的CPU指令,即本地代码(机器码)。这里的字节码和本地码都是二进制代码,很相似,只有略微区别。字节码是和平台无关的二进制代码,而本地代码则和平台密切相关。2.运行字节码:这里,java字节码被装载到java虚拟机中,解释成本地代码再运行。如果此时产生错误,我们称之为运行时错误(Runtime)。18注释的使用1.单行注释//test2.多行注释/**constructor*/3.文档注释/***@authorqinjian**/Comments01/*02*ThetraditionalHelloWorldexample03*/0405publicclassHelloWorld{0607publicstaticvoidmain(Stringargs[]){0809System.out.println(“HelloWorld!”);1011}1213}01/*02*ThetraditionalHelloWorldexample03*/0405publicclassHelloWorld{0607publicstaticvoidmain(Stringargs[]){0809System.out.println(“HelloWorld!”);1011}1213}1901/*02*ThetraditionalHelloWorldexample03*/0405publicclassHelloWorld{0607publicstaticvoidmain(Stringargs[]){0809System.out.println(“HelloWorld!”);1011}1213}空白符和行号第4行就是空白符,还有哪些空白符?行号一般由编程工具自动生成,方便程序的调试。在书写源代码时不要录入行号!LineNumbersWhitespace显示桌面.scf20修饰符01/*02*ThetraditionalHelloWorldexample03*/0405publicclassHelloWorld{0607publicstaticvoidmain(Stringargs[]){0809System.out.println(“HelloWorld!”);1011}1213}右面代码中的红色单词是Java中的修饰符,用于修饰类、方法、属性等。不同的修饰符具有不同的含义。Modifier21类和主函数**01/*02*ThetraditionalHelloWorldexample03*/0405publicclassHelloWorld{0607publicstaticvoidmain(Stringargs[]){0809System.out.println(“HelloWorld!”);1011}1213}类是Java程序最基本的组件,包含了程序运行需要的所有属性和方法。Class主函数main()是Java程序运行的起始点。主函数22课堂练习•编写并运行HelloWorld应用程序,验证自己的安装环境是否正确。23本章小结•Java开发环境的搭建•Java程序开发的流程24第二章Java虚拟机学时:0.5学时教学方法:讲授ppt+上机练习目标:了解Java虚拟机的主要职责、及体系结构25Java虚拟机**•Java虚拟机是一台抽象的计算机,其规范定义了每个Java虚拟机都必须实现的特性,但是每个特定实现都留下了很多选择。•字节码文件运行在Java虚拟机上26Java虚拟机的主要职责**•加载代码(类加载器:classloader)•校验代码(字节码校验器:bytecodeverifier)•执行代码(解释器:runtimeinterpreter)27Java代码的运行28Java的平台无关性**•目标:WriteOnceruneverywhereLinux主机针对Linux平台Java平台运行WindowsNT的PC针对Win32的Java平台电视机针对电视的Java平台烤箱针对烤箱的Java平台Java程序Java程序Java程序Java程序29Java虚拟机的体系结构•在Java虚拟机规范中,一个虚拟机实例的行为是分别按照子系统、内存区、数据类型以及指令这几个术语来描述的。•这些组成部分一起展示了抽象的虚拟机的内部抽象体系结构。30Java虚拟机内存管理**硬盘程序内存代码操作系统代码Heap(堆)Stack(栈)Dataseg(数据段)Codeseg(代码段)存放new出来的东西存放局部变量存放静态变量,字符串常量存放代码1:loader2:找到main方法执行31Java虚拟机中的数据类型•Java虚拟机是通过某些数据类型来执行计算的,数据类型及其运算都是由Java虚拟机规范严格定义的。•数据类型可以分为两种:**–基本类型和引用类型•基本类型的变量持有原始值,而引用类型的变量持有引用值;**–基本数据类型占用一块内存,引用数据类型占用两块内存。•术语:**–“引用值”指的是对某个对象的引用,而不是该对象本身;与此相对,原始值则是真正的原始数据。32Java虚拟机中的数据类型(续)•基本类型数值类型浮点数类型整数类型引用类型引用returnAddressbooleanfloatdoublebyteshortintlongchar接口类型类类型数组类型33本章小结•Java虚拟机的主要职责•Java虚拟机体系结构34第三章Java一般性语言规范学时:0.75学时教学方法:讲授ppt+上机练习目标:掌握Java中标识符,关键字。掌握Java中的常量、变量,变量的分类、作用域掌
本文标题:Java编程基础
链接地址:https://www.777doc.com/doc-3972811 .html