Java语言程序设计(一)试题
Java实行语言定义阶段、字节码检查阶段、程序执行阶段
三级代码安全机制。
1、有关线程的操作方法:
start():启动
线程对象,让线程从新建状态转为就绪状态
。
run():用来定义线程对象被调用之后所执行的操作,用户必须重写run()。
isAlive():测试当前线程是否在活动。
sleep(int millsecond):使线程休眠
一段时间,单位为ms。
void wait():使当前线程处于等待
状态。
yield():强制终止
线程的执行。
join():将引起现行线程等待,直到join()方法所调用的线程结束。
interrupt()方法中断
线程。
实现“对象互斥锁”的方法:
用关键字volatile
来声明一个共享数据。
用关键字synchronized
来声明操作共享数据的一个方法或一段代码。
2、String类用来处理不变字符串,StringBuffer类用来处理可变字符串。
stringBuffer s = “It is String”; //错误
String类和StringBuffer类共有方法如下:
length()
charAt(int index):返回字符串中index位置的字符。
subString(int beginIndex):截取当前字符串中从beginIndex开始到末尾的字串。
String类方法如下:
replace(char oldChar,char newChar):将当前字符串中出现的所有oldChar转换为newChar。
toLowerCase():转换为小写形式。
toUpperCae():转换为大写形式。
concat(String str):将str连接在当前字符串的尾部。
startsWith(String prefix):测试prefix是否是当前字符串的前缀。
trim():去掉前面及后面的空白。
valueOf(type prefix):将type类型的参数vlaue转换为字符串形式。
StringBuffer类方法如下:
append(String str):将str连接在当前字符串的尾部。
replace(int start,int end,String str):使用给定的str替换start到end之间的字串。
capacity():返回当前容量。
3、将C盘下Java文件夹下的1.data文件的名称、内容、文件大小都在屏幕上输出。
public class FileTest{
public static void main(String args[]){
try{
File f new File("C:\\Java\\1.data");
String fileName = f.getName();
System.out.println("文件名:" + fileName);
FileInputStream fis = new FileInputStream(f);
InputStreamReader isr = new InputStreamReader(fis);
//定义缓冲区读者 (*****考点*****)
BufferedReader br = new BufferedReader(isr);
String s;
//逐行读取内容,不为空则显示 (*****考点*****)
System.out.println("文件内容:");
While((s = br.readLine()) != null){
System.out.println(s);
}
isr.close();
long length = f.length();
System.out.println("文件长度:" + length);
}catch(){
System.out.println("程序运行过程中出现异常!");
}
}
}
4、程序将类SerializableClass的一个对象序列化保存到文件中,再从文件中把数据读取出来保存在另一个SerializableClass的对象中。
import java.io.FileInputStream;
import java.io.FileOutputSream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;
public class SerizalizableClass implements Serizalizable{ (*****考点*****)
public int id;
public String name;
SerializableClass(){
}
SerializableClass(){
this.id = id;
this.name = name;
}
public static void main(){
SerializableClass s = new SerializableClass(1,"第一个序列化的对象");
SerializableClass r = new SerializableClass();
try{
FileOutputStream fos = new FileOutputStream("c:\\s.ser");
//创建对象输出流 (*****考点*****)
ObjectOutputStream oos = new ObjectOutputStream(fos);
oos.writeObject(s); (*****考点*****)
oos.close();
FileInputStream fis = new FileInputStream("c:\\s.ser");
ObjectInputStream ois = new ObjectInputStream(fis);
r = (SerializableClass)ois.readObject(); (*****考点*****)
ois.close();
}catch(Exception e){
System.out.println("程序运行中出现异常!");
}
}
}
5、菜单图形化题
import java.awt.*;
import java.swing.*;
public class MenuDemo{
public static void main(String args[]){
//创建容器
JFrame frame = new JFrame("Menu Demo");
//创建一个按钮
JButton button = new JButton();
//第一种方案
frame.getContentPane().add(button,BorderLayout.CENTER);
//第二种方案
//创建一个内容窗格
JPanel contentPane = new JPanel();
//为JPanel设置BorderLayout布局管理器
contentPane.setLayout(new BorderLayout());
//将Button放到JPanel的中央
cotentPane.add(button,BorderLayout.CENTER);
//为JFrame设置新的内容窗格
frame.setContentPane(contentPane);
//创建菜单栏
JMenuBar menubar = new JMenuBar();
frame.setJMenuBar(menubar);
//创建File菜单
JMenu menu = new JMenu("File");
//创建File菜单中的菜单项
JMenuItem m1 = new JMenuItem("Save");
JMenuItem m2 = new JMenuItem("Open...");
JMenuItem m3 = new JMenuItem("Close");
JMenuItem m4 = new JMenuItem("Exit");
//设置快捷键
m2.setMnemonic(KeyEvent.VK_O);
menu.add(m1);
menu.add(m2);
menu.add(m3);
//加入分隔线
menu.addSeparator(); //menu.add(new JSeparator());
menu.add(m4);
menubar.add(menu);
frame.setSize(300,200); (*****考点*****)
//调整框架大小
frame.pack();
//设置框架可见或不可见
frame.setVisible(true); (*****考点*****)
//退出时关闭窗口
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); (*****考点*****)
}
}
6、线程题
格式:synchronized void 方法名(参数列表)
public class MyThread extends Thread{
public void run(){ //线程体
for(int i=0;i<3;i++){
try{
sleep(1000);
System.out.println("我休息了一会!");
}catch(InterruptedException e){
System.out.println("我在休息中被中断了");
}
}
}
}
public class ThreadTest{
static MyThread mt;
public static void main(String args[]){
mt = new MyThread(); //创建线程
mt.start();
}
}
7、文本框图形化题
import java.awt.*;
import java.swing.*;
public class TextDemo extends JFrame implements ActionListener{
JTextField tf1,tf2;
JButton b1,b2;
TextDemo(){
tf1 = new JTextField(20);
tf2 = new JTextField(20);
b1 = new JButton("复制");
b2 = new JButton("清除");
b1.addActionListener(this);
b2.addActionListener(this);
this.getContentPane().setLayOut(new FlowLayOut());
add(tf1);
add(tf2);
add(b1);
add(b2);
pack();
setVisible(true);
}
public void actionPerformed(ActionEvent e){
if(e.getSource() == b1){
tf1.setText(tf2.getText());
}else{
tf1.setText("");
tf2.setText("");
}
}
public static void main(String args[]){
TextDemo td = new TextDemo();
}
}