当前位置:文档之家› java期末复习资料

java期末复习资料

java期末复习资料
java期末复习资料

结构化程序设计

1.编写程序输入任意的a,b,c系数,求一元二次方程的根双分支

2.JAVA 实现switch循环判断是星期几多分支

3.打印出100-999之间所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。循环程序

* 例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方

4.请编写程序,实现对数组{47,56,19,36,28,74,37} 的排序。数组又考循环提示:使用冒泡排序算法

5. 编写程序求斐波那契数列的前20项,要求5个数一行输出。方法调用,递归调用

提示:斐波那契数列数字排列规律为:1,1,2,3,5,8,13,21,34,55

面向对象程序设计

1.定义一个Father和Child类,并进行测试。

要求如下:

1)Father类为外部类,类中定义一个私有的String类型的属性name,name 的值为“liqiang”。

2)Child类为Father类的内部类,其中定义一个introFather()方法,方法中调用Father类的name属性。

3)定义一个测试类Test,在Test类的main()方法中,创建Child对象,并调用introFather ()方法。类和对象,继承

2.设计一个学生类Student和它的一个子类Undergraduate,要求如下:

1)Student类有name(姓名)、和age(年龄)属性,一个包含两个参数的构造方法,用于给name和age属性赋值,一个show()方法打印Student的属性信息

2)本科生类Undergraduate增加一个degree(学位)属性。有一个包含三个参数的构造方法,前两个参数用于给继承的name和age属性赋值,第三个参数给degree专业赋值,一个show()方法用于打印Undergraduate的属性信息。

封装

3. 设计一个Shape接口和它的两个实现类Square和Circle,要求如下:

1)Shape接口中有一个抽象方法area(),方法接收有一个double类型的参数,返回一个double类型的结果

2)Square和Circle中实现了Shape接口的area()抽象方法,分别求正方形和圆形的面积并返回

在测试类中创建Square和Circle对象,计算边长为2的正方形面积和半径为3的圆形面积。(Main函数写法为public static void Main ( string[] args ){} ) 接口

4自定义一个异常类NoThisSoundException和Player类,在Player的play()方法中使用自定义异常,要求入下:

1)NoThisSongException继承Exception类,类中有一个无参和一个接收一

个String类型参数的构造方法,构造方法中都使用super关键字调用父类的构造方法。

2)Player类中定义一个play(int index)方法,方法接收一个int类型的参

数,表示播放歌曲的索引,当index>10时,paly()方法用throw关键字抛出NoThisSongException异常,创建异常对象时,调用有参的构造方法,传入“您播放的歌曲不存在”。

3)在测试类中创建Player对象,并调用play()方法测试自定义的

NoThisSongException异常,使用try…catch语句捕获异常,调用NoThisSongException的getMessage()方法打印出异常信息。

异常

5. 模拟传智播客的三个老师同时分发80份学习笔记,每个老师相当于一个线程。

多线程

注意:java不像C中拥有scanf这样功能强大的函数,大多是通过定义输入输出流对象。常用的类有BufferedReader,Scanner。

例如:利用Scanner 实现从键盘读入integer或float 型数据

importjava.util.*;

Scanner in = new Scanner(System.in); //Scanner类

System.out.println("Please input a float number:");

float a = in.nextFloat(); //接收float数据

System.out.println("Please input a string: "); //这里试了一下输入String数据,但中间有空格就不能显示,Scanner类还不具有这功能

Scanner str = new Scanner(System.in);

System.out.println("The string is :" + str.next());

再例如:

public static void main(String [] args) {

Scanner sc = new Scanner(System.in);

System.out.println(“请输入你的姓名:”);

String name = sc.nextLine();

System.out.println(“请输入你的年龄:”);

int age = sc.nextInt();

System.out.println(“请输入你的工资:”);

float salary = sc.nextFloat();

System.out.println(“你的信息如下:”);

System.out.println(“姓名:”+name+“\n”+“年龄:”+age+“\n”+“工资:”+salary);

java期末考试知识点总结

java知识点总结 应同学要求,特意写了一个知识点总结,因比较匆忙,可能归纳不是很准确,重点是面向对象的部分。 java有三个版本:JAVA SE 标准版\JAVA ME移动版\JAVA EE企业版 java常用命令:java, javac, appletview java程序文件名:.java, .class java的两类程序:applet, application; 特点,区别,这两类程序如何运行 java的主方法,主类,共有类;其特征 java的数据类型,注意与C++的不同,如字符型,引用型,初值 java与C++的不同之处,期中已总结 java标记符的命名规则 1)标识符有大小写字母、下划线、数字和$符号组成。 2)开头可以是大小写字母,下划线,和$符号(不能用数字开头) 3)标识符长度没有限制 4)标识符不能使关键字和保留字 面向对象的四大特征 抽象、封装、继承、多态 封装,类、对象,类与对象的关系,创建对象,对象实例变量 构造函数,默认构造函数,派生类的构造函数,构造函数的作用,初始化的顺序,构造方法的重载 构造函数:创建对象的同时将调用这个对象的构造函数完成对象的初始化工作。把若干个赋初值语句组合成一个方法在创建对象时一次性同时执行,这个方法就是构造函数。是与类同名的方法,创建对象的语句用new算符开辟了新建对象的内存空间之后,将调用构造函数初始化这个新建对象。 构造函数是类的特殊方法: 构造函数的方法名与类名相同。 构造函数没有返回类型。 构造函数的主要作用是完成对类对象的初始化工作。 构造函数一般不能由编程人员显式地直接调用。 在创建一个类的新对象的同时,系统会自动调用该类的构造函数为新对象初始化。 类的修饰符:public类VS 默认; abstract类; final类; 1)类的访问控制符只有一个:public,即公共的。公共类表明它可以被所有其他类访问和引用。 若一个类没有访问控制符,说明它有默认访问控制特性,规定该类智能被同一个包中的类访问引用(包访问控制)。 2)abstract类:用abstract修饰符修饰的类被称为抽象类,抽象类是没有具体对象的概念类,抽象类是它所有子类的公共属性集合,用抽象类可以充分利用这些公共属性来提高开发和维护效率。 3)final类:被final修饰符修饰限定的,说明这个类不能再有子类。所以abstract与final 不能同时修饰一个类。 域和方法的定义 1)域:定义一个类时,需要定义一组称之为“域”或“属性”的变量,保存类或对象的数据。

Java 8新特性探究(4)-类型注解 复杂还是便捷

Java 8新特性探究(4):类型注解复杂还是便捷 注解大家都知道,从java5开始加入这一特性,发展到现在已然是遍地开花,在很多框架中得到了广泛的使用,用来简化程序中的配置。那充满争议的类型注解究竟是什么?复杂还是便捷? AD: 注解大家都知道,从java5开始加入这一特性,发展到现在已然是遍地开花,在很多框架中得到了广泛的使用,用来简化程序中的配置。那充满争议的类型注解究竟是什么?复杂还是便捷? 什么是类型注解 在java 8之前,注解只能是在声明的地方所使用,比如类,方法,属性;java 8里面,注解可以应用在任何地方,比如: 创建类实例 new @Interned MyObject(); 类型映射 myString = (@NonNull String) str; implements 语句中 class UnmodifiableList T implements @Readonly List @Readonly T { ... } throw exception声明 void monitorTemperature() throws @Critical TemperatureException { ... } 需要注意的是,类型注解只是语法而不是语义,并不会影响java的编译时间,加载时间,以及运行时间,也就是说,编译成class文件的时候并不包含类型注解。 类型注解的作用 先看看下面代码 Collections.emptyList().add( One );inti=Integer.parseInt( hello );System.console ().readLine(); 上面的代码编译是通过的,但运行是会分别报UnsupportedOperationException;NumberFormatException;NullPointerException异常,这些都是runtime error; 类型注解被用来支持在Java的程序中做强类型检查。配合插件式的check framework,可以在编译的时候检测出runtime error,以提高代码质量。这就是类型注解的作用了。 check framework check framework是第三方工具,配合Java的类型注解效果就是1+1 2。它可以嵌入到javac 编译器里面,可以配合ant和maven使用,也可以作为eclipse插件。地址是checker-framework。 check framework可以找到类型注解出现的地方并检查,举个简单的例子: importcheckers.nullness.quals.*;publicclassGetStarted{voidsample(){@NonNullObjec tref=newObject();}} 使用javac编译上面的类 javac-processorcheckers.nullness.NullnessCheckerGetStarted.java 编译是通过,但如果修改成 @NonNullObjectref=null; 再次编译,则出现 GetStarted.java:5:incompatibletypes.found:@Nullable nulltype

JAVA程序设计课程教学大纲

课程编号: “Java语言程序设计”课程教学大纲 Java Program Design Course Outline 60学时3学分 一、课程的性质、目的及任务 Java语言程序设计是计算机科学与技术专业软件方向的一门必修课程。通过本课程的教学,深化学生面向对象的编程设计思想和新一代程序设计的逻辑思维方式,提高学生在软件设计过程中分析问题和解决问题的实际动手能力,使学生的理论知识和实践技能得到共同发展。通过对Java语言及基于Java语言的程序设计的教学,培养学生用Java进行面向对象程序设计的能力。 要求掌握Java的基本语法、面向对象的语言特性、例外处理、applet、图形用户界面、多线程、输入输出、网络编程、JDBC以及面向对象程序设计的主要原则和方法。 二、适用专业——计算机科学与技术 三、先修课程——C++程序设计 四、课程的基本要求 通过本课程的学习,学生应能达到下列要求: (1)了解JAVA语言的基本语法。 (2)熟悉JAVA编程开发环境如JDK1.4和JCreator的安装、配置和使用。 (3)掌握一般图形用户的设计和事件处理机制。 (4)掌握Java实现多线程、流式输入输出的方法。 (5)掌握与数据库连接的方法。 (6)掌握网络编程的基本思想和方法。 (7)能比较熟练地用JAVA语言进行一般的程序设计,培养良好的编程风格和习惯。 五、课程的教学内容 (一)课堂讲授的教学内容 1.Java和面向对象概述 Java语言概述,面向对象软件方法概述,面向对象的基本概念。 2.Java运行环境 安装并配置Java平台,Java集成开发环境,Java程序的结构。 3.Java语言基础 Java的关键字、标识符,数据类型,常量与变量,运算符,流程控制语句。 4.类和对象 基本概念,类,方法,访问控制符,静态修饰符、静态字段和静态方法,抽象类与抽象方法,最终类、最终属性与最终方法。 5.继承 继承的概念,扩展类,多态与动态绑定,构造函数的继承与重载,包,接口。 6.字符、字符串和数组

java ee 期末试题 (1)要点

1、下列哪一项不是Java EE的常用技术(D) A、JSP B、Hibernate C、Spring D、JNDB 2、servlet与一般Java类的相同点是什么?(D) A、 B、Servlet是运行在Web服务器的一个Web组件 C、Servlet通常是通过HTTP协议回复Web客户端的请求 D、Servlet是运行在Web容器的Java类 3、以下哪一个是市场上流行的Java EE服务器(A) A、Apache B、tomcat C、glassfish D、netbeans 4、EJB的作用是(C) A、Servlet组件和JSP组件 B、用于丰富客户端图形界面显示 C、通过RMI/IIOP协议与EJB容器通信远处电泳EJB的功能方法,进而完成业务处理。 D、GUI交互界面的开发,负责与系统用户的交互 5、分析以下程序: public class x{ public static void main(String[]args){ String ol=new String("ABV"); String o2=new String("ABV"); if(o1.equals(o2)){ System.out.println("Equal"); } }该程序的执行结果是( B )。 A. 程序执行后无输出 B. 程序执行后输出“Equal” C. 程序在第5行出现编译错误 D. 程序执行后出现异常 6、执行完下面的程序片段后,下面哪些结论是正确的?(B) int a,b,c; a=1; b=2; c=(a+b>3?a++:++b); A. a的值是2,b的值是3 B. a的值是1,b的值是3 C.a的值是1,b的值是2 D.c的值是false 6、Struts框架的控制器主要由(C )负责。 A. EJB

Java 1.7的新特性

内容如下: 下面是Java 1.7里新出现的功能的一些用法例子: 对集合的支持 创建List / Set / Map 时写法更简单了。 1.Listlist = ["item"]; 2.String item = list[0]; 3.Setset = {"item"}; 4.Mapmap = {"key" : 1}; 5.int value = map["key"]; 对资源的自动回收管理 下面的代码看起来有点麻烦… 不是吗 1.BufferedReader br = new BufferedReader(new FileReader(p ath)); 2.try { 3. return br.readLine(); 4.} finally { 5. br.close(); 6.} 相信你一定会喜欢下面这种写法 1.try (BufferedReader br = new BufferedReader(new FileRea der(path)) { 2. return br.readLine(); 3.} 泛型实例创建过程中类型引用的简化当声明你的对象的接口是,你肯定是不想重复指明泛型类型 看看下面的这种写法多好呀… 1. 2.Maphello = new Map<>(); 在数字中使用下划线

1.int billion = 1_000_000_000; 我不知道这个能有多少用处 对字符串进行switch case 1.String availability = "available"; 2.switch(availability) { 3. case "available": 4. //code 5. break; 6. 7. case "unavailable": 8. //code 9. break; 10. 11. case "merged": 12. //code 13. 14. default: 15. //code 16. break; 17.} 注意:在把字符串传进Switch case之前,别忘了检查字符串是否为Null。 二进制符号 你可用作二进制字符前加上0b 来创建一个二进制类型。 1.int binary = 0b1001_1001; 一个catch里捕捉多个异常类型 1.try { 2.Here comes your code.... 3.} 4.catch(IOException | NullPointerException | ..........) { 5.} 如果有人能说出更多的新特征,那就更好了。我相信里面有更多的很酷的新东西。

JAVA复习资料

第一章 1.Given the following, 1. interface Base { 2. boolean m1 (); 3. byte m2(short s); 4. }Which code fragments will compile?(Choose all that apply.) A.interface Base2 implements Base { } B.abstract class Class2 extends Base { public boolean ml() { return true; } } C.abstract class Class2 implements Base { } D.abstract class Class2. implements Base { public boolean m1() { return (true); } } E.class Class2 implements Base { boolean m1( ) { return false; } byte m2(short s) { return 42; } } 2. Which declare a compilable abstract class? (Choose all that apply.) A.public abstract class Canine { public Bark speak(); } B.public abstract class Canine { public Bark speak() { } } C.public class Canine { public abstract Bark speak(); } D.public class Canine abstract{ public abstract Bark speak(); } 3. Which is true? (Choose all that apply. ) A."X extends Y" is correct if and only if X is a class and Y is an interface. B."X extends Y" is correct if and only if X is an interface and Y is a class. C."X extends Y" is correct if X and Y are either both classes or both interfaces. D."X extends Y" is correct for all combinations of X and Y being classes and/or interfaces. 4. Which are valid declarations? (Choose all that apply.) A.int $x; B.int 123; C.int _123; D.int #dim; E.int %percent; F.int *divide; G.int central_sales_region_Summer_2005_gross _sales 第二章 1. Which statement(s) are true? (Choose all that apply.) A.Has-a relationships always rely on inheritance. B.Has-a relationships always rely on instance variables. C.Has-a relationships always require at least two class types. D.Has-a relationships always rely on polymorphism. E.Has-a relationships are always tightly coupled. 2.Given: class Clidders {public final void flipper() { System.out.println("Clidder"); }} public class Clidlets extends Clidders { public void flipper() { System.out.println("Flip a Clidlet"); super.flipper(); } public static void main(String [] args) { new Clidlets().flipper(); } } What is the result? A.Flip a Clidlet B.Flip a Clidder

教学大纲规范java新

《Java语言与面向对象程序设计》 课程教学大纲 一、课程名称:《Java语言与面向对象程序设计》 二、课程类别:专业选修课适用专业: 三、学分: 3学分总学时: 54学时理论课学时:36学时实验/实践课学时:18学时 四、课程的性质、目的和任务 《Java语言程序设计》是计算机科学与技术专业本科生的一门选修课程。Java语言作为当今 INTERNET上最流行的编程语言,它的产生和WWW密切相关,所以课程中还将对WWW技术进行必要的介绍。通过本课程的学习,使学生掌握网络编程的基本方法,能够根据现实生活实践编制出一些实用的客户机/服务器小程序。 五、本门课程与相关课程的联系与分工: 六、教学内容与要求 (一)说明本课程的具体教学内容和对内容的要求,要求以了解、理解、掌握、熟练等层次加以说明。 1、面向对象软件开发概述 教学内容:面向对象问题求解的提出;面向对象问题求解的概述;对象、类与实体;对象的属性与相互关系;面向对象的软件开发过程;面向 对象程序设计方法的优点。 教学要求: 本章作为了解内容,要求学生自学。 2、Java语言概述 教学内容:Java语言的产生;Java语言的应用前景;Java语言和C++;Java 语言的特点; Java Applet和Java Application;HTML语言; Java Applet程序的编辑、编译和运行;Java Application程序的编 辑、编译和运行; 教学要求: 1).了解:Java语言的产生、应用前景和特点; 2).了解:HTML文件的作用; 3).掌握:Java语言和C++语言的相同处及不同处; 4).熟练掌握:Java Applet程序和Java Applicatio程序的编辑、编译和运行过程。 3、Java语言基础 教学内容: Java语言的数据类型;简单类型;整型数据;变量;浮点型数据; 字符型数据和逻辑型数据;数组和向量;流程控制; 教学要求: 1).了解:强制数据类型的转换格式;了解运算符的优先级和结合

java考试题型与要点

考试题型 一、选择题(20分,每题2分)10题 二、简答题(15分,每题5分)3题 三、程序填空(共45分,每空3分)3大题 四、编程题(20分)1大题 各章复习要点 第2 章Java基本语法 1、标识符 标识符的作用是用于标识程序中的各个元素。由字母、下划线(_)、美元符($)、数字(0~9)组成,数字不能开头。 2、关键字P20(浏览一下,留意学过的关键字) 3、数据类型 基本数据类型P20 图2-1 、P21 表2-1 各类型需要掌握的要点:类型名称、关键字,占用位数、取值范围(整数类型的取值范围取决 于占用位数,如:占用位数为n,则表示的范围是:-2n~2n-1) 4、运算符与表达式 自增、自减符号在变量的前后位置不同,表达式的结果是不一样的。 例如int a=1,b=2; System.out.print(a++>--b); 结果为false ++在a 变量后面,那表达式a++的值是取a 的值作为表达式的值,值为1。

--在b 变量之前,那表达式--b 的值是多少?先让b 自减1,而后在取b 的值作为表达式的值,即为1。最后a 自增1。 条件运算符?:例如:int x=-1,y; y=x>=0?x:-x; y 的值是? y 值为1 5、利用Scanner类输入 (1) 导入util 包。例如:import java.util.*; (2) 创建Scanner类对象引用。例如:Scanner s=new Scanner(System.in); (3) 获得键盘输入的数据,可以调用nextXXX()方法。获得整型数据,使用nextInt();获得双精度浮点数据,使用nextDouble();获得一字符串,使用nextLine()。例如int a=s.nextInt(); P29 例2-3 6、程序流程控制 顺序结构、选择结构(if(), ; if(), else, ; switch() case n,: ; [default: , ;])、循环结构(while(){ , }; do{, }while(); for(;;) , ) P49 例2-20、P60 例2-29 7、数组 一维数组的声明与创建 声明:类型数组名[ ] ;或类型[ ] 数组名; 创建:数组名=new 类型[数组长度]; 也可以声明与创建合并:类型数组名[ ]=new 类型[数组长度]; 注意等号左边的中括号中不要写出数组长度

史上最全Java基础知识点归纳

史上最全Java基础知识点归纳 写这篇文章的目的是想总结一下自己这么多年来使用Java的一些心得体会,主要是和一些Java基础知识点相关的,所以也希望能分享给刚刚入门的Java 程序员和打算入Java开发这个行当的准新手们,希望可以给大家一些经验,能让大家更好学习和使用Java。 这次介绍的主要内容是和J2SE相关的部分,另外,会在以后再介绍些J2EE 相关的、和Java中各个框架相关的内容。 经过这么多年的Java开发,以及结合平时面试Java开发者的一些经验,我觉得对于J2SE方面主要就是要掌握以下的一些内容。 1.JVM相关(包括了各个版本的特性) 对于刚刚接触Java的人来说,JVM相关的知识不一定需要理解很深,对此里面的概念有一些简单的了解即可。不过对于一个有着3年以上Java经验的资

深开发者来说,不会JVM几乎是不可接受的。 JVM作为Java运行的基础,很难相信对于JVM一点都不了解的人可以把Java语言吃得很透。我在面试有超过3年Java经验的开发者的时候,JVM几乎就是一个必问的问题了。当然JVM不是唯一决定技术能力好坏的面试问题,但是可以佐证Java开发能力的高低。 在JVM这个大类中,我认为需要掌握的知识有: JVM内存模型和结构 GC原理,性能调优 调优:Thread Dump,分析内存结构 class二进制字节码结构,class loader体系,class加载过程,实例创建过程 方法执行过程 Java各个大版本更新提供的新特性(需要简单了解) 2.Java的运行(基础必备) 这条可能出看很简单,Java程序的运行谁不会呢?不过很多时候,我们只是单纯通过IDE去执行Java程序,底层IDE又是如何执行Java程序呢?很多人并不了解。

JAVA资料

1 (2) 2.输入和输出数据,JOptionPane类,Scanner类; (2) 3.产生随机数 (3) 4.数学类Math (3) 1)三角函数方法: (3) 2)指数函数方法: (4) 3)取整方法: (4) 4)min\max和abs方法 (5) 5.Arrays类 (5) 6.Random类 (6) 7.GregorianCalendar类 (7) 8.String类 (7) 7)字符串转换为一个字符数组 (9) 8)将字符串转换为字符数组 (9)

1. 1)调用System.currentTimeMillis()方法获得从1970年1月1日0点到现在的毫秒数; 2)System.exit(0);是个静态方法,它在System类中定义。调用这个方法 可以终止程序,参数0表示程序正常结束。 3)String s=String.format(“counts is%d and amount is%f”,5,45.56); System.out.println(s); 相当于:System.out.println(“counts is%d and amount is%f”,5,45,56); 4)对于void方法,return语句是不需要的,但它能用于终止方法并返回到方法的调用者。 5) 2.输入和输出数据,JOptionPane类,Scanner类; 输入: Javax.swing.JOptionPane; String input=JOptionPane.showInputDialog(null,x,y,JOptionPane.QUESTION_MESSAGE) ; String input=JOptionPane.showInputDialog(x); 使用确认对话控制循环: int option=JOptionPane.showConfirmDialog(null,”continue”); Yes按钮返回JOptionPane.YES_OPTION(0), No按钮返回JOptionPane.NO_OPTION(1), Canel按钮返回JOptionPane.CANCEL_OPTION(2); Scanner scanner=new Scanner(System.in); String str=scanner.next();//读取一个字符串。字符串用空格分隔

《Java技术及其应用》2017教学大纲

Java 技术及其应用》 教学大纲 安徽大学计算机科学与技术学院 二O 一七年四月

课程性质与设置目的要求 《Java技术及其应用》课程是安徽大学计算机科学与技术学院软件工程专业选修课。《Java技术及其应用》以介绍Java面向对象程序设计方法为逻辑起点,以安徽大学计算机科学与技术学院软件工程专业学生为讲授对象,是集理论性与 应用性为一体的学科。Java是一种通用的面向对象的编程语言,其语法与C和C ++相似,但舍弃了一些难以理解和不安全的语言特征。本课程将从Java语言的 实现机制入手,结合示例程序,较为系统地介绍Java语言的主要特征和编程技术,包括:基本语法、类与对象、继承与多态性、包与接口、异常处理、输入输出流、图形用户界面等内容。 设置本课程的目的是:使学习者在全面了解Java技术历史、现状与发展趋势的基础上,系统掌握Java基本概念、编程思想以及程序设计技术,具备熟练的Java编程技能和面向对象软件设计思想,完成本课程的学习后能够熟练地综合应用Java技术和面向对象的思想编写程序解决现实生活中的问题,最终提高程序设计水平和计算机应用能力,从而能胜任企业软件研发以及科研院所的研发、教学任务。 学习本课程的要求是:学习者应按照教学大纲要求,掌握Java语言的基本 语法和语义,理解面向对象概念,会编制Java应用程序,通过编程实践形成良好的编程习惯。 先修课程要求:C语言程序设计,数据结构 本课程计划36学时。 选用教材:刘政怡.《Java语言程序设计教程》,安徽大学出版社,2016 教学 手段:多媒体演示、讲授相结合。 考核方法:闭卷考试 教学进程安排表:

java考试要点

1、什么是平台无关性?Java怎样实现平台无关性? 答:平台无关性是指一个应用程序能够运行于不同的操作系统平台。Java采用虚拟机技术支持平台无关性,不同操作系统需要相应的不同的Java虚拟机,由Java虚拟机执行Java源程序(*.java)编译生成的字节码文件(*.class),而不是由操作系统直接执行通常高级语言生成的可执行文件(*.exe)。 2、面向对象技术的三个核心特性是什么? 答:①类的封装性;②类的继承性;③类的多态性; 3、什么是封装?为什么要将类封装起来?封装的原则是什么? 答:封装就是将抽象得到的数据和行为(或功能)相结合,形成一个有机的整体,也就是将数据与操作数据的源代码进行有机的结合,形成“类”。为了增强安全性和简化编程,使用者不必了解具体的实现细节,而只是要通过外部接口,一特定的访问权限来使用类的成员。原则: 1、把尽可能多的东西藏起来.对外提供简捷的接口。 2、把所有的属性藏起来。 4、什么是多态性?什么是方法的重载?方法的重载和覆盖有什么区别? 答:多态是指一个方法可以有多种实现版本。方法重载:同一个类中的多个方法可以同名但参数列表必须不同。重载与覆盖的区别:1、方法的覆盖是子类和父类之间的关系,是垂直关系;方法的重载是同一个类中方法之间的关系,是水平关系。2、覆盖只能由一个方法,或只能由一对方法产生关系;方法的重载是多个方法之间的关系。3、覆盖要求参数列表相同;重载要求参数列表不同。4、覆盖关系中,调用那个方法体,是根据对象的类型(对象对应存储空间类型)来决定;重载关系,是根据调用时的实参表与形参表来选择方法体的。 5、什么是接口?接口和抽象类有哪些相同之处和不同之处? 答:接口是一组常量和抽象方法的集合;相同点:1.两者都包含抽象方法,约定多个类共用方法的参数列表和返回值。2.两者都不能被实例化。3.两者都是引用数据类型,其变量可被赋值为子类或实现接口类的对象。不同点:1.抽象类约定多个子类之间共同使用的方法;接口约定多个互不相关类之间共同使用的方法。2.抽象类与子类之间采用单重继承机制;一个类实现多个接口则实现了多重继承的功能。3.抽象类及其类中成员具有与普通类一样的访问权限;接口的访问权限有public和缺省两种,接口中成员的访问权限均是public。4.抽象类中可以包含非抽象方法,也可以生命构造方法;接口中的方法全部是抽象方法,不能声明构造方法。5.抽象类中可以声明成员变量,子类可以对该变量赋值;接口中只能声明常量。 6、什么是单重继承?什么是多重继承?类的层次体系为什么需要多重继承?单重继承有什么缺点?既然 有缺点,为什么java仍然采用单重继承?java怎样实现多重继承? 答:单重继承是指子类只能继承一个父类的属性和操作 多重继承是指子类可以继承了多个父类的属性和操作。因为单继承使得java结构简单,层次清楚,易于管理,更安全可靠,避免了c++中因多重继承而引起的难以预测的冲突。Java通过接口实现多重继承。 7、在什么情况下需要申明内部类?内部类有哪些特性? 答:当结构作为数组的元素类型时,或当一个类中需要使用结构时,可以将结构声明为内部类。 特征:内部类不能与外部类同名;内部类具有封装性;内部类具有继承性;内部类具有抽象性;使用点运算符“.”引用内部类;内部类具有类成员的4种访问权限;内部类具有静态特征。

java程序设计复习资料.doc

1、简述java语言的特点? Java语言是目前使用最为广泛的网络编程语言之一(1分) 具有面向对象(1分) 与平台无关性(1分) 多线程性(1分) 动态性等特点(1分) 2、简述Java程序的开发过程 1使用一个文字编辑器,编写源文件。(1分) 2使用java编译器,编译源文件得到字节码文件。(2分) 3运行java程序,分两种java应用程序必须通过java解释器来解释执行,java小应用程序必须使用解释器和浏览器运行程序。(2 分) 3、java源文件的命名规则是什么? 如果源文件中有多个类,那么只能有一个类是public类(1分) 如果有一个类是public类,源文件的名字必须与这个类的名字完全相同,扩展名是java (2分) 如果源文件没有public类,源文件的名字只要和某个类的名字相同,并且扩展名是java (2分) 4、怎样区分应用程序和小应用程序? 一个java应用程序必须且只有一个类含有main方法,这个类称为应用程序的主类,其 main 方法必须被说明为public static void (1分) —个Java Applet小应用程序不再需要main方法,但必须有一个类扩展了Applet类,即它是Applet类的主类。(2.5分) 5、Java中共有哪些基本数据类型? 基本类型共有8种,分四类分别是(1分) 逻辑型(1分) 字符型(1分) 整型(1分) 浮点型(1分) 6、Java中数据类型分别用什么符号来表示? 逻辑型用boolean表示(1分)

字符型用char表示(1分)

整型共有4种分别是byte、short、long、int (2分)浮点型共两种float和double (1分) 7、简答标示符的根I念及定义原则 标示符是用来标识类名、变量名、方法名、类型名等有效字符序列。(2.5分) Java语言规定标示符由字母、下划线、美元符号和数字组成,并且第一个字符不能是数字,及java 中的关键字不能用作标示符。(2.5分) &简答什么是强制类型转换及转换格式 较少的变量的值赋给占字节较多的变量时, 系统自动完成数据类型的转换(2.5分) 格式数据类型名变量名或表达式(2.5 分) ++X表示在使用x之前,先使x的值加1(2.5 分) x++表示在使用x之后,使x的值加1(2.5 分) 当把一种数据类型变量的值赋给另一种数据类型时会用到数据转换。当把在内存中占字节数 9、简答表达式++x和x++的区别 10、Java中常用的运算符按功能分有哪些 Java运算符按功能分6种,具体如下(1分)算术运算符、关系运算符、逻辑运算符(2分)位运算符、赋值运算符、条件运算符(2分) 11、Java中结构化程序设计有哪三种基本流程及分别对应java中那些语句 结构化程序设计有顺序、分支、循环三种基本流程(2分) java中的分支语句包括if语句、switch语句(1分) 循环语句包括while语句、do?while语句、for?语句(1分) 其他如对象、变量定义语句、赋值语句、方法调用语句等都是顺序语句。(1分) 12、在一个循环中使用break和continue语句有什么不同的效果? 在循环中使用break语句将使循环终止,流程跳转到break语句所在的循环外面的第一个语 句继续执行(2.5分) 在循环中使用continue语句将提前结束本次循环,流程跳转到continue语句所在循环的第 一个语句继续执行(2.5分) 13、package语句与import语句分别作用是什么? package语句作为java源程序的第一条语句,指明该源文件定义的类所在的包。(2.5分)import语句作用是为了能使用java提供的类,可以使用import语句来引入所需要的类。(2.5 分)

《Java课程设计(第3版)》教学大纲

《Java课程设计》教学大纲 JAVA COURSE DESIGN 一、课程性质和教学目的 课程性质:《Java课程设计》这门课程是软件工程专业的重要的专业实践课。这门课程的先行课程是计算机文化基础、计算机网络、软件工程、计算机组成原理、Java语言程序设计等。本门课程结合《JA V A 语言程序设计》的理论知识,通过实践环节可以巩固所学的理论知识、提高程序设计能力。通过程序设计的训练,使学生能够综合应用JA V A基础知识和基础方法,编写出高效率的应用程序,体会软件设计全过程,提高软件设计能力,为今后进行系统软件和应用软件的开发研究打下坚实的基础,培养刻苦专研和严谨的编程精神,为今后从事项目开发和撰写毕业论文积累经验。 教学目的:通过本课程的教学应当使学生巩固和加深学生对Java语言课程的基本知识的理解和掌握,掌握Java语言编程和程序调试的基本技能。本课程要求学生使用JAVA语言来独立完成软件的设计与开发。训练学生做出一个中、小型的项目,培养学生利用Java语言进行软件设计的基本思路和方法,提高运用Java语言解决实际问题的能力,提高编程技术,为今后从事项目开发和撰写毕业论文积累经验。使他们逐步成为既有一定的理论知识又有一定的动手实践能力的软件技术人才。 二、课程教学内容 Java课程设计总学时是40学时,合理穿插安排在Java程序课程之中,一般是从期中后在老师指导下,学生逐步结合所学内容,阶梯式完成课程设计,不仅有针对性,也非常能够互相促进,使得二者有结合。 1.准备及理论学习:查找相关资料、书籍,阅读示例文档,以及最新录制的课程设计数据库知识的教学软件,确定自己的课设题目。 2.设计:要求并指导学生设计程序结构、模块图、完成类的设计、添加相应的应用功能。 3.编码:由学生独立完成程序的编码,并且自己调试、测试、查看运行效果。 4.完成文档:填写Java语言课程设计报告单。 5.验收:由教师检查软件运行效果、项目文档。。 三、课程教学的基本要求 1.可以根据数据库理论知识经教师同意自定一个题目。 2.完成系统分析与系统设计—--设计合理的数据结构和系统框架,完成设计的结构图。 3.软件要打包发布,软件的代码要规范、有详细的注释,能正确运行,上交所有代码的电子版。 4.学生填写Java语言课程设计报告单,每人一份。 5.以班级为单位上交电子版文档。每个同学的文件夹名字为"班级_学号_姓名",文件夹中应该包括可执行文件、全部源文件及对应的class文件、辅助文件。 6

《JavaEE程序设计》课程教学大纲

《Java EE程序设计》课程教学大纲 英文课程 名称 Java EE Programming 总学时48学分 3 课程编码0809412005 理论 学分数 2 实验 学分数 1 适用专业软件工程先修课程 JAVA面向对象程序设计,Java高级 程序设计 课程 类别 □学科基础(必修)□专业核心(必修)■专业方向(限选)□任选 一、课程支撑的毕业要求及其具体指标点 1、支持毕业要求3:能够设计针对复杂工程问题的解决方案,设计满足特定需求的系统、单元(部件)或工艺流程,并能够在设计环节中体现创新意识,考虑社会、健康、安全、法律、文化以及环境等因素。 具体指标点为:3.1掌握程序设计理论与方法,具备软件开发技能;3.2具备在他人指导下进行软件系统设计与开发能力 通过本课程学习,使学生理解和掌握JAVAEE程序设计方法,建立起牢固扎实的理论基础,掌握使用JAVAEE编程技术针对复杂工程问题进行程序分析和设计的能力。通过本门课程的学习,使学生初步掌握基于JAVAEE的企业项目设计能力,能够从事基于JAVAEE的企业级项目开发。 2、支持毕业要求4:能够基于科学原理并采用科学方法对复杂工程问题进行研究,包括设计实验、分析与解释数据、并通过信息综合得到合理有效的结论。 具体指标点为:4.2 在他人指导下,根据软件需求规格,进行过程、组件或模块设计和UI设计,且有能力对结果进行测试与评估;4.3能够理解、评估相关的需求、架构和软件文档;能够遵循编码规范完成编码;4.5在他人指导下,完成软件工程某一应用领域(专业方向)的系统分析、设计和实施。 通过本课程学习,让学生理解和掌握基于JAVAEE企业软件设计方法,有能力对复杂工程问题进行需求分析与评估;掌握软件项目分层设计理论与方法;掌握软件行业的基本编码规范,有能力在一定指导下分析、设计并实施基于JAVAEE 的系统软件开发,用以解决具体领域如操作系统、网络通信、数据库等的应用问题。 3、支持毕业要求5:能够针对复杂工程问题,开发、选择与使用恰当的技术、资源、现代工程工具和信息技术工具,包括对复杂工程问题的预测与模拟,并能够理解其局限性。 具体指标点为:5.1掌握软件开发过程中所使用的工具和方法;5.2 能够了解软件开发过程中所使用的多种工具、技术资源和方法,并能针对具体复杂工程

java期末考试复习知识点

6.1.2字符串类几个常用方法 String类定义了许多方法,下面是几个最常用方法。 public int length():返回字符串的长度,即字符串包含的字符个数。注意,对含有中文或其他语言符号的字符串,计算长度时,一个符号作为一个字符计数。 public char charAt(int index):返回字符串中指定位置的字符,index表示位置,范围为0~s.length()-1。 public String concat(String str):将调用字符串与参数字符串连接起来,产生一个新的字符串。 –public String substring(int beginIndex, int endIndex):从字符串的下标beginIndex开始到endIndex结束产生一个子字符串。 –public String substring(int beginIndex):(子链\子串);从字符串的下标beginIndex开始到结束产生一个子字符串。 –public String replace(char oldChar, char newChar):将字符串中的所有oldChar 字符改变为newChar字符,返回一个新的字符串。 –public String to Upper Case():将字符串转换成大写字母。 – public String to Lower Case():将字符串转换成小写字母。public String trim():返回去掉了前后空白字符的字符串对象。 (vt.装饰; 修剪; 整理; adj.整齐的,整洁的; 修长的; 苗条的; 修剪; 整齐; 健康状态; 装束;) public boolean isEmpty():返回该字符串是否为空(""),如果length()的结果为0,方法返回true,否则返回false。 下面程序要求从键盘输入一个字符串,判断该字符串是否是回文串。一个字符串,如果从前向后读和从后向前读都一样,则称该串为回文串。例如,“mom”和“上海海上”都是回文串。 算法思想:对于一个字符串,先判断该字符串的第一个字符和最后一个字符是否相等,如果相等,检查第二个字符和倒数第二个字符是否相等。这个过程一直进行,直到出现不相等的情况或者串中所有字符都检测完毕,当字符串有奇数个字符时,中间的字符不用检查。 6.1.7 String对象的不变性 在Java程序中一旦创建一个String对象,就不能对其内容进行改变,因此说Java的String对象是不可变的字符串。 有些方法看起来是修改字符串,但字符串修改后产生了另一个字符串,这些方法对原字符串没有任何影响,原字符串永远不会改变。请看下面的例子。 ?程序6.6 ChangeString.java public class ChangeString{ public static void main(String[] args){ String s = new String("Hello,world"); s.replace('o','A'); // s的值并没有改变 s = s.substring(0,6).concat("Java"); s.toUpperCase(); // s的值并没有改变 System.out.println(s); } } 程序运行结果为:

相关主题
文本预览
相关文档 最新文档