一、选择题
1、计算输出结果
public static void main(String[] args) {
int a = 0;
while (a < 5) {
switch(a){
case 0:
case 3 : a = a + 2;
case 1 :
case 2 : a = a + 3;
default : a = a + 5;
}
}
System.out.println(a);
}
1、算法
-
算法的设计要求包括:效率+低存储量
-
时间复杂度:执行算法所需要的计算工作量 / 算法执行过程中所需要基本执行次数
-
空间复杂度:执行算法所需要的内存空间
2、数据结构
-
如果一个数据结构不是线性结构 则称之为非线性结构
1、栈
-
栈的存储空间为S(1:m),初始状态为top=m+1
设栈的存储空间为S(1:50),初始状态为top=51.现经过一系列的正常的入栈与退栈操作后,top=50,则栈占中的元素个数为(1) 解析:栈的存储空间为S(1:50),初始状态为top=51,即栈的初始状态为空。当第一个元素进栈后,top=50,第二个元素进栈后,top=49,以此类推;若第三个元素出栈后,top=49,第二个元素出栈后,top=50.即每进栈一个元素,top-1;每出栈一个元素,top=1.当top=50时,战中只有一个元素。
1)顺序栈 链式栈
2、二叉树
-
前序 根-左-右 中序 左-根-右
-
度
-
求叶子节点: 度数为2的节点个数+1
3、链表
-
线性链表的存储单元是任意的 循环链表采用链式存储结构,因此存储空间可以是不连续的
3、Java基本知识
1、修饰符
-
static修饰的方法为静态方法 不需要类的实例化就可以被类直接调用
2、高内聚 低耦合
-
减弱模块间的耦合性 提高模块内的内聚性 有利于提高模块独立性
3、switch case
2、循环
1) continue
2)阶乘
3、符号
-
当“+”两边有一边是字符串类型 做拼接操作时 会自动转为字符串类型
2)判断操作数个数:即判断涉及几个对象
4、流
1)字节流+字符流
InputStream,OutputStream,Reader,Writer
1、InputStreamReader(InputStream in)
4、awt 和 swing
-
awt图形界面
-
applet 小程序
1)java.awt :实现用户界面功能
2)java. applet :设计小应用程序的类
5、Applet
1)安全限制
5、布局管理器
FlowLayout是 Applet、Panel、JPanel的默认布局管理器:
1)边界布局管理器
BorderLayout是 Frame、Dialog的默认布局管理器 (边界布局管理器)东南西北
2)网格式布局管理器
*GridLayout
3)卡片布局管理器
CardLayout
5、软件测试
1、软件工程
-
软件按照功能分为:应用软件、系统软件、支撑软件(工具软件)
-
应用软件是为解决特定领域的应用而开发的软件。如:数据库管理系统、财务管理系统
-
系统软件是 计算机管理自身资源 提高计算机使用效率为计算机用户提供各种服务的软件
-
支撑软件是介于系统软件和应用之间,协助用户开发软件的工具性软件,包括辅助和支持开发和维护应用软件的工具软件,如需求分析工具软件,设计工具软件等
二、操作题
1、JOptionPane类
1、JOptionPane类的常用静态方法如下:
-
showConfirmDialog() 显示确认对话框
-
showInputDialog() 显示输入文本对话框
-
showMessageDialog() 显示信息对话框
-
showOptionDialog() 显示选择性的对话框
2、提示框用showMessageDialog即可展现在Pane1中,所以第二空填写"showMessageDia1og"。
2、Applet 常用方法:
-
drawString
//*********Found********
import java.applet.*;
import java.awt.Graphics;
//*********Found********
public class Java_1 extends Applet{
public void paint( Graphics g )
{
//*********Found********
g.drawString( "欢迎你来参加Java 语言考试!", 25, 25 );
}
}
applet是和html或者是jsp一起使用的,不能单独运行(当然你可以使用appletviewer命令或者是ide去运行)
-
在HTML文档中,可通过Applet标签指定Java小程序
在Applet标签中,code用来指定Java小程序文件;codebase用来指定Java小程序存放的路径。
-
在HTML文档中,可通过param标签向Java小程序传递参数。
在param标签中,name属性用来指定Java小程序的参数名,value用来指定参数值。
1)Applet显示相关的3个方法:
3、JApplet
1)Applet 需要和html一同使用 :小程序查看器
-
类继承JApplet
2) init()方法 继承JApplet 重写init()方法
3 、Graphics
-
Graphics类提供了画线和圆这样的简单几何类型的方法,另外也提供了显示文本的方法
-
Graphics类是一个抽象的基类,它不能直接被实例化
-
Graphics类提供了三个在部件和图象中绘制文本的方法
-
void drawString(String str, int x, int y) //包含将要被显示文本字符串实例以及两个指定文本开始坐标的整型值作为参数
1、Graphics的drawString方法
-
用来"输出"字符串,故第四空"g2.(message,(int)x,(int)(baseY));"应填" drawString"
for (int i = 1; i<=5; i++) {
data = in.readLine();
//*********Found**********
x = Integer.parse(data);
if ( max < x )
//*********Found**********
max = x;
}
4、JFrame
-
例如本题中出现JFrame类,就必须包含javax. swing.*;
-
JFrame 穿件完成后 需要设置为可见才能显示出来,因此空格填入setVisible(true)
5、ActionListener
-
addActionListener() 方法 参数为ActionListener对象
dispose() 释放资源
1、FontFrame 子类
2、ContentPane
-
向JFrame添加组件时,必须先取得ContentPane,然后再使用add(方法把组件加入到ContentPane中;
class MulticastFrame extends JFrame{
public MulticastFrame(){
setTitle("MulticastTest");
setSize(WIDTH, HEIGHT);
MulticastPanel panel = new MulticastPanel();
Container contentPane = getContentPane();
//*********Found**********
contentPane.add(panel);
}
public static final int WIDTH = 300;
public static final int HEIGHT = 200;
}
1)Container对象 需要调用getContentPane() 方法进行初始化
-
本题中的第三个空格:JFrame不能直接添加组件,需先将组件添加到ContentPane中,然后使用add方法将组件显示到JFrame面板
-
JFrame提供了两个方法getContentPane和setContentPane就是用于获取和设置其contentPane的。此处填写getContentPane;
3、根据对象类型 判断方法
4、线程与进程 多线程的目的:提高效率
-
一个线程一个栈
-
java程序至少两个线程: 垃圾回收线程+main方法的主线程
-
extends Thread 或者 implements Runnable
5、异或
-
相同为0 不同为1
-
直接同位进行比较:
-
a=a^b ; -------- 01=10^11
-
b=a^b; -------- 10=01^11
6、线程
1、线程 对象锁
对象锁在如下几种情况下由持有线程返还:
(1)当synchronized(语句快执行完后。 (2)当在synchronizedO语句块中出现例外(exception)。 (3)当持有锁的线程调用该对象的wait()方法。此时该线程将释放对象的锁,而被放入对象的wait poo1中,等待某事件的发生。 而suspend()方法只是基本线程控制方法,在一个线程中调用t.suspend(O),将使t暂停执行,要想恢复线程,必须由其他线程调用t. resume()恢复t的执行。
3、start()
-
创建完线程对象后 就需要调用start()方法启动线程
2、run()方法
-
创建线程的两种方式,继承Thread类和实现Runnable接口
**无论哪种方式创建,最终都需要重写run()方法,并将线程任务封装进方法体内
7、符号
-
Java对"+"进行了扩展,不仅可以连接字符串,而且还能将字符串与其它类型数据进行连接,结果是字符串。
-
因为“==“两边的类型不匹配,无法比较,所以此表达式是错误的。
8、进制
整型常量分3种书写格式: ( 1)十进制整数,如189,-360。 (2)八进制整数,以0开头,如012表示十进制的10。 (3)十六进制整数,以0x或ox开头,如0x123表示十进制数291。
三、操作题
1、super() 别忘了传参
2)串行化