J2SE_base_第2章作业
JAVA实验指导书 作业
第Ⅰ部分:实验指导实验1:Java开发环境J2SE一、实验目的(1)学习从网络上下载并安装J2SE开发工具。
(2)学习编写简单的Java Application程序.(3)了解Java源代码、字节码文件,掌握Java程序的编辑、编译和运行过程。
二、实验任务从网络上下载或从CD-ROM直接安装J2SE开发工具,编写简单的Java Application程序,编译并运行这个程序。
三、实验内容1.安装J2SE开发工具Sun公司为所有的java程序员提供了一套免费的java开发和运行环境,取名为Java 2 SDK,可以从上进行下载。
安装的时候可以选择安装到任意的硬盘驱动器上,例如安装到C:\j2sdk1.4.1_03目录下。
教师通过大屏幕演示J2SE的安装过程,以及在Windows98/2000/2003下环境变量的设置方法。
2.安装J2SE源代码编辑工具Edit Plus教师通过大屏幕演示Edit Plus的安装过程,以及在Windows98/2000/2003操作系统环境下编辑Java原程序的常用命令的用法。
3.编写并编译、运行一个Java Application程序。
创建一个名为HelloWorldApp的java Application程序,在屏幕上简单的显示一句话"老师,你好!"。
4.编译并运行下面的Java Application程序,写出运行结果。
1:public class MyClass {2:private int day;3:private int month;4:private int year;5:public MyClass() {6:day = 1;7:month = 1;8:year = 1900;9:}10:public MyClass(int d,int m,int y) {11:day = d;12:month = m;13:year = y;14:}15:public void display(){16:System.out.println(day + "-" + month + "-" + year);17:}18:public static void main(String args[ ]) {19:MyClass m1 = new MyClass();20:MyClass m2 = new MyClass(25,12,2001);21:m1.display();22:m2.display();23:}24:}实验2:Java简单程序设计一、实验目的(1)掌握Java语言转义字符的功能。
JAVA(J2SEJ2EE)学习笔记090911
JAVA(J2SE/J2EE)JAVA(J2SE/J2EE)学习笔记学习笔记/kv2004Java Paradise 群号:81556987,欢迎传播!JA V A(J2SE)基础一、JAVA 语法基础标识符-date:0908111.什么叫标识符?就是一个名字2.在JAVA 中,遇见的标识符有类名、方法名和变量名。
3.标识符的命名规则:i.标识符有字母、数字、下划线(_)以及美元($)符号组成。
ii.标识符不能以数字开头iii.不能和JAV A 中的关键字或者保留字重名4.标识符的命名规范:i.最好不要一下划线(_)或者美元($)符号开头ii.如果有多个单词组成,那么每个字符的首字符都大写。
例如:class Student{}class HelloWorld{}iii.如果标识符是方法名或者变量名:首字母应该小写;如果有多个单词组成,那么从第二个单词开始,首字母大写。
例如:String name;//用户名int stuAge;//学生的年龄iv.标识符最好有一定的意义。
int 整数=1;v.如果是常量名,那么全部字母都大写。
final double PI=3.1415926;关键字-date:0908111.什么叫关键字?具有特殊意义的一些单词。
2.举例说出几个关键字byte short int long float double char booleanpublic private protectedvoidreturntrue falsestatic final abstractif elseswitch caseforwhiledotry catchcontinuebreak数据类型的转换-date:0908111.基本数据类型可以相互转换(除boolean)2.可以将低精度的数据类型直接赋值给高精度的数据类型int i=1;short s=1;i=s;//可以自动进行转换3.当把高精度的数据类型赋值给低精度的数据类型时,必须强制类型转换。
javaSE作业
javaSE作业JavaSE测试题⼀、选择题(不定项)1.在JAVA中,下列哪些说法是正确的( A C )A.java源⽂件的扩展名为.javaB.写好的java源程序可以直接运⾏C.编写的源程序必须先编译后才能运⾏D.程序员可以读懂扩展名为.class的⽂件2.下列标识符哪个是合法的( BD )A.classB.$abcC.1234D._name3.下⾯哪些赋值语句是正确的?( ab d)A. long test = 012;B. float f = -412;C. int other = (int) true;D. double d = 0x12345678;E. byte b = 128; -128~1274.在Java中,下列语句不能通过编译的有(b )A. String s= “join”+ 3;B. int a= “join”+3;C. int a= ‘a’+5;D. float f=5+5.5;5.设a = 3,则表达式(--a )< < a的结果为( b )A. 16B. 8C. 24D. 126.下列代码运⾏的结果是(c )public static void main(String[] args) {int x = 4;int y = 5;if(x++>4 & ++y>5) {x++;}System.out.println("x=" + x + ",y=" + y); }A. x=4,y=5B. x=4,y=6C. x=5,y=6D. x=6,y=67.尝试运⾏下⾯的代码会发⽣什么?( b ) public class Test {public static void main(String[] args) { boolean m = true;if (m = false) {System.out.println("true");} else {System.out.println("false");}}}A.输出字符串”true”B.输出字符串”false”C.编译时错误D.运⾏时错误8.编译并运⾏以下代码将发⽣什么? ( e) public static void main(String args[]){ char digit = 'a';for (int i = 0; i < 10; i++){switch (digit){case 'x' :{int j = 0;System.out.println(j);}default :{int j = 100;System.out.println(j);}}}int i = j;System.out.println(i);}A.输出11次100B.输出10次100,然后抛出运⾏期异常C.编译错误,因为变量i不能在main()⽅法中被声明2次D.编译错误,因为变量j不能在main()⽅法中被声明2次E.以上都不对9. class Demo{public static int fun(int c){return c+=2;}public static void main(String[] args){int temp = fun(2);System.out.println(temp);}}打印结果是(b )A. 2B. 4C. 6D. 810.下⾯哪些函数是public void aMethod(){...}的重载函数?(bd )A. void aMethod( ){...}B. public int aMethod(int a, float b){...}C. public void aMethod (){...}D. public float aMethod (int m){…}11.在java中,关于数组描述正确的是( b d )A.数组中的索引下标从1开始B.存储在数组当中的数据都属于同⼀数据类型C.通过数组名.length()能获得数组的长度D.数组的最⼤索引下标是数组的长度减112.下⾯程序的输出结果是什么( d )int[] arr = new int[10];System.out.println(arr[0]);A.编译不通过B.运⾏时出错C.输出nullD.输出013.下⾯哪个语句正确地声明⼀个整型的⼆维数组( c d )A. int a[][] = new int[][];B. int b[10][10] = new int[][];C. int c[][] = new int[10][10];D. int []d[] = new int[10][10];14.以下代码输出是( d )class Demo {public static void main(String[] args) {int i = 0;int sum = 0;while (i <= 10) {i++;if (i % 2 != 0)continue;sum += i;}System.out.println(sum);}}A. 55B. 45C. 35D. 3015.和下⾯代码能完成相同的选项是( b )class Demo {public static void main(String[] args) {int i = 1;int sum = 0;while (i <= 100) {if (i % 2 == 0) {sum = sum + i;}i++;}System.out.println(sum);}}A. for (int x =1; x<=100;x++){ sum=sum+x;}B. for (int x =0; x<=100;x+=2){ sum=sum+x;}C. for (int x =1; x<=100;x+=2){ sum=sum+x;}D.上述全对16.下列有关类、对象和实例的叙述,正确的是哪⼀项?( d )A.类就是对象,对象就是类,实例是对象的另⼀个名称,三者没有差别B.对象是类的抽象,类是对象的具体化,实例是对象的另⼀个名称C.类是对象的抽象,对象是类的具体化,实例是类的另⼀个名称D.类是对象的抽象,对象是类的具体化,实例是对象的另⼀个名称17.下⾯关于java中包的说法正确的是( a,d c )A.在java中可以使⽤import语句导⼊包B.在java中可以使⽤package语句导⼊包C.位于同⼀个包中的类,不需要导包就可以直接访问D.不同的包中可以出现类名相同的类18.下列有关抽象类的叙述正确的是哪项? (c)A.抽象类中⼀定含有抽象⽅法B.抽象类既能被实例化也能被继承C.抽象类的声明必须包含abstract关键字D.抽象类中不能有构造⽅法19.下列有关接⼝的叙述错误的是哪项?( a d )A.接⼝中只能包含抽象⽅法和常量B.⼀个类可以实现多个接⼝C.类实现接⼝时必须实现其中的⽅法D.接⼝不能被继承20.运⾏以下代码⽚段,输出结果是?( d )class X {Y b = new Y();X() {System.out.print("X");}}class Y {Y() {System.out.print("Y");}}public class Z extends X {Y y = new Y();Z() {System.out.print("Z");}public static void main(String[] args) {new Z();}}//静态(初始化⼀次)动态(创建⼀次执⾏⼀次)构造A. ZB. YZC. XYZD. YXYZ21.下列关于类的继承的描述,正确的有( b d )A.⼀个类可以同时继承多个⽗类B.⼀个类可以具有多个⼦类C.⼦类会⾃动拥有⽗类所有的⽅法D.⼀个类继承另⼀个类需要使⽤extends关键字22.下列选项中关于java中this关键字的说法错误的有( ab d )A.this关键字是⼀个对象的引⽤ //本类B.this关键字可以⽤于引⽤当前类以外其他类型的对象C.this可⽤于构造函数中,调⽤类本⾝重载的构造函数,但是必须写在⾸⾏D.this可⽤于静态⽅法中//this属于对对象的调⽤,静态⽅法属于类23.下列关于构造函数的说法正确的是( a b d )A.⽅法名必须与类名相同B.使⽤new关键字创建对象时,java虚拟机会⾃动调⽤构造函数C.我们在定义⼀个类时,必须要声明⾄少⼀个构造函数D.构造函数中不能使⽤return语句24.编译并运⾏以下代码将发⽣什么?( d )class MyClass {int x;MyClass(int i) {x = i;}public static void main(String args[]) {MyClass m1 = new MyClass(100);MyClass m2 = new MyClass(100);if (m1.equals(m2)) {System.out.println("Both are equal");} else {System.out.println("Both are not equal");}}}A.代码编译时报出错误提⽰信息“equals()⽅法未定义”B.编译通过,抛出运⾏期异常.C.输出Both are equal.D.输出Both are not equal25.运⾏以下的main()⽅法,结果是?( a c )1 public static void main(String[] args)2 {3 String myString;4 int x = 100;56 if (x < 100) myString = "x is less than 100";7 if (x > 100) myString = "x is greater than 100";8 System.out.println(myString.length());9 }A.编译时报出错误提⽰信息“变量myString没有被初始化”B.编译通过C.编译未能通过。
j2se知识点
J2se基本语法学习1、final关键字的意义是变量的值不可以改变,相当于c++中的const关键字。
2、变量对应内存中的一小块区域,从用户接收变量的值放入小区域中,使用时直接运用,但是不同的数据类型声明不同的长度。
3、程序执行过程中的内存分为四个部分:heap(堆空间),stack(栈),datasegment(数据区)Codesegment(代码区),new出来的东西都在heap中,stack存放局部变量。
4、Java变量分为局部变量和成员变量。
局部变量是方法内部定义的变量,类里面,方法外面声明的变量叫成员变量。
5、方法的作用域在哪里,局部变量的作用范围就是多大,在方法定义的大括号外面局部变量不被识别。
6、定义浮点数float f=1.234f,如果不加 f就会出错。
7、容量小的数据类型转换成数据类型大的类型,如int 和long类型运算直接转换成long类型。
8、在程序设计中格式比算法重要!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!9、程序格式基本要求:大括号对齐、10、方法返回值暂时存放在栈空间里面,后来被销毁。
字符串常量分配在datasegment中;11、静态变量存放在datasegment 中,用类名加点来访问:如System.out.println();所以out是静态变量。
12、方法是针对某一个对象类调用,静态的方法可以不用针对某个对象调用,所以在static main中不能访问非静态的变量。
静态方法访问非静态变量必须通过对象的形式来访问。
13、Java包机制:必须写在第一句!!!!!!!!!!!!!!!!!!!14、java中的子类中的方法不能有比父类更为严格的访问权限。
15、Java中new出来的对象有一个this指针,指向对象本身,如果这个类是从其他类继承过来的子类,那么对象中还有一个super指针,指向这个对象本身的父类。
16、Java中子类的构造过程必须首先调用父类的构造方法。
JavaSE笔记2
从此文件读取文本的下一行。
seek(long pos)
设置到此文件开头测量到的文件指针偏移量,在该位置发生下一个读取或写入操作。
getFilePointer()
返回此文件中的当前偏移量。
============================================================================================================
测试此抽象路径名表示的文件是否是一个目录。
isFile()
测试此抽象路径名表示的文件是否是一个标准文件。
listFiles()
返回一个抽象路径名数组,这些路径名表示此抽象路径名表示的目录中的文件。
listFiles(FileFilter filter)
返回此抽象路径名的绝对路径名字符串。
getCanonicalPath()
返回此抽象路径名的规范路径名字符串。
lastModified()
返回此抽象路径名表示的文件最后一次被修改的时间。
isDirectory()
谁知情谁处理,谁负责谁处理,谁导致谁处理。
Java中错误的顶级类:Throwable类
Throwable 有两个子类:Error 和Exception。
Error:一般是底层的不可恢复的错误。通常都是虚拟机级别的异常。程序(通过代码)无法解决。
Exception异常,程序级别异常,可以通过代码的形式捕获异常,并进行相应的处理。
mkdir()
创建此抽象路径名指定的目录。
mkdirs()
创建此抽象路径名指定的目录,包括所有必需但不存在的父目录。
《java2实用教程》(第四版)课后答案 第九章-第十三章
Java作业4(第九章---第十三章)第九章3.1.1程序代码import java.awt.*;import javax.swing.event.*;import javax.swing.*;import java.awt.event.*;public class kehou31 {public static void main(String args[]) {Computer fr=new Computer();}}class Computer extends JFrame implements DocumentListener { JTextArea text1,text2;int count=1;double sum=0,aver=0;Computer() {setLayout(new FlowLayout());text1=new JTextArea(6,20);text2=new JTextArea(6,20);add(new JScrollPane(text1));add(new JScrollPane(text2));text2.setEditable(false);(text1.getDocument()).addDocumentListener(this);setSize(300,320);setVisible(true);validate();setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);}public void changedUpdate(DocumentEvent e) {String s=text1.getText();String []a =s.split("[^0123456789.]+");sum=0;aver=0;for(int i=0;i<a.length;i++) {try { sum=sum+Double.parseDouble(a[i]);}catch(Exception ee) {}}count=a.length;aver=sum/count;text2.setText(null);text2.append("\n和:"+sum);text2.append("\n平均值:"+aver);}public void removeUpdate(DocumentEvent e){changedUpdate(e); }public void insertUpdate(DocumentEvent e){changedUpdate(e);}}3.1.2 运行界面3.2.1程序代码import java.awt.*;import javax.swing.event.*;import javax.swing.*;import java.awt.event.*;public class kehou932 {public static void main(String args[]) {ComputerFrame fr=new ComputerFrame();fr.setBounds(100,100,650,120);fr.setTitle("多功能计算器");fr.setBackground(Color.blue);}}class ComputerFrame extends JFrame implements ActionListener {JTextField text1,text2,text3;JButton buttonAdd,buttonSub,buttonMul,buttonDiv;JLabel label;public ComputerFrame() {setLayout(new FlowLayout());text1=new JTextField(10);text2=new JTextField(10);text3=new JTextField(10);label=new JLabel(" ",JLabel.CENTER);label.setBackground(Color.green);add(text1);add(label);add(text2);add(text3);buttonAdd=new JButton("加");buttonSub=new JButton("减");buttonMul=new JButton("乘");buttonDiv=new JButton("除");add(buttonAdd);add(buttonSub);add(buttonMul);add(buttonDiv);buttonAdd.addActionListener(this);buttonSub.addActionListener(this);buttonMul.addActionListener(this);buttonDiv.addActionListener(this);setSize(300,320);setVisible(true);validate();setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); }public void actionPerformed(ActionEvent e) {double n;if(e.getSource()==buttonAdd) {double n1,n2;try{ n1=Double.parseDouble(text1.getText()); n2=Double.parseDouble(text2.getText()); n=n1+n2;text3.setText(String.valueOf(n));label.setText("+");}catch(NumberFormatException ee){ text3.setText("请输入数字字符");}}else if(e.getSource()==buttonSub) {double n1,n2;try{ n1=Double.parseDouble(text1.getText()); n2=Double.parseDouble(text2.getText()); n=n1-n2;text3.setText(String.valueOf(n));label.setText("-");}catch(NumberFormatException ee){ text3.setText("请输入数字字符");}}else if(e.getSource()==buttonMul){double n1,n2;try{ n1=Double.parseDouble(text1.getText()); n2=Double.parseDouble(text2.getText()); n=n1*n2;text3.setText(String.valueOf(n));label.setText("*");}catch(NumberFormatException ee){ text3.setText("请输入数字字符");}}else if(e.getSource()==buttonDiv){double n1,n2;try{ n1=Double.parseDouble(text1.getText()); n2=Double.parseDouble(text2.getText()); n=n1/n2;text3.setText(String.valueOf(n));label.setText("/");}catch(NumberFormatException ee){ text3.setText("请输入数字字符");}}validate();}}3.2.2运行界面3.3.1 程序代码import java.awt.*;import java.awt.event.*;import javax.swing.*;public class kehou933 {public static void main(String args[]){Window win = new Window();win.setTitle("使用MVC结构");win.setBounds(100,100,420,260);}}class Window extends JFrame implements ActionListener { Lader lader; //模型JTextField textAbove,textBottom,textHeight; //视图 JTextArea showArea; //视图JButton controlButton; //控制器Window() {init();setVisible(true);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}void init() {lader = new Lader();textAbove = new JTextField(5);textBottom = new JTextField(5);textHeight = new JTextField(5);showArea = new JTextArea();controlButton=new JButton("计算面积");JPanel pNorth=new JPanel();pNorth.add(new JLabel("上底:"));pNorth.add(textAbove);pNorth.add(new JLabel("下底:"));pNorth.add(textBottom);pNorth.add(new JLabel("高:"));pNorth.add(textHeight);pNorth.add(controlButton);controlButton.addActionListener(this);add(pNorth,BorderLayout.NORTH);add(new JScrollPane(showArea),BorderLayout.CENTER);}public void actionPerformed(ActionEvent e) {try{double above = Double.parseDouble(textAbove.getText().trim());double bottom = Double.parseDouble(textBottom.getText().trim());double height = Double.parseDouble(textHeight.getText().trim());lader.setAbove(above) ;lader.setBottom(bottom);lader.setHeight(height);double area = lader.getArea();showArea.append(" 梯形的面积:"+area+"\n");}catch(Exception ex) {showArea.append("\n"+ex+"\n");}}}class Lader {double above,bottom,height;public double getArea() {double area = (above+bottom)*height/2.0;return area;}public void setAbove(double a) {above = a;}public void setBottom(double b) {bottom = b;}public void setHeight(double c) {height = c; }}3.3.2运行界面第十章4.1.1程序代码import java.io.*;public class E {public static void main(String args[]) {File f=new File("E.java");;try{ RandomAccessFile random=new RandomAccessFile(f,"rw");random.seek(0);long m=random.length();while(m>=0) {m=m-1;random.seek(m);int c=random.readByte();if(c<=255&&c>=0)System.out.print((char)c);else {m=m-1;random.seek(m);byte cc[]=new byte[2];random.readFully(cc);System.out.print(new String(cc));} }}catch(Exception exp){} }}4.1.2运行界面4.2.1程序代码import java.io.*;public class E {public static void main(String args[ ]) {File file=new File("E.java");File tempFile=new File("temp.txt");try{ FileReader inOne=new FileReader(file);BufferedReader inTwo= new BufferedReader(inOne);FileWriter tofile=new FileWriter(tempFile);BufferedWriter out= new BufferedWriter(tofile);String s=null;int i=0;s=inTwo.readLine();while(s!=null) {i++;out.write(i+" "+s);out.newLine();s=inTwo.readLine();}inOne.close();inTwo.close();out.flush();out.close();tofile.close();}catch(IOException e){}}}4.3.1程序代码import java.io.*;import java.util.*;public class kehou1043 {public static void main(String args[]) {File file = new File("a.txt");Scanner sc = null;double sum=0;int count = 0;try { sc = new Scanner(file);eDelimiter("[^0123456789.]+");while(sc.hasNext()){try{ double price = sc.nextDouble(); count++;sum = sum+price;System.out.println(price);}catch(InputMismatchException exp){String t = sc.next();}}System.out.println("平均价格:"+sum/count); }catch(Exception exp){System.out.println(exp);}}}4.3.2运行界面第十一章2.1.1程序代码import java.sql.*;import java.util.*;public class kehou1121 {public static void main(String args[]) {Query query=new Query();String dataSource="myData";String tableName="goods";Scanner read=new Scanner(System.in);System.out.print("输入数据源名:");dataSource = read.nextLine();System.out.print("输入表名:");tableName = read.nextLine();query.setDatasourceName(dataSource);query.setTableName(tableName);query.setSQL("SELECT * FROM "+tableName);query.inputQueryResult();}}class Query {String datasourceName=""; //数据源名String tableName=""; //表名String SQL; //SQL语句public Query() {try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); }catch(ClassNotFoundException e) {System.out.print(e);}}public void setDatasourceName(String s) {datasourceName = s.trim();}public void setTableName(String s) {tableName = s.trim();}public void setSQL(String SQL) {this.SQL = SQL.trim();}public void inputQueryResult() {Connection con;Statement sql;ResultSet rs;try {String uri = "jdbc:odbc:"+datasourceName;String id = "";String password = "";con = DriverManager.getConnection(uri,id,password);DatabaseMetaData metadata = con.getMetaData();ResultSet rs1 = metadata.getColumns(null,null,tableName,null);int字段个数 = 0;while(rs1.next()) {字段个数++;}sql = con.createStatement();//创建SQL语句rs = sql.executeQuery(SQL);//执行SQL语句while(rs.next()) {for(int k=1;k<=字段个数;k++) {System.out.print(" "+rs.getString(k)+" ");}System.out.println("");}con.close();}catch(SQLException e) {System.out.println("请输入正确的表名"+e);}}}2.1.2运行界面2.2.1程序代码import java.sql.*;import java.util.*;public class kehou1122 {public static void main(String args[]) {Q query = new Q();String dataSource = "myData";String tableName = "goods";query.setDatasourceName(dataSource);query.setTableName(tableName);String name = "";Scanner read=new Scanner(System.in);System.out.print("商品名:");name = read.nextLine();String str="'%["+name+"]%'";String SQL = "SELECT * FROM "+tableName+" WHERE name LIKE "+str; query.setSQL(SQL);System.out.println(tableName+"表中商品名是"+name+"的记录");query.inputQueryResult();}}class Q {String datasourceName=""; //数据源名String tableName=""; //表名String SQL; //SQL语句public Q() {try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundException e) {System.out.print(e);}}public void setDatasourceName(String s) {datasourceName = s.trim();}public void setTableName(String s) {tableName = s.trim();}public void setSQL(String SQL) {this.SQL = SQL.trim();}public void inputQueryResult() {Connection con;Statement sql;ResultSet rs;try {String uri = "jdbc:odbc:"+datasourceName;String id = "";String password = "";con = DriverManager.getConnection(uri,id,password);DatabaseMetaData metadata = con.getMetaData();ResultSet rs1 = metadata.getColumns(null,null,tableName,null);int字段个数 = 0;while(rs1.next()) {字段个数++;}sql = con.createStatement();rs = sql.executeQuery(SQL);while(rs.next()) {for(int k=1;k<=字段个数;k++) {System.out.print(" "+rs.getString(k)+" ");}System.out.println("");}con.close();}catch(SQLException e) {System.out.println("请输入正确的表名"+e);}}}2.2.2运行界面2.3.1程序代码import java.sql.*;import java.util.*;public class kehou1123 {public static void main(String args[]) {Q1 query = new Q1();String dataSource = "myData";String tableName = "goods";query.setDatasourceName(dataSource);query.setTableName(tableName);String SQL = "SELECT * FROM "+tableName+" ORDER BY madeTime";query.setSQL(SQL);System.out.println(tableName+"表记录按商品生产日期前后排序是: "); query.inputQueryResult();}}class Q1 {String datasourceName=""; //数据源名String tableName=""; //表名String SQL; //SQL语句public Q1() {try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundException e) {System.out.print(e);}}public void setDatasourceName(String s) {datasourceName = s.trim();}public void setTableName(String s) {tableName = s.trim();}public void setSQL(String SQL) {this.SQL = SQL.trim();}public void inputQueryResult() {Connection con;Statement sql;ResultSet rs;try {String uri = "jdbc:odbc:"+datasourceName;String id = "";String password = "";con = DriverManager.getConnection(uri,id,password);DatabaseMetaData metadata = con.getMetaData();ResultSet rs1 = metadata.getColumns(null,null,tableName,null);int字段个数 = 0;while(rs1.next()) {字段个数++;}sql = con.createStatement();rs = sql.executeQuery(SQL);while(rs.next()) {for(int k=1;k<=字段个数;k++) {System.out.print(" "+rs.getString(k)+" ");}System.out.println("");}con.close();}catch(SQLException e) {System.out.println("请输入正确的表名"+e);}}}2.3.2运行界面第十二章4.1.1程序代码public class kehou1241{public static void main(String args[]) {Cinema a=new Cinema();a.zhang.start();a.sun.start();a.zhao.start();}}class TicketSeller //负责卖票的类。
通过代码实例跟我学J2SE应用程序的单元测试实例(第2部分)
1.1通过代码实例跟我学J2SE应用程序的单元测试实例(第2部分)1.1.1在MyEclipse 中运行测试用例1、在项目中添加一个测试用例2、添加JUnit4的系统包3、设置测试用例类的信息将产生出下面的模板程序4、编程测试用例类package com.px1987.junit.test; import org.junit.*;import org.junit.Before;import org.junit.Test;import com.px1987.junit.Calculator; public class TestCalculator { Calculator oneCalculator=null;@Beforepublic void setUp() throws Exception {oneCalculator=new Calculator();}@Afterpublic void tearDown() throws Exception {oneCalculator=null;}@Testpublic void testAdd() {double onedigit=1.0;double twodigit=2.0;double returnResult=oneCalculator.add(onedigit, twodigit);Assert.assertEquals(returnResult, 3.0);}}其中@Test是 JUnit 4.X 所定义的注解,同时通过注解指定某些方法在测试方法执行前后进行调用,即是 @Before 和 @After 注解、并且标注 @Before 或 @After 注解的方法和测试方法运行在同一个事务中。
5、执行它8、测试套件(TestSuite)(1)测试套件的作用---Composite(组合)模式的应用●如何避免手工运行测试用例如果每次只能运行一个测试用例,那么又陷入了我们前面所谈到的传统测试的窘境:手工去运行一个个测试用例,测试套件专门为解决这一问题而来。
J2SE总结
5. 表达式
表达式的优先级(14级)
6.控制流语句
判断(条件)语句 :if if...else switch...case
循环语句:while do...while for
跳转语句:break continue
5.嵌套类(nested class):在类中声明的类,也叫内部类(inner class).
内部类可以访问创建它的外部类的属型和方法;不能为同一包中其他类所见,可以更高的封装。
内部类可以看做外部类的一个成员,和外部类的成员变量,成员方法并列存在。
内部类分为:局部内部类:在外部类的方法体内声明的内部类。
java.util
java.io
java.sql
java.swing
java.math
2 java.long(基础包)
主要的类:基类:Object
包装类:八种基本数据类型的包装(装箱,拆箱)
数学类:Math类
字符处理类:String,StringBuffer
第一章 JAVA的概述
1. JAVA的特点和优势:面向对象,健壮性,跨平台,并发性(多线程) /
java的虚拟机(JVM).垃圾回收机制(GC)
2. JAVA程序的开发三部曲
编写java源代码->编译java代码(.class文件 (javac xxx.java) )->执行程序(java xxx) / javadoc xxx.java
7.数组
声明: 数据类型[ ] 数组名 /数据类型 数组名[ ]
Java2实用教程(第三版)课后习题参考答案
Java2实用教程(第三版)课后习题参考答案第1章 Java入门1. 开发与运行Java程序需要经过哪些主要步骤和过程?答:(1)编写Java源文件:使用文本编辑器(Edit或记事本),拓展名为.java(2)编译Java源文件:使用Java编译器(javac.exe)。
得到字节码文件*.class(3)运行Java程序:Java应用程序使用Java解释器(java.exe)执行字节码文件;Java小应用程序使用支持Java标准的浏览器来执行。
2. 怎样区分应用程序和小应用程序?应用程序的主类或小应用程序的主类必须用public修饰吗?答:①应用程序必须有main方法,这个方法是程序执行的入口。
小应用程序没有main方法。
②应用程序的主类不一定用public修饰;小应用程序的主类必须用public修饰。
3. Java程序是由什么组成的?一个程序中必须要有public类吗?Java源文件的命名规则是怎样的?答:①Java程序由类组成。
②应用程序可以没有public类;小应用程序一定有一个类是public类(主类)。
③应用程序:如果只有一个类,源文件名与该类的类名相同,拓展名为.java;有多个类时,如果有public类(最多一个),源文件名与public类的类名相同,拓展名是.java;没有public类,源文件名与任何一个类的类名相同即可,拓展名为.java。
小应用程序:源文件名与主类的类名相同,拓展名是.java。
4. 在运行小程序的HTML文件中可以使用codebase属性指定小程序的字节码所驻留的目录。
如果不使用codebase属性,小程序的字节码文件必须和运行它的HTML文件在同一目录中。
编写一个小程序并将小程序的字节码存放在某个目录中,比如C:\5000;把运行该小程序的HTML文件(注意其中的codebase属性): <applet code=你的小程序的字节码 width=200 height=300 codebase=C:\5000></applet>存放在另一个目录中。
Java2实用教程第5版习题解答
Java2实⽤教程第5版习题解答习题解答习题1(第1章)⼀、问答题1.Java语⾔的主要贡献者就是谁?2.开发Java应⽤程序需要经过哪些主要步骤?3.Java源⽂件就是由什么组成的?⼀个源⽂件中必须要有public类不?4.如果JDK的安装⽬录为D:\jdk,应当怎样设置path与classpath的值?5.Java源⽂件的扩展名就是什么?Java字节码的扩展名就是什么?6.如果Java应⽤程序主类的名字就是Bird,编译之后,应当怎样运⾏该程序?7.有哪两种编程风格,在格式上各有怎样的特点?1.James Gosling2.需3个步骤:1)⽤⽂本编辑器编写源⽂件。
2)使⽤javac编译源⽂件,得到字节码⽂件。
3)使⽤解释器运⾏程序。
3.源⽂件由若⼲个类所构成。
对于应⽤程序,必须有⼀个类含有public static void main(String args[])的⽅法,含有该⽅法的类称为应⽤程序的主类。
不⼀定,但⾄多有⼀个public类。
4.set classpath=D:\jdk\jre\lib\rt、jar;、;5、java与class6、java Bird7、独⾏风格(⼤括号独占⾏)与⾏尾风格(左⼤扩号在上⼀⾏⾏尾,右⼤括号独占⾏)⼆、选择题1.B。
2.D。
1.下列哪个就是JDK提供的编译器?A) java、exeB) javac、exeC) javap、exeD) javaw、exe2.下列哪个就是Java应⽤程序主类中正确的main⽅法?A) public void main (String args[ ])B) static void main (String args[ ])C) public static void Main (String args[])D) public static void main (String args[ ])三、阅读程序阅读下列Java源⽂件,并回答问题。
J2se学习总结
6、接口不能实例化为一个对象,但实现了接口的类可以作为接口的实例。
7、在接口中声明方法时,不能使用native、static、final、synchronized、private、
protected等修饰符。
8、和public类一样,public接口也必须定义在与接口同名的文件中。
abstract的类派生出来,然后再实例化。一个静态的内部类,只能访问外部类中静态
的成员变量或者一个静态的成员方法。
12、静态的内部类可以有静态的成员函数或变量,非静态内部类中不能有静态的声明。
13、在方法中定义的内部类,如果要访问方法中定义的本地变量或者方法的参数,则变量必须被声明为final。
9、接口中可以有数据成员,这些成员默认都是public static final。
10、访问接口的数据成员的几种形式:
接口.接口数据成员名称
实现了接口的类的名称.接口数据成员名称
实现了接口的类的实例.接口数据成员名称
11、一个接口可以继承自另一个接口。
12、java中不允许类的多继承,但允许接口的多继承。
13、在java中,一个类可以实现多个接口。
14、一个类在继承另外一个类的同时,可以实现多个接口。
内部类
1、内部类:在一个类中定义另外一个类,这个类就叫做内部类或内置类(inner class)。
2、内部类可以让我们将逻辑上相关的一组类组织起来,并由外部类(outer class)来控制内部类的可见性。
11、对于一个类,访问权限可以是缺省的或者是public的。而对于一个内部类,还也可以声明为
protected 或者 private、abstract、final、static 。如果内部类声明为
02_J2SE高级技术面试题目及答案
delete from表名where条件
8
问题
查询语句的基本格式?
答案
select字段列表from表名where条件order by字段
9
问题
Sql语句中的连接符是?
Sql语句中并且关系条件关键字是?
Sql语句中或者关系条件关键字是?
相当于else if的多分支条件语句
14
问题
表示oracle中的系统函数的语句是?
to_date()函数的作用?
答案
sysdate
to_date(日期值或字段,格式字符串)
15
问题
说出至少四个聚合函数及作用
答案
count(field) //记录数
avg(field) //平均值
min(field) //最小值
答案
||
and
or
10
问题
有两张表A,表B都有字段sid,按sid字段内连接如何实现?
答案
SELECT *
FROMAINNERJOINBONA.SID =B.SID
或
SELECT*
FROMA,B
WHEREA.SID =B.SID
11
问题
有两张表A,表B都有字段sid,按sid字段实现左外连接?
答案
SELECT *
答案
CHAR:定长;
CHAR读取效果较高;当要存储的数据长度固定时,
如身份证号;
VARCHAR2:可变长度;
当要存储的数据长度不固定时,如姓名;
6
问题
字段非空限定,所用关键字?
答案
not null
J2SE面试笔试题大汇总
121、什么是web容器答:给处于其中的应用程序组件(JSP,SERVLET)提供一个环境,使JSP,SERVLET直接跟容器中的环境变量交互,不必关注其它系统问题。
主要有WEB服务器来实现。
例如:TOMCAT,WEBLOGIC,WEBSPHERE等。
该容器提供的接口严格遵守J2EE规范中的WEB APPLICATION 标准。
我们把遵守以上标准的WEB服务器就叫做J2EE中的WEB容器。
122、什么是EJB容器答:Enterprise java bean 容器。
更具有行业领域特色。
他提供给运行在其中的组件EJB各种管理功能。
只要满足J2EE规范的EJB放入该容器,马上就会被容器进行高效率的管理。
并且可以通过现成的接口来获得系统级别的服务。
例如邮件服务、事务管理123、什么是JNDI答:(Java Naming & Directory Interface)JAVA命名目录服务。
主要提供的功能是:提供一个目录系统,让其它各地的应用程序在其上面留下自己的索引,从而满足快速查找和定位分布式应用程序的功能。
124、什么是JMS答:(Java Message Service)JAVA消息服务。
主要实现各个应用程序之间的通讯。
包括点对点和广播。
125、什么是JTA答:(Java Transaction API)JAVA事务服务。
提供各种分布式事务服务。
应用程序只需调用其提供的接口即可。
126、什么是JAF答:(Java Action FrameWork)JAVA安全认证框架。
提供一些安全控制方面的框架。
让开发者通过各种部署和自定义实现自己的个性安全控制策略。
RMI/IIOP:(Remote Method Invocation /internet对象请求中介协议)他们主要用于通过远程调用服务。
例如,远程有一台计算机上运行一个程序,它提供股票分析服务,我们可以在本地计算机上实现对其直接调用。
当然这是要通过一定的规范才能在异构的系统之间进行通信。
基于j2se的学生信息管理系统【呕心沥血整理版】
齐齐哈尔大学综合实践(论文)题目基于j2se的学生信息管理系统学院通信与电子工程学院专业班级通信工程102班学生姓名邴笑然指导教师于泓博成绩2013年11 月24 日齐齐哈尔大学综合实践(论文)摘要随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。
管理信息系统是一个不断发展的新型学科,任何一个单位要生存要发展,要高效率地把内部活动有机地组织起来,就必须建立与自身特点相适应的管理信息系统。
本文介绍了在windows环境下开发一个管理信息系统的过程。
通过分析某一学校学生管理的不足,创建了一套行之有效的计算机管理学生的方案。
文章介绍了学生管理信息系统的系统分析部分,包括可行性分析、业务流程分析等;系统设计部分主要介绍了系统功能设计和数据库设计及代码设计;系统实现部分说明了几个主要模块的算法,本系统界面友好,操作简单,比较实用.关键词:信息管理系统;学生管理;流程分析;系统设计I齐齐哈尔大学综合实践(论文)AbstractAs information technology in management more and more in—depth and extensive application, the implementation of the management information system has gradually mature in technology。
Management information system is a continuous development of new disciplines,any one unit to survive to development,to efficiently organize the internal activity organically, we must set up corresponding to their own characteristics of management information system。
第2章 JSP页面与JSP标记
在图2-12所示的“Java虚拟机选择”界面中指定JVM 路径(本例为c:\j2sdk),然后选择【Install】继 续安装,进入如图2-13所示的“正在安装”界面, 开始执行安装,安装正常完成后,进入如图2-14所 示的“完成安装”界面。
JVM路径
图2-12 Java虚拟机选择界面
S J P
下一步
图2-7 欢迎界面
S J P
• 安装与配置Tomcat
在图2-8所示的“协议许可”界面中选择【I Agree】继续安装,进入如图2-9所示的“选择 安装组件”界面。
同意
图2-8 协议许可界面
S J P
• 安装与配置Tomcat
在图2-9所示的“选择安装组件”界面中选择使用默 认选项,选择【Next】继续安装,进入如图2-10所 示的“选择安装位置”界面。
说明Java实用程序的位置 实用程序的位置 说明 说明类和包文件的搜索路径
表2—1 JDK环境变量
S J P
• JDK的下载与安装
配置环境变量 具体操作步骤如下 :
(1)在【系统变量】选项区域中双击“Path”变 量,在弹出的【编辑系统变量】对话框中的 【变量值】输入框中添加Path变量值,如图23所示。 (2)在【Administrator的用户变量】选项区域 中,单击【新建】按钮,在弹出的【编辑用户 变量】对话框中输入CLASSPATH变量名和变量 值,如图2-4所示。
P
J
P • 启动与停止Tomcat
S
图2-15 Tomcat服务操作 菜单
图2-16 启动Tomcat服务
J
• 启动与停止Tomcat P
S
启动类型
Tomcat服务配置 图2-17 Tomcat服务配置
J2SE知识点集合汇总
关键字:
Java 中一些赋予特殊含义,用做专门用途的字符串名称称为关键字 大多数编译器会将关键字用特殊方式标出 所有 Java 关键字都是小写英文 goto 和 const 虽然从未使用,但也作为被为 java 关键字保留 abstract boolean break byte case catch char class const continue default do double else extends final finally float for goto if implements import instanceof int interface long native new package private protected public return short static strictfp super switch synchronized this throw throws transient try void volatile while null
2016-10-10 -2-
J2SE 基础部分
重管理技巧,轻开发技巧 知识太陈旧 错误的做法(学生) 只看不练 只听不练 钻到细节中拔不出来(初学者) 修正:明确目标 学校:集中所有精力,教授实用知识 对计算机心存敬畏 不敢动(装卸软件,安装系统) 不敢调试 bug Java 是解释型的语言: 因为他有核心的垃圾回收机 Java 没有指针, 制,方便代码的书写,因为指针就像占用内 存,内存中必须有释放的过程,这个过程容 易出错。 配置 path&classpath Path: window 系统执行命令时要搜索的路径 Classpath:Java 在编译和运行时要找的 class 所在的路径 验证 1. Java 允许 JAVA 程序 2. Javac 编译 java 程序 3. 一个类中只能有一个 public 类,其它类的个数不限,如果源文件 文件包含一个 public 类,它必须按该类名命名。 4. Java 应用程序的执行入口是 main() 方法,它有固定的书写格式:public static void main (String args[]){…} 5. Java 语言严格区分大小写 6. Java 方法一条条语句构成,每个语句以分号结束 7. Java 注释://用于单行注释 /* 用于多行注释 */ /** *用于多行注释,且可以被 doc 工具解析 */ 8.java –version 显示的出现你所用的哪个版本 9.一个程序员的正常配置 文件夹要变成详细信息 显示所以文件 显示扩展名 在地址栏显示完整路径
《Java-J2SE程序设计》实训任务书2
《J2SE程序设计》课程“网络聊天室”的设计与实现任务书2016年10月“网络聊天室”的设计与实现(共26学时)任务一:“网络聊天室”需求分析一、任务容1、“网络聊天室”业务、技术背景分析。
2、“网络聊天室”需求分析。
二、任务目标1、知道需求分析的主要容;2、掌握需求分析的主要原则及方法;3、能按软件工程规进行应用系统需求分析;4、能根据需求分析选择合适的开发技术;5、提升学生自主学习和团队合作的意识;6、帮助学生养成良好严谨的工作习惯。
三、任务环境1、操作系统:WindowsXP或Windows72、开发环境:MyEclipse8.5, Rational Rose 20033、数据库服务器:SQLServer2005或MySQL5.0四、任务实施1、业务背景分析随着网络社会的不断发展,具有相趣的网民需要互相远程交流,既要能省钱又要能即时交互,太贵、email又嫌慢,所以开发一个类似QQ 的及时通讯系统就变得非常有意义了。
“Happy Chat”聊天系统应运而生,它较之QQ的唯一好处是自主开发,用的放心,更适合在局域网使用。
它提供的功能远不如QQ丰富,但应具有如下功能:(1)与聊天室成员一起聊天;(2)可以与聊天室成员私聊;(3)用户注册、登录;(4)服务器监控聊天容;(5)服务器发送通知;(6)服务器踢人;(7)保存服务器日志。
(8)保存用户聊天信息。
2、技术背景分析本系统要求使用java技术开发,使用文件保存数据,集成开发环境使用eclipse。
开发者应有java程序设计语言、SWING基本GUI组件、多线程、文件使用、socket编程、使用eclipse的基本知识和技能。
系统采用两层C/S体系结构,C端通过GUI与客户交互,实现注册、登陆、收发信息、退出等功能; S 端是聊天系统的应用服务器,主要有处理用户注册、登录、用户收发信息、用户退出等功能。
C端和S端是通过网络交互的,其基本原理如图1所示:图1 C/S通讯基本原理图首先服务器启动,它会建立一个专门用于接收客户端连接请求的“倾听Socket”(相当于总服务台,有固定的IP地址和端口号),然后等待客户的连接请求。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
4.小明要到美国旅游,可是那里的温度是以华氏度为单位记录的。它需要一个程序将华氏温度转换为摄氏度,并以华氏度和摄氏度为单位分别显示该温度。编写程序达到小明的心愿。公式:摄氏度=5/9.0*(华氏度-32)
title 名称,标题、、、、、、题目
hour 、、、、、、、、、、、小时
name 名称,命名、、、、、、名字
average 平均值
student 学生。学者
teacher 教师
score 划线,计分、、、、、、分数
第二章
string 一串 一行 、、、、 字符串
double 双倍、、、、、、、、双精度浮点数
character 性质,特征、、、、、字符
integer 整数、、、、、、、、整形整数
variable 变量、、、、、、、、变量
course 过程,进程 、、、、过程
before 、、、、、、、、、、在。。。。之前
1.举例说明在什么情况下会发生自动类型转换
有多种类型的数据混合运算时 容量小的数据类型和容量大的数据类型运算时
2.为抵抗洪水,解放军连续89小时,编程计算共多少天零多少小时。
3.自定义一个整数,求出该数分别与1-10相乘后的结果。(使用\t控制格式输出)
money 金钱,货币
type 类型,典型,打字、、、、类型
now 、、、、、、、、、、、现在
weight 、、、、、、、、、、重量
height 、、、、、、、、、、高度
price 、、、、、、、、价格,定价