1、Java 语言程序设计 一、 Java 语言基础知识 1. 双目运算符和单目运算符都有哪些? i+和 +i 的区别是什么? 答:双目运算符有: +(表示加)、 -(表示减)、 *、 /、 %,单目运算符有: +(表示正值)、 -(表示负值)、+、 -。 i+是先赋值,再自加; +i 是先自加,再赋值;例如: int a,i=1; 如果 a=i+;则 a=1,i=2; 如果 a=+i;则 a=2,i=2; 2.Java 语言中, “ 逻辑与 ”“ 逻辑或 ”“ 逻辑非 ” 分别用什么表示? 答: “ 逻辑与 ” 用import java.io.*; public class Keyboard s
2、tatic BufferedReader inputStream=new BufferedReader(new InputStreamReader(System.in); public static int getInteger() try return (Integer.valueOf(inputStream.readLine().trim().intValue(); catch(Exception e) e.printStackTrace(); return 0; public static String getString() try return inputStream.readLin
3、e(); catch (Exception e) e.printStackTrace(); return null; 新建 Ex1.java 文件,其内容为: public class Exe1 public static void main (String args) System.out.print(“请输入 x:“); int x=Keyboard.getInteger(); System.out.print(“请输入 y:“); int y=Keyboard.getInteger(); System.out.print(“请输入 z:“); int z=Keyboard.getInte
4、ger(); if (xy) if(xz) System.out.println(“最大数为 x : “+x); if(yz) System.out.println(“最小数为 z : “+z); else System.out.println(“最小数为 y : “+y); else System.out.println(“最大数为 z : “+z); System.out.println(“最小数为 y : “+y); else if(xz) System.out.println(“最小数为 z : “+z); else System.out.println(“最小数为 x : “+x);
5、 if(yz) System.out.println(“最大数为 y : “+y); else System.out.println(“最大数为 z : “+z); 2. 求出 100 以内的素数,并将这 些数在屏幕上 5 个一行地显示出来。 答:新建 Exe2.java 文件,其内容为: public class Exe2 public static void main(String args) for(int i = 2, j = 0; i 50) n+; if(arrayi=max) max=arrayi; if(arrayib) max=a; min=b; else max=b; mi
6、n=a; while (max %min !=0) int temp= max %min; max=min; min=temp; return min; class CalcLCM public class Exe4 5. 什么是异常?解释抛出、捕获的含义。 答:异常( exception )又称为例外,是特殊的运行错误对象,对应着 Java 语言特定的运行错误处理机制。 抛出是指:不在当前方法内处理异常,而是把异常抛出到调用方法中;捕获是指:使用try catch ()块,捕获到所发生的异常,并进行相应的处理。 6. 简述 Java 的 异常处理机制。 答:在一个方法的运行过程中,如果发生了
7、异常,则这个方法(或者是 Java 虚拟机)便生成一个代表该异常的对象(包含了该异常的详细信息),并把它交给运行时系统,运行时系统查找方法的调用栈,从生成异常的方法开始进行回溯,直到找到包含相应异常处理的方法为止。 7. 系统定义的异常与用户自定义的异常有何不同?如何使用这两类异常? 答:系统定义的特定情况出现的问题,而此时用来对可能遇到的问题进行处理。用户定义的是自己觉得可能会出现问题时,需要处理的。这样避免程序中断或是出现未知错误。 系统异常有两种一种 是运行时异常,一种是普通异常,普通异常要求用户捕获或者抛出的,不补货或者抛出就会编译不通过。运行时异常编译可以通过,但是运行时才显露出来。
8、 8. 系统自定义的常用异常有哪些,分别在声明情况下产生? public static int calcLCM(int a,int b) int gcd=CalcGCD.calcGCG(a,b); int lcm=(a/gcd)*(b/gcd)*gcd; return lcm; public static void main (String args) System.out.print(“请输入第一个整数: “); int a=Keyboard.getInteger( ); System.out.print(“请输入第二个整数: “); int b=Keyboard.getInteger( )
9、; System.out.print(a+“和 “+b+“的最大公约数为: “); System.out.println(CalcGCD.calcGCG(a,b); System.out.print(a+“和 “+b+“的最小公倍数为: “); System.out.println(CalcLCM.calcLCM(a,b); 答:系统自定义的常用异常有: ArithmeticException ,整数除法中的除数为 0 时产生; NullPointerException ,当一个对象没有实例化而访问该对象或者调用它的方法是产生; NegativeArraySizeException ,创建数组
10、时,如果元素个数是个负数,则产生该异常; ArrayIndexOutOfBoundsException ,数组下标越界时产生。 FileNotFoundException ,试图访问一个不存在的文件时产生; IOException ,发生 I/O 错误时产生。 四、类的重用 1. 什么是继承、子类、父类? 答:继承是一种由已有的类创建新类的机制。一个新类可以从现有的类中派生,这个过程称为类继承。 派生出的新类称为已有类的子类;已有类称为超类(父类)。 2. 方法的覆盖与方法的重载有何不同? 答:方法覆盖是指如果子类不需要使用从父类继承来的方法的功能,则可以声明自己的方法。在声明的时候,使用相同
11、的方法名及参数表,但执行不同的功能。 方法重载是指声明名字一样、但参数表不一样的方法。 二者的不同主要在于:方法覆盖时,子类的参数表和父类一样,方法重载时,这些方法的参数表不一样。 3. 泛型的本质是什么?泛型可以使用在哪些场合? 答:其本质是参数化类型 , 即所操作的数据类型被指定为一个参数。 泛型可以使用在类、接口以及方法的创建中,分别称为泛型类、泛型方法和泛型接口。 4.this 和 super 分别有哪些特殊含义?都有哪些种方法? 答:关键词 this 说明调用本类中的方法,关键词 super 说明是调用父类的方法。 二者都可以用于:调用本类或父类的方法,访问本类或父类的属性,调用本类
12、或父类 的构造方法。 五、接口与多态 1. 什么是接口?接口起什么作用?接口与抽象类有何区别? 答:接口是若干抽象方法和常量的声明。其主要作用是帮助我们实现类的多重继承的功能, 区别:接口中的所有方法都是抽象的,而抽象类中可有非抽象的方法。 学通 Java Web 的 24 堂课 一、掌握 JSP 基本语法 1、以下( C )不属于 JSP 指令标签。 A 、 Page B 、 include C 、 2、以下( C )不属于 JSP 动作标签。 A B C 3、在 JSP 页面中嵌入 Java 代码应用( A )标签。 A B - - C 4、在 JSP 页面中不包括( C )内容 A JS
13、P 指令标签项 B HTML 标记语言 C 属性文件 5、要设置 JSP 页面支持的语言,需设置 page 指令的( A )属性。 A Language B extends C contentType 6、 include 指令中 file 属性的意思是:( file 属性用于指定被包含的文件,其值是当前 JSP 页面文件的相对 URL 路径)。 7、 jsp 页面中包含的注释形式有:( HTML 注释 JSP 注释: 代码注释: 、 、 动态注释 ) 8、要包含一个外部文件需要使用( )动作标签 9、要实现将 index.jsp 页面转发至 erter.jsp 页面中,需要使用( )标签。
14、10、要把 Java 的表达式结果输出 到 JSP 页面中使用的是:( JSP 表达式) 11、在页面中动态添加表格 “ My JSP index.jsp starting page 编号 姓名 二、使用 JSP 内置对象 1、下面( A )项内容使用 request 对象无法实现。 A 将页面重定向至 index.jsp 页面 B 获取表单提交的信息 C 定义属性 2、下面( C )不属于 JSP 的内置对象。 A Page B session C include D out 3、获取用户提交的表单属性,使用的是 request 对象的( A )方法。 A getParameter()方法
15、B setCharacterEncoding()方法 C getRemotePort()方法 4、设置 session 对象的有效时间使用的是该对象的( C )方法。 A setAttribute()方法 B getMaxInactiveInterver()方法 C setMaxInactiveInterver()方法 5、 session 的有效时间是以( C )为单位的。 A 小时 B 分钟 C 秒 6、 JSP 内置对象包括:( request 、 reponse 、 session 、 application 、 out 、pageContext 、 config 、 page 、 e
16、xception ) 7、向客户端输出动态内容,需要使用( response )内置对象。 8、( page )对象表示 JSP 页面本身。 9、设置所有应用程序中的公有数据,需要使用( application )内置对象。 10、负责处理客户请求的对象是:( response ) 11、应用题:实现网页计数器 java 期末复习 参考 (最新 ) 在向 application 中放入数据时,例如; application.setAttribute(“name“,“cdd“); application.setAttribute(“count“,intcount);就是向表中插入一条记录。 在从
17、 application 中取出数据时,例如: application.getAttribute(“count“);就是根据key 字段下的值获得 value 字段下的值。 思路:首先在 test.jsp 中 test1.jsp 中的核心代码: application 对象实现网页计数器 % out.println(“设置数值 “); /页面显示信息 Integer intcount ; /定义用于网页计数变量 /判断 application 中是否有 key 值为 count 的记录 if(application.getAttribute(“count“)=null) /如果没有,初始化网页计数的值为 1 intcount = 1; else /如果存在,就获取其中的 key 值为 count 所对应的 value 下的值 /从 application 中取出的 value 值是 Object 类型,要强转为 Integer 类型,再赋值给intcount intcount =(Integer)application.getAttribute(“count“); /把名称及计数信息放入 application 中 application.setAttribute(“name“,“cdd“);