JAVA程序设计基础知识.ppt_第1页
JAVA程序设计基础知识.ppt_第2页
JAVA程序设计基础知识.ppt_第3页
JAVA程序设计基础知识.ppt_第4页
JAVA程序设计基础知识.ppt_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2019/7/11,1,JAVA程序设计基础知识,谢莹 ,2019/7/11,2,1. Java程序设计概述 2. Java程序设计的基本概念 3. Java的结构化程序设计,2019/7/11,3,1. Java程序设计概述,程序设计,简单地说:就是根据所提出的任务,把计算机能够正确完成该任务而所要做的工作写成一种能让计算机直接或间接接受的语句的过程,整个任务所对应的一系列语句的集合即被称为一段程序。 程序设计的方式和水平在不断提高。程序设计所用的语言(被称为程序设计语言)从低级语言发展到高级语言。与计算机硬件的发展一样,程序设计语言作为计算机软件的一部分也有它的几个发展阶段:,2019/7/11,4,程序设计语言的发展阶段,2019/7/11,5,程序的运行,2019/7/11,6,Java,Java是美国Sun Microsystems公司于1995年5月正式发布的程序设计语言,它的前身是Sun Microsystems公司为智能消费类家用电器研究而开发的项目一部分,但该项目的开发过程却并不顺利,直到1993年Web开始在Internet上盛行,开发小组试着将这一技术转移到Web网络上,没想到这一举动竟使Java在Internet上获得了空前的成功,使它成为了Web世界富有创造性的工具。 时至今日,尽管Web开发人员仍然在利用Java使站点更生动、活泼,但它已远远超过了Web技术的范围。,2019/7/11,7,Java的运行平台,Java大家庭中三大主要成员: (1) J2MEJava 2 Micro Edition用于嵌入式Java消费电子平台。不论是无线通讯、手机、PDA等小型电子装置都可采用其作为开发工具及应用平台。 (2)J2SEJava 2 (Software Development Kit)Standard Edition是Java最通行的版本,是用于工作站、PC机的Java标准平台。因此也是本书应用程序的使用版本。 (3) J2EEJava 2 Enterprise Edition可扩展的企业应用Java 2平台,它提供了企业e-Business架构及Web Services服务,除深受广大企业用户的欢迎之处是其开放的标准和优越的跨平台能力。,2019/7/11,8,Java语言主要功能特点,1.语法简单、易于初学者学习。 2.执行方式效率高。 3.对被编译好的目标程序(字节码)的执行与平台无关。 4.使用分布式技术,保证运行安全。 5.提供丰富的API文档和类库。,2019/7/11,9,用Java语言编辑的源程序的执行方法是采用先经过编译器编译、再利用解释器解释的方式来运行的。它综合了解释性语言与编译语言的众多优点,使其执行效率较以往的程序设计语言有了大幅度的提高。 Java源程序经过编译器编译,会被转换成一种我们将它称之为“字节码(byte_codes)”的目标程序。“字节码”的最大特点便是可以跨平台运行。,2019/7/11,10,Java虚拟机,任何一种可以运行Java程序的软件都可以被称为Java虚拟机(Java virtual machine, JVM),因此诸如浏览器与Java的开发工具等皆可看作一部JVM。当然我们可以把Java的字节码(byte_codes)看成是JVM所运行的机器码。,2019/7/11,11,Java程序的开发过程,Java程序分为两大类型:Java Application(Java应用程序)与应用在www上的Java applet(Java小应用程序)。 Java Application是指可以在Java平台上独立运行的一种程序,这类程序在被执行的过程中,程序员必须为程序指定开始被执行的起始点,这种起始点被称为程序入口,Java应用程序主要以main() Method作为程序入口,由Java解释器加载执行。 Java applet则是内嵌在Html文件中,必须搭配浏览器来运行,它没有程序入口。由于Java applet的编写方式与Java Application类似,因此大家只要熟悉Java Application的编写方式,很快就能学会编写Java applet。,2019/7/11,12,环境配置,安装JDK PATH=C:j2sdk1.4.2_03bin Classpath=.;C:j2sdk1.4.2_03lib,2019/7/11,13,Java Application的开发过程,1.编辑源程序:(可在记事本或其它诸如Edit之类的文本编辑器中进行 ) 例1.4.1: public class Friends / 定义public 类Friends public static void main(String args) / main()方法,主程序开始 int number; / 声明整型变量number number =3; / 将number赋值为3 System.out.println(“I have ”+ number +“ Friends ”); / 输出字符串及变量内容 System.out.println(“You have “+( number+1)+“ Friends “); ,2019/7/11,14,2.编译源程序:(javac Friends.java) 使用Java编译器javac.exe获取Java应用程序”Friends.java”的源代码,把它编译成符合Java虚拟机规范的字节码文件,将会在与源文件相同的文件夹中生成新文件“Friends.class”,此文件便是我们所说的字节码文件,它也是Java JVM上的可执行文件。 3.运行源程序: (java Friends) 使用Java解释器装载、校验并运行字节码文件“Friends.class”,因此在运行Java程序时,命令语句切不可输错,此时的命令词是“java”而不再是“javac”,并且“Friends”后面不能再加扩展名。,2019/7/11,15,Java Applet的开发过程,1.编辑源程序: 例1.4.2: Applet程序: import java.applet.Applet; import java.awt.Graphics; public class JApp extends Applet public void init() System.out.println(“Prepare Start“); public void start() System.out.println(“Start Program“); public void stop() System.out.println(“End!yeah!“); public void paint(Graphics g) g.drawString(“Hello! Java!“,60,60); ,2019/7/11,16,2.编译源程序: 输入完毕后以“JApp.java”为文件名进行保存。立即用javac.exe来编译此文件,产生JApp.class文件。 3.运行源程序: 在文本编辑器新建一个文件并输入下列内容: 然后以“JApp.html”作为文件名进行保存。最后可以在DOS命令行内输入如下命令查看结果: C: Myjava appletviewer Japp.html,2019/7/11,17,编写Java程序的主要注意事项,一个独立的Java程序,只能有一个public类,因此该源程序的文件名必须与public类的名称一致,其他的类都为non-public类(若是在源程序文件中没有一个类是public类,则该源程序文件名就可以不必和其中的任何类名称相同)。类主体由许多语句组成,语句一般有两种类型简单语句和复合语句,对简单语句来说,习惯约定一个语句书写一行,语句必须以分号“;”来表示结束;而复合语句则是由左、右大括号括起来的一组简单语句的集合。 在Java源程序中,由于各种类、方法(method)、复合语句以及各种对象中内容都是用左、右大括号包含的,所以在书写过程中左、右大括号的正确匹配是相当重要的,因此我们经常提倡把源程序的书写格式进行适当的缩进,这样即可避免出错,又便于别人阅读你的程序。,2019/7/11,18,Eclipse使用简介,Eclipse是由IBM公司于2001年首次推出的一个综合开发环境(Integrated Development Environment) IDE;是一个框架和一组被称为平台核心的服务程序,用于通过插件组件构建开发环境。核心的任务是让每样东西动起来,并加载所需的外挂程序。当启动Eclipse时,先执行的就是这个组件,再由这个组件加载其它外挂程序。Eclipse 附带了一个包括 Java 开发工具(Java Development Tools,JDT)的标准插件集,因此如果要使用Eclipse来开发Java程序,必须安装SDK作为它的插件才能使它正常运作。,2019/7/11,19,2. Java程序设计的基本概念,(1)基本数据类型 (2)常量值 (3)变量与标识符 (4)运算符与表达式 (5)数组和方法,2019/7/11,20,基本数据类型,2019/7/11,21,标识符,在Java中,广义地用于定义各种对象的名称的字符串的集合称为标识符,标识符一般分为用户自定义标识符和系统标识符两种:用户自定义标识符,一般往往是指变量或方法等的名字;系统专用标识符又称关键字,是编译程序本身所规定使用的专用词。 Java所提供的主要关键字如下: abstract boolean break byte case catch char class const false continue default do double else extends final finally float for goto if import implements int Instanceof interface long native new null package private protected public return short static synchronized super this throw throws transient true try void volatile while,2019/7/11,22,常量,1. 整型常量 Java的整型常量有三种形式: (1)十进制数形式:如54,-67,0。 (2)八进制数形式:Java中的八进制常数的表示是以0开头, 如0125表示十进制数85,-013表示十进制数-11。 (3)十六进制数形式:Java中的十六进制常数的表示是以0x或0X开头,如0x100表示十进制数256,-0X16表示十进制数-22。 整型(int)常量默认在内存中占32位,具有整数类型的值,当运算过程中所需值超过32位长度时,可以把它表示为“长整型(long)”数值,长整型类型则要在数字后面加L或l,如697L,表示一个长型整数,它在内存中占64位。,2019/7/11,23,2 实型常量 Java的实型常量有两种形式: (1) 十进制数形式:由数字和小数点组成,且必须有小数点,如12.34,-98.0。 (2) 科学计数法形式:如:1.75e5或326E3,其中e或E之前必须有数字,且e或E之后的数字必须为整数。 Java实形常量默认在内存中占64位,是具有“双精度型”(double)类型的值。如果考虑到需要节省运行时的系统资源、而运算时的数据值取值范围并不大且运算精度要求也并不太高的情况下,可以把它表示为“单精度型”(float)类型的数值,单精度型数值要在该常数后面加F或f,如69.7f,表示一个float型实数,它在内存中占32位。,2019/7/11,24,3.字符型和字符串常量 Java的字符型常数是用单引号引起来的一个字符,如e、E,需要特别注意的是,单引号和双引号在此不可混用,双引号是用来表示字符串的,“H”、“d”等都是表示单个字符的字符串。 除了以上所述形式的字符常量之外,Java还允许使用一种特殊形式的字符常量来表示一些难以用一般字符来表示的字符,这种特殊形式的字符是以一个“”开头的字符序列,称为转义字符,下表列出了Java中常用的转义字符及其所表示的意义:,2019/7/11,25,2019/7/11,26,4.布尔型常量 Java的布尔型常量只有两个值:false(假)和true(真)。,2019/7/11,27,变量,1.整型变量,2019/7/11,28,2.实型变量,2019/7/11,29,3. 字符变量 字符变量的类型为char,它在内存中占16位,其取值范围为0 65535。 Java中的字符数据集属于Unicode字符集,是16位无符号型数据,例如0x0061表示字符a,也就是十进制数97。 4. 布尔型变量 Java的布尔型变量的取值范围只有两个值:false(假)和true(真)。在内存中占1位。 布尔型变量又称为逻辑型变量,一般用于逻辑测试,在程序的流程控制中的使用率相当高。,2019/7/11,30,二.变量的定义及赋值 1 变量名命名规则: 变量可以用字母、下划线“_”或“$”作为开头字符,但数字不能作为变量的开头字符; 变量中间不能使用空格; 变量中不能使用Java的操作符,如“”、“”、“*”、“/”等; 变量名不能使用Java的关键字; Java中的变量名严格区分大小写,即:my_var和My_var将被认为是两个不同的变量。,2019/7/11,31,变量名是以小写字母开头(而类名是以一个大写字母开头的),如果变量名包含了多个单词,而每个单词要组合在一起,则在每个单词的第一个字母大写,比如IsVisible。而下划线(_)可以处在变量的任何地方,但是一般地它只用在标识符常量中分离单词,因为标识符常量的常量名都是用大写字母的,利用下划线可以看得更清楚。一般来说,变量名不宜太简单,但也不宜过长。 合法的变量名 非法的变量名 helloFriend hello Friend+ Friend $HelloFriend hello&Friend my_ Friend Void main Jim 1jack,2019/7/11,32,运算符与表达式,1.算术运算符 2.递增递减运算符 3.关系运算符 4.逻辑运算符: ! & |,2019/7/11,33,&和 | 的运算规则,a&b&c:如果a非真,则不再判别b和c,直接输出表达式的值为false;若a为真,则判别b,若b非真,则不再判别c,直接输出表达式的值为false;当a、b同时为真,才判别c的真假。 a|b|c:如果a为真,则不再判别b和c,直接输出表达式的值为true;若a非真,则判别b,若b为真,则不再判别c,直接输出表达式的值为true;当a、b同时非真,才判别c的真假。,2019/7/11,34,其他运算符,2019/7/11,35,结构化程序设计,结构化程序设计有三种基本程序流程结构:顺序(sequence)结构、选择(selection)结构和循环(loop)结构。 方法 数组,2019/7/11,36,If-else-if,if 语句块1 else if 语句块2 else if 语句块n else 语句块n+1 ,2019/7/11,37,switch,switch case 数值1: 语句块1 break; case 数值2: 语句块2 break; case 数值n: 语句块n break; default: 语句块n+1 ,2019/7/11,38,数组,type 数组名 =new type 个数 例1.5.1:数组的声明与输出: 程序如下: public class FirstArray public static void main(String args) int i; int aa=new int5; / 声明一个整型数组aa, 其元素个数为5 for(i=0; i5; i+) / 输出数组的内容 System.out.print(“aa“ + i + “=“ + aai + “,t“); System.out.println(“nlength of array a is “ + aa.length); / 输出数组元素个数 ,2019/7/11,39,数组的复制,数组的复制:使用arraycopy()方法。 程序如下: public class arrCopy public static void main(String args) int i; int arr1=1,2,3,4,5,6,7,8,9,10; / 声明数组并设置初值 int arr2=new int10; System.arraycopy(arr1,0,arr2,0,arr1.length); /把arr1中所有元素复制到arr2中,下标从0开始 for(i=0;iarr2.length;i+) System.out.print(arr2i+“ “); System.out.println(); ,2019/7/11,40,字符串处理,String vs. Stringbuffer,2019/7/11,41,String类中常用的方法有: (1) int length() 返回当前字符串中的字符个数。 (2) boolean equals(String str) 区分大小写比较两个字符串的内容是否相等。 (3) boolean equalsIgnoreCase(String str) 不区分大小写比较两个字符串的内容是否相等。 (4) char charAt(int index) 返回当前字符串中index处位置的字符。 (5) String toLowerCase() 将当前字符串中所有字符转换为小写形式。 (6) String toUpperCase() 将当前字符串中所有字符转换为大写形式,2019/7/11,42,(7)String substring(int BIndex) 截取当前字符串中从BIndex开始到末尾的子串。 (8)boolean startsWith(String str) 测试当前字符串是否以str字符串为开头。 (9)char replace(char c1, char c2) 将当前字符串中的c1字符转换为c2字符。 (10)String trim() 返回去掉了当前字符串前后空格的字符串。 (11)int indexOf( String str, int i) 在当前的字符串中从i处查找str子串,若找到,返回子串第一次出现的位置,否则返回-1。,2019/7/11,43,StringBuffer类的常用方法有: (1)StringBuffer append (char c) 将字符c放到字符串缓冲区之后 (2)StringBuffer append (String str) 将字符串str放到字符串缓冲区之后 (3)StringBuffer deleteCharAt(int index) 删除字符串缓冲区中第index位置的字符 (4)StringBuffer insert(int k, char c) 在字符串缓冲区的第k个位置插入字符c (5)StringBuffer insert(int k, String str) 在字符串缓冲区的第k个位置插入字符串str (6)StringBuffer replace(int m, int n, String str) 将字符串缓冲区中第m到n之间以字符串str取代 (7)StringBuffer reverse() 将字符串缓冲区中的字符串按反向排列,2019/7/11,44,在Java中提供用户键盘输入环境的程序由以下(黑体字部分)语句固定组合而成: import java.io.*; public class 类名称 public static void main(String args) throws IOException BufferedReader buf

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论