




已阅读5页,还剩71页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1,JAVA程序设计,崔亚楠邮箱:409789417,2012年9月,学习方法:,学基础读代码写程序查资料(能力要求)-背,成功:勤奋+努力+沟通,预备知识:英语计算机基本操作知识分类:经常用的牢牢掌握不经常用的会查极少用的能查到,改变错误做法:只看+听,不练习太过钻细节-不是搞研究不敢调试,软件的基本组成部分是完成其功能的程序。程序设计语言(也被称为“编程语言”,ProgrammingLanguage)是人们编制程序所使用的语言。程序描述了计算机处理数据、解决问题的过程,这是程序的实质。但程序的描述形式却可以是多种多样的,可以用不同的方式表述不同的程序设计语言。,1、程序设计语言,1、程序设计语言,程序设计语言的种类:机器语言:机器指令,直接执行(第一代)汇编语言:符号化,汇编器(Assembler)(二代)高级程序设计语言(编译型)(三代)高级程序设计语言(解释型)(三代)C、Pascal、Fortran面向过程C+面向过程/面向对象Java跨平台纯面向对象.net跨语言平台Sql,直接告诉它去做,如select(第四代语言)第五代语言-自然语言,高级语言中用于描述计算的结构采用类似于数学中代数运算公式的形式,这种结构被称为“表达式”。程序中基本的动作单位被称为“语句”,不同的语句实现不同的功能。用高级语言书写的程序不可能直接地在计算机上执行,要在计算机上执行高级语言书写的程序,有两种基本方法:编译(Compilation)执行:这种方法是设法把高级语言程序(也称为“源程序”)转换成为机器语言的可以由计算机直接执行的程序,即转变为“可执行(Executable)程序”。“解释”(Interpretation)执行:这种方法是即时把源程序转换为机器可执行的指令。有时为了提高效率,也可以先编译成一种中间代码。,1、程序设计语言高级程序设计语言,对于“编译执行”方式,人们实现了高级语言“编译器”(Compiler)完成这种转换工作。编译器把高级语言程序看成是符合一定语法结构的符号串,对它进行加工变换。编译器对源程序的加工一般分为两个阶段:源程序首先被翻译成机器语言,这种翻译结果称为“目标码”(objectcode),目标码构成的程序片段称为目标模块。第二步,这些目标模块被与其他一些基本模块(由编译软件提供)连接在一起,最终形成“可执行程序”(executableprogram),这样的程序就可以在计算机上实际运行了。第一个加工步骤称为“编译”(compiling),第二个步骤称为“连接”(linking)。,1、程序设计语言高级程序设计语言,1、程序设计语言高级程序设计语言,编译过程,对于“解释执行”方式,人们实现了一种称为“解释器”(Interpreter)的软件来完成转换工作。解释器在工作方式上与编译器不同,它不对源程序进行翻译,而是直接对源程序的语句进行分析和解释,实现源程序所描述的功能。,1、程序设计语言高级程序设计语言,解释过程,编译型语言,执行速度快、效率高;依赖编译器、跨平台性差些。如C、C+、Delphi、Pascal,Fortran。解释型语言,执行速度慢、效率低;依赖解释器、跨平台性好。如Java、JavaScript、VBScript、Perl、Python、Ruby、MATLAB等等。但随着硬件的升级和设计思想的变革,编译型和解释型语言越来越笼统,主要体现在一些新兴的高级语言上,而解释型语言的自身特点也使得编译器厂商愿意花费更多成本来优化解释器,解释型语言性能超过编译型语言也是必然的。,1、程序设计语言高级程序设计语言,高级语言写出的程序是独立于任何具体的计算机的。但是“编译器”和“解释器”则是与机器相关的。同一种语言,对于不同的机器,需要不同的“编译器”和“解释器”。人们已经开发出了许多不同的高级程序设计语言,不同的语言有各自不同的规范,因此需要专门的“编译器”和“解释器”。,FORTRAN(FORmularTRANslation)语言,HPF:IBM,1950Pascal语言:N.Wirth,1968,(Delphi,Borland)COBOL(COmmonBusinessOrientedLanguage)语言:美国国防部,1960C和C+语言:DennisRetchie,1972;BjarneStroustrup,1983,BellBasic(BeginnersAll-purposeSymbolicInstructionCode)语言:美国国防部,1964Ada语言:军用程序设计语言,美国国防部,1983Java语言:1991年,SUNMicroSystem公司,1、程序设计语言高级程序设计语言,第一章Java语言入门,1.1Java的诞生1.2Java的特点1.3安装SUN公司的SDK1.4一个Java程序的开发过程1.5一个简单的Java应用程序的开发过程1.6一个简单的Java小应用程序(JavaApplet)1.7什么是JSP,1.1、Java的诞生,Java是1995年6月由Sun公司引进到我们这个世界的革命性的编程语言.1990年Sun公司成立了由JamesGosling领导的开发小组,开始致力于开发一种可移植的、跨平台的语言,该语言能生成正确运行于各种操作系统、各种CPU芯片上的代码。他们的精心专研和努力促成了Java语言的诞生。,Java语言是一门很优秀的语言,具有面向对象、与平台无关、安全、稳定和多线程等优良特性,是目前软件设计中极为健壮的编程语言.Java语言的出现是源于对独立于平台语言的需要,即这种语言编写的程序不会因为芯片的变化而发生无法运行或出现运行错误。目前,随着网络的迅速发展,Java语言的优势越显明显,Java已经成为网络时代一门非常重要的语言。,Java是一种解释型的、面向对象的编程语言。历史:1991年,SUNMicroSystem公司的JameGosling、BillJoe等人为在电视、控制烤箱等家用消费类电子产品上进行交互式操作而开发了一个名为Oak的软件。OakJava:互联网给Java带来新的生机1995年Sun向公众推出Java并引起业界的轰动发展:面向网络应用,类库不断丰富,性能不断提高,应用领域不断拓展。(1995年以来)应用:Java是当今最流行的软件开发语言之一,Sun推出了Java2是指可以加载应用程序当前目录及子目录的类,仅仅安装JRE,如果只想运行别人java程序,则可以只安装java运行环境JRE,JRE由java虚拟机、java核心类,以及一些支持文件组成,也可以从sun网站下载,Java程序分两种:Java应用程序(JavaApplication)Java小应用程序(JavaApplet),1.4Java程序,1.4一个Java应用程序的开发过程,Java程序结构:package语句:零个或多个,必须放在文件开始import语句:零个或多个,必须放在所有类定义之前publicClassDefinition:零个或一个ClassDefinition:零个或多个InterfaceDefinition:零个或多个,1.5简单的Java应用程序,publicclassHellopublicstaticvoidmain(Stringargs)System.out.println(你好,很高兴学习Java);,1.5简单的Java应用程序,类个数:至少一个类,最多只能有一个public类源文件命名:若有public类,源文件必须按该类命名*main()方法:应用程序的入口,与标准C中main()函数的地位是一样的。一个应用程序有且只有一个main()方法,main()方法必须包含在一个类中,该类即为应用程序的外部标志。标识符:区分大小写每个语句用;结束程序注释:/*多行注释*/用于单行注释/*用于多行注释且被doc工具解析*/注意:输入法,引号为英文状态下的,保存将源文件保存到C:1000中,并命名为Hello.java。注意不可写成hello.java,因为Java语言是区分大小写的。源文件的命名规则是,如果源文件中有多个类,那么只能有一个类是public类。如果有一个类是public类,那么源文件的名字必须与这个类的名字完全相同,扩展名是.java。如果源文件没有public类,那么源文件的名字只要和某个类的名字相同,并且扩展名是.java就可以了。编译当创建了Hello.java这个源文件后,就要使用Java编译器(javac.exe)对其进行编译。C:1000javacHello.java运行Java应用程序必须通过Java虚拟机中的Java解释器(java.exe)来解释执行其字节码文件。Java应用程序总是从主类的main方法开始执行。因此,必须如下运行Java应用程序:C:1000javaHello,publicclassPeopleintheight;Stringear;voidspeak(Strings)System.out.println(s);classApublicstaticvoidmain(Stringargs)Peoplezhubajie;zhubajie=newPeople();zhubajie.height=170;zhubajie.ear=两只大耳朵;System.out.println(身高:+zhubajie.height);System.out.println(zhubajie.ear);zhubajie.speak(师傅,咱们别去西天了,改去月宫吧);,第一步:保存第二部:编译第三步:执行,Java应用程序有多个类时,只有一个public类,构建环境Copy运用(路径)掌握环境变量设置熟悉规则熟悉编译运行熟悉错误(善于记录),输入,Java并没有提供直接从键盘读入数据的方法,因此Java语言中,实现输入不是一件简单的事情,要运用IO才能实现。为方便,先介绍两种输入法,第一种:使用BufferedReader,用前需要引入importjava.io.*;/导入类BufferedReader和InputStreamReaderBufferedReaderbr=newBufferedReader(newInputStreamReader(System.in);Stringinput=br.readLine();,Java把从键盘输入的数据一律看作是字符串,importjava.io.*;publicclassInputpublicstaticvoidmain(Stringargs)throwsIOExceptionwhile(true)BufferedReaderbuf;Stringstr;buf=newBufferedReader(newInputStreamReader(System.in);System.out.println(Inputastring:);str=buf.readLine();System.out.println(String=+str);,importjava.io.*;publicclassImputpublicstaticvoidmain(Stringargs)inti=0;System.out.println(入一个整数);try/下面两条语句用于读取用户输入的字符串,并请它转换成int型数据赋值给变量iBufferedReaderbuf=newBufferedReader(newInputStreamReader(System.in);i=Integer.parseInt(buf.readLine();catch(IOExceptionex)System.out.println(inti=+i);若要从键盘输入并让系统认可是数值型数据,必须经过转换。,importjava.io.*;publicclassImputleixingpublicstaticvoidmain(Stringargs)Stringst;intnum;floatfnum;trySystem.out.print(输入:);BufferedReaderbr=newBufferedReader(newInputStreamReader(System.in);st=br.readLine();System.out.print(输入一个数:);num=Integer.parseInt(br.readLine();System.out.print(输入一个浮点数:);fnum=Float.parseFloat(br.readLine();System.out.print(输出:+st+n);System.out.print(输出:+num+n);System.out.print(输出:+fnum+n);catch(IOExceptione),2使用Scanner,使用时需要引入包importjava.util.Scanner;首先定义Scanner对象Scannersc=newScanner(System.in);如果要输入整数,则intn=sc.nextInt();String类型的,则Stringtemp=sc.next();,输入语句,importjava.util.Scanner;publicclassShurupublicstaticvoidmain(Stringargs)System.out.println(请输入:);Scannerbr=newScanner(System.in);Stringstr=br.nextLine();System.out.println(str);,类库支持:继承Applet类,引用其他类。类定义:定义程序所需的类及接口,包括其内部的变量、方法等。init()方法:初始化,自动调用,只执行一次。start()方法:初始化后,重入等都将自动调用。Applet的主体,在其中可以执行一些任务或启动相关的线程来执行任务,如paint()方法等。paint()方法:显示、重画Applet窗口时调用。stop()方法:离开Applet所在页面时调用,以停止消耗系统资源。,1.6一个简单的Java小应用程序(JavaApplet),1.6一个简单的Java小应用程序(JavaApplet),importjava.applet.*;importjava.awt.*;publicclassBoyextendsAppletpublicvoidpaint(Graphicsg)g.setColor(Color.red);g.drawString(我一边喝着咖啡,一边学Java呢,5,30);g.setColor(Color.blue);g.drawString(我学得很认真,10,50);没有main方法扩展继承Applet类(是JavaApplet主类必须为public),编译c:1000javacBoy.java运行JavaApplet由浏览器来运行,因此我们必须编写一个超文本文件(含有applet标记的web页)通知浏览器来运行这个JavaApplet。以下是一个简单的html文件:Boy.html如果浏览器不支持JavaApplet程序(比如WinXP自带的IE),你也可以使用SDK提供的appletviewer来调试小程序,如,在DOS命令行执行:c:1000appletviewerBoy.html,理解程序:import语句相当于C语言中的include。每一个applet都是java.applet.Applet的子类,用extends继承。applet中没有main()方法。当applet被浏览器运行时,init()、start()方法等自动执行,再调用paint()方法。在applet中与屏幕输出有关的操作通过Graphics对象来实现。一个Java源文件内最多只能有一个public类,称为主类,且文件名必须和它同名。,1.6简单的Java小应用程序(JavaApplet),importjava.util.*;importjava.awt.*;importjava.applet.*;importjava.text.*;publicclassParaAppletextendsAppletStrings1,s2,s3,s4;/四个字符串变量分别记录四个参数的字符串publicvoidinit()/在初始化方法中根据参数的值初始化字符串变量s1=getParameter(p1);s2=getParameter(p2);s3=getParameter(p3);s4=getParameter(p4);publicvoidpaint(Graphicsg)g.drawString(s1,10,10);g.drawString(s2,10,30);g.drawString(s3,10,50);g.drawString(s4,10,70);,简单的Java小应用程序(JavaApplet)第二个Java小程序(带参数的Applet),编辑存盘:文件名和主类名一致编译代码:javacParaApplet.java编写HTML文件:ParaApplet.html,AppletParameterTest,简单的Java小应用程序(JavaApplet)第二个Java小程序(带参数的Applet),运行Applet程序:1.appletviewerParaApplet.html2.在浏览器中运行运行结果:1111111222222233333334444444,简单的Java小应用程序(JavaApplet)第二个Java小程序(带参数的Applet),理解程序:从页面中获取Applet参数:s1=getParameter(p1);在页面中设置Applet参数:,简单的Java小应用程序(JavaApplet)第二个Java小程序(带参数的Applet),包、类、变量、方法等命名:要体现各自的含义。包名全部小写,io,awt类名第一个字母要大写,HelloWorldApp变量名第一个字母要小写,userName方法名第一个字母要小写,setName程序书写格式:保证良好的可读性,使程序一目了然。大括号的使用与对齐语句段的对齐在语句段之间适当空行程序注释:帮助了解程序的功能。类注释变量注释方法注释语句注释语句段注释建议:一个类一个.java文件,Java程序程序书写规范-比算法更重要,写程序注意问题,1、大括号对齐2、遇大括号缩进Tab/Shift+Tab3、程序块间空行4、并排语句间加空格5、运算符两侧加空格6、前面有空格7、成对编程,原则,看得清楚看得舒服,第一次使用Java时常见的问题,编译时运行时,使用“.”作为目录名分割符:yourhomejavacexamples.ch1.Welcome1.java错误:不能读:examples.ch1.Welcome1.java1个错误解决办法:yourhomejavacexamplesch1Welcome1.java或者yourhomejavacexamples/ch1/Welcome1.java,Java编译时常见的问题(1),Java编译时常见的问题(2),忘记文件后缀.javayourhomejavacexamplesch1Welcome1javac:无效的参数:examplesch1Welcome1用法:javac解决办法:yourhomejavacexamplesch1Welcome1.java或者yourhomejavacexamples/ch1/Welcome1.java,Java运行时常见的问题(1),使用“”作为包名的分割符:yourhomejavaexamplesch1Welcome1Exceptioninthreadmainjava.lang.NoClassDefFoundError:examplesch1Welcome1(wrongname:examples/ch1/Welcome1)atjava.lang.ClassLoader.defineClass0(Nati
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 农业机械设备维护策略规划与成本控制分析报告
- 房屋灯光改造工程方案(3篇)
- 农业无人机租赁市场现状与未来运营挑战研究报告
- 安全教育日培训感悟课件
- 工程部方案优化(3篇)
- 狂人日记课件
- 电气工程定价方案(3篇)
- 牵引腰椎课件
- 安全教育平台操作培训课件
- 安全教育培训题库公司课件
- 表面贴装技术课件
- 酒店mod培训课件
- 奔驰GL350GL450GL550中文版说明书
- 航空钣金与铆接技术 课件 项目1 钣钳一体化基础
- 支部安全生产活动方案
- DB14-T34292025全域土地综合整治项目可行性研究报告编制规范
- 代建管理培训
- plm考试试题及答案
- JG/T 337-2011混凝土结构防护用渗透型涂料
- 大唐集团两票管理制度
- 2025年中级工业机器人系统操作员职业技能鉴定考试题库(浓缩500题)
评论
0/150
提交评论