当前位置:文档之家› java汇总

java汇总

java汇总
java汇总

第一套:

一、单项选择题(每题2分,共10分)

1. Java源文件和编译后的文件扩展名分别为( B )

A)class和java B)java和class

C)class和class D)java和exe

2. JDK是( B )

A)一种全新的程序语言

B)一种程序开发辅助工具

C)一种由Java写成的,并支持Java Applet的浏览器

D)一种游戏软件

3. 利用( B )可以启动一个应用程序。

A)runtime.exec(“应用程序名称”)

B)Runtime.getRuntime().exec(“应用程序名称”)

C)start 应用程序名称

D)java 应用程序名称

4. JDK是( B )

A)一种全新的程序语言

B)一种程序开发辅助工具

C)一种由Java写成的,并支持Java Applet的浏览器

D)一种游戏软件

5、以下哪一个不是JA V A的标准数据流( D )。

A)标准输出数据流 B)标准输入数据流

C)标准错误数据流 D)标准运算数据流

6、下列关于for循环和while循环的说法中哪个是正确的?(A)

A)while循环能实现的操作,for循环也都能实现

B)while循环判断条件一般是程序结果,for循环判断条件一般是非程序结果

C)两种循环任何时候都可替换

D)两种循环结构中都必须有循环体,循环体不能为空

7、A派生出子类B,B派生出子类C,并且在Java源代码中有如下声明:

问以下哪个说法是正确的?( D )

A)只有第1行能通过编译

B)第1、2行能通过编译,但第3行编译出错

C)第1、2、3行能通过编译,但第2、3行运行时出错

D)第1行、第2行和第3行的声明都是正确的

8. 下面( C )不是合法的日期模板。

A)"yyyy-MM-dd HH:mm:ss.SSS"

B)"yyyy年MM月dd日HH时mm分ss秒SSS毫秒"

C)"yyyymmddhhmmssSSS"

D)"yyyyMMddHHmmssSSS"

9、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为( A )。

A)static void method( ) B)public void method( )

C)final void method( ) D)abstract void method( )

10、若要把变量声明为暂时性变量,应该用如下那种修饰符( C)

A)protected B)private C)Transient(临时变量)D)V olatile(共享变量)

11、为了指定对象排序规则,必须实现下面的那个接口( A )

A)Comparable B)Runnable

C)Observer D)Collection

12、下面程序类ClassDemo中定义了一个静态变量sum,分析程序段的输出结果( C )

A)0 B)6 C)11 D)2

13、下面哪种异常不能被try…catch捕获并处理( D)。

A)ArithmeticException B)NumberFormatException

C)数组下标越界异常D)JVM内存溢出

14、在java中下列关于自动类型转换说法正确的是( A )

A)基本数据类型和String相加结果一定是字符串型

B) char类型和int类型相加结果一定是字符

C)double类型可以自动转换为int

D)char + int + double +"" 结果一定是double;

15、下列选项中关于Java中super关键字的说法正确的是( A)。

A) super关键字是在子类对象内部指代其父类对象的引用

B) super关键字不仅可以指代子类的直接父类,还可以指代父类的父类

C)子类通过super关键字只能调用父类的方法,而不能调用父类的属性

D)子类通过super关键字只能调用父类的属性,而不能调用父类的方法

二、填空题(每空1分,共10分)

1. 面向对象编程的三大特征是( 继承) 、( 封装)和( 多态)。

2. 顺序结构、分支结构(或称选择结构)、(循环结构)是结构化程序设计的三种基本流程控制结构。

3. 开发与运行Java程序需要经过的三个主要步骤为(编辑源程序) 、(编译生成字节码)和(解释运行字节码)。

4. 在Java程序中,通过类的定义只能实现(单)继承,但通过接口的定义可以实现(多重)继承关系。

5. Java中,线程必须属于一个进程。线程是程序运行中的一个(调度单位)。

6. Java提供了(抽象窗口工具)包和(Swing)包等两个图形用户界面工具包方便编程人员开发图形用户界面。

7. 在文件操作中,public String getName()功能是(获得文件名)。 public String getAbsolutePath()功能是(获得绝对路径名)。

8. 计算机程序错误分为(语法错误)、(异常错误)和逻辑错误。

9. 如果定义的成员方法可以接受任意参数,则参数类型为()。

10. (abstract))方法是一种仅有方法头,没有具体方法体和操作实现的方法,该方法必须在抽象类之中定义。(final)方法是不能被当前类的子类重新定义的方法。

三、编程题(共80分)

1. 设计一个长方形类,要求:(1)长和宽为数据成员;(2)有2个不同的构造方法;(3)有setter和getter方法;(4)求面积和周长为功能方法;(5)输出长方形基本信息方法。

答:

public class chang {

private float height;

private float weight;

/**

* @param args

*/

public static void main(String[] args) {

// TODO Auto-generated method stub

chang a=new chang(1,2);

a.xinxi();

}

public chang(){}

public chang(float h,float w){height=h;weight=w;}

public void setchang(float h){height=h;}

public void setweight(float w){weight=w;}

public float getchang(){return weight;}

public float getheight(){return height;}

public float area(){return weight*height;}

public float zhou(){return 2*(weight+height);}

public void xinxi(){System.out.println("长方形的信息为:"+"长:"+getchang()+"宽:"+getheight()+"面积:"+area()+"周长:"+zhou());}

}

2. 设计一个圆类,要求有:(1)半径为数据成员;(2)有2个不同的构造方法;(3)有setter和getter方法;(4)求面积和周长为功能方法;(5)有输出圆的基本信息方法。

答:

public class yuan {

private float R;

/**

* @param args

*/

public static void main(String[] args) {

// TODO Auto-generated method stub

yuan a=new yuan(1);

a.xinxi();

}

public yuan(){}

public yuan(float r){R=r;}

public void setbanjin(float r){R=r;}

public float getbanjin(){return R;}

public double area(){return 3.14*R*R;}

public double zhou(){return 2*3.14*R;}

public void xinxi(){System.out.println("圆形的信息为:"+"半径为:"+getbanjin()+"面积:"+area()+"周长:"+zhou());}

}

3. 设计一个学生类,要求:(1)数据成员有姓名、性别、数据结构成绩、线性代数成绩;(2)有一个构造方法能够初始化所有数据成员;(3)计算学生的平均分、总分、输出学生的基本信息以及总分和平均成绩等3个方法为功能方法。

答:public class student {

private String name;

private String sex;

private float sjjgscore;

private float xxdsscore;

/**

* @param args

*/

public static void main(String[] args) {

// TODO Auto-generated method stub

student a=new student("张珊珊","女",98,92);

a.xinxi();

}

public student(String n,String s,float sj,float xx){

name=n;

sex=s;

sjjgscore=sj;

xxdsscore=xx;

}

public float average(){

return (sjjgscore+xxdsscore)/2;

}

public float sum(){

return sjjgscore+xxdsscore;

}

public void xinxi(){

System.out.println("姓名:"+name+'\n'+"性别:"+sex+'\n'+"数据结构成绩:"+sjjgscore+'\t'+"线性代数成绩:"+xxdsscore+'\n'+"平均成绩:"+average()+'\t'+"总成绩:"+sum());

}

}

4.设计一个交通工具类,该类的数据成员有名称、生产厂家、价格和状态,有1个构造方法来初始化所有成员,有启动和停止2个功能方法(用来修改状态,为抽象方法);该类有1个子类为小轿车,该类的数据成员有名称、生产厂家、价格、状态、座位数量、剩余油量,要求:(1)有1个构造方法来初始化所有成员,但必须调用父类的构造方法;(2)加油操作、转向操作以及输出车子的基本信息等3个方法为功能方法。

答:abstract class traffic {

public String name;

public String changjia;

public float price;

public String zhuangtai;

/**

* @param args

*/

public traffic(String n,String c,float p,String z){

name=n;

changjia=c;

price=p;

zhuangtai=z;

}

abstract public void on();

abstract public void off();

}

public class car extends traffic{

private int seatnum,syoil;

public static void main(String[] args) {

car a=new car("雪佛兰","雪佛兰汽车公司",56000,"on",4,0);

a.jibenxinxi();

a.jiayou(1);

a.turn("左");

}

public car(String n, String c, float p, String z,int num,int sl) {

super(n, c, p, z);

seatnum=num;

syoil=sl;

}

public void on() {

zhuangtai="on";

}

public void off() {

zhuangtai="off";

}

public void jiayou(int l){

System.out.println("向车中加"+l+"升的油");

}

public void turn(String fx){

System.out.println(name+"向"+fx+"转");

}

public void jibenxinxi()

{

System.out.println("车名是:"+name+'\n'+"生产商为:"+changjia+'\n'+"价格是:"+price+'\n'+"车子状态:"+zhuangtai+'\n'+"座位数为:"+seatnum+'\n'+"剩余油量:"+syoil);

}

}

6.所有的家用电器都有开操作、关操作,请定义一个接口,电饭煲类、电视机类等2个类实现了该接口。请给出测试代码当打开电器时能够给出正确的打开电器名称。请采用对象多态性来实现。

答:interface jiadian{

void on();

void off();

}

class dianfanbao implements jiadian{

public void on() {

System.out.println("电饭煲打开");

}

public void off() {

System.out.println("电饭煲关闭");

}

}

class TV implements jiadian{

public void on(){

System.out.println("电视机打开");

}

public void off(){

System.out.println("电视机关闭");

}

}

public class text{

public static void main(String args[]){

dianfanbao a=new dianfanbao();

a.on();

a.off();

TV b= new TV();

b.on();

b.off();

}

7. 有一个记录了本班名单的txt文档,格式如下:

对应的学生实体类,如下:

请根据注释完成学生操作类的编写

package com.icss.model;

import java.io.File;

import java.util.List;

/**

* 学生对象操作工具类

*

*/

public class StudentUtil {

/**

* 从文件中读取Student对象到List中

* @param file 题目中格式的txt文件

* @return List,本班的学生对象

* @throws Exception 读取不成功的异常

*/

public List readByFile(File file)throws Exception{

}

/**

* 将list(本班学生对象)保存到file中

* @param list 本班学生对象

* @param file 题目中格式的txt文件

* @throws Exception 书写异常

*/

public void writeToFile(List list,File file)throws Exception{ }

/**

* 按从胖到瘦排列,请考虑身高和体重

* @param list 本班学生对象

*/

public void sortByFat(List list){

}

/**

* 随机排序

* @param list 本班学生对象

*/

public void sortByRandom(List list){

}

}

mt1.run() ;

mt2.run() ;

}

}

};

10. 设计一个抽象类CompareObject,里面有抽象方法CompareTo用于比较两个对象。然后设计一个类Position从CompareObject 派生,有x和y属性表示其坐标,该类实现compareTo方法,用于比较两个对象距离原点(0,0)的距离之差。

11.设计一个程序从Thread类派生,用它建立两个线程a和b,a线程每隔0.1秒输出一个’a’,共输出10个’a’,’b’线程每隔0.2秒输出一个字符’b’,也输出10个.Z

package ch01;

public class Printer {

private boolean hasBufferToPrint = false; // 打印缓冲区是否有内容可以打印

// 打印A:相当于生产者,放一张纸

public synchronized void printA() {

while(hasBufferToPrint) { // 缓冲区还有内容

try {

wait();

} catch (InterruptedException e) {

e.printStackTrace();

}

}

System.out.print("A");

hasBufferToPrint = true;

notify(); // 唤醒打印B的线程

}

// 打印B:相当于消费者,消耗缓冲区中的纸,打印纸张

public synchronized void printB() {

while (!hasBufferToPrint) {

try {

wait();

} catch (InterruptedException e) {

e.printStackTrace();

}

}

System.out.print("B");

hasBufferToPrint = false;

notify(); // 唤醒打印A的线程

}

static class ThreadA extends Thread {

private Printer printer;

public ThreadA(Printer printer) {

this.printer = printer;

}

public void run() {

for(int i = 0; i < 10; i++) {

printer.printA();

}

}

}

static class ThreadB extends Thread {

private Printer printer;

public ThreadB(Printer printer) {

this.printer = printer;

public void run() {

for(int i = 0; i < 10; i++) {

printer.printB();

}

}

}

public static void main(String args[]) {

Printer printer = new Printer(); // A、B线程共享同一个打印机

Thread a = new ThreadA(printer);

Thread b = new ThreadB(printer);

a.start();

b.start();

}

}

第二套

一、单项选择题

1.下面哪种异常不能被try…catch捕获并处理(D)。

A) ArithmeticException B) NumberFormatException

C)数组下标越界异常 D) JVM内存溢出

2.下面(C )不是合法的日期模板。

A) "yyyy-MM-dd HH:mm:ss.SSS"

B) "yyyy年MM月dd日HH时mm分ss秒SSS毫秒"

C) "yyyymmddhhmmssSSS"

D) "yyyyMMddHHmmssSSS"

3.为了指定对象排序规则,必须实现下面的那个接口(A )

A) Comparable B) Runnable

C) Observer D) Collection

4.采用泛型,不能定义( D )。

A 泛型类

B 泛型接口

C 泛型方法

D 泛型异常

5.利用( B )可以启动一个应用程序。

A runtime.exec(“应用程序名称”)

B Runtime.getRuntime().exec(“应用程序名称”)

C start 应用程序名称

D java 应用程序名称

6.取出文件长度,采用( A )。

A file.length

B new File(fileName).length()

C File.getLeng th(filename)

D File.length

7.在序列化时,若不想类的成员被序列化,可以采用( B )关键字修饰该类。

A private

B transient

C protected

D final

8.在Java系统中,当用户使用键盘时会产生KeyEvent事件,处理该事件的监听器是(C )接口。

A WindowsListener

B MouseListener

C KeyListener

D ActionListener

9.利用JDBC驱动程序查询数据库时,需要利用(A)接口来接受查询结果集。

A ResultSet

B HashSet

C Map

D TreeSet

二、填空题

1、面向对象编程的三大特征是(继承) 、(封装)和(多态)。

2、Java提供了(抽象窗口工具)包和(swing)包等两个图形用户界面工具包方便编程人员开发图

形用户界面。

3、计算机程序错误分为(语法错误)、(异常)和逻辑错误。

4、利用()接口将SQL命令传送给数据库服务器,并将SQL命令的执行结果返回。

5、如果定义的成员方法可以接受任意参数,则参数类型为(object )。

6、JDBC编程的核心是为用户提供了Java API类库,所有的Java API包含在(JDK)包中。

7、Java语言的()包提供了三种网络程序开发模式,分别是()、()和()式。

8、定义抽象类采用(abstract)关键字修饰类。

9、接口中定义的数据成员的默认修饰符是(public final static ),接口中定义的成员方法默认修饰符是(public

abstract )。

10、自定义异常,需要利用extends继承(Exception)类。

11、如果要引入包中的所有类,采用(import java.util.*;)。

12、Java系统为命名对象分配(栈)空间来存储对象名,分配(堆)空间来存储对象信息。

13、与Java基本类型对应的类称为(包装)类,把基本类型转换为对象类型称为(装箱),把对象类型

转换为基本类型称为(拆箱)。

三、程序填空题

1、

import java.io.*;

class Ozone implements ( Serializable){//类实现了序列化的一种接口

private String city;//城市名

private String date;//日期

private double hourAverage;//小时平均臭氧值

private double max;//最大值臭氧值

public Ozone(String city, String date, double hourAverage, double max) {

this.city = city;

this.date = date;

this.hourAverage = hourAverage;

this.max = max;

}

}

2、

import java.util.*;

public class Chp12_11 {

public static void main(String[] args) {

List myList=new ArrayList();//实例化集合对象

Iterator iter=null;//声明迭代器对象

myList.add("空气" );//向集合增加新对象

myList.add("制冰" );//向集合增加新对象

myList.add("热空调");//向集合增加新对象

myList.add("热水");//向集合增加新对象

iter=(mylist.iterator );//实例化迭代器接口

while((iter.hasNext() ))//遍历集合

System.out.println(iter.next());//输出当前集合中的元素

}

}

3、

package chapter15;

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

class MyListener{//定义监听器类

private JLabel lbl=new JLabel("金蝶财务管理系统!");

private JFrame frame=null;

public MyListener() {

JFrame frame=new JFrame("金蝶财务管理系统");//实例化一个窗口

frame.setSize(600, 300);//设置窗体的大小

frame.setLocation(450,200);//设置窗体的位置

Font font=new Font("隶书",Font.BOLD,50);//实例化字体对象

lbl.setFont(font);//设置标签的字体

frame.add( |b| );//向窗体加入标签

frame.addWindowListener( MyWindowAdapter );//向窗体注册适配器

frame.setVisible(true);

}

class MyWindowAdapter extends WindowAdapter{//继承适配器,仅仅覆写windowClosing方法

public void windowClosing(WindowEvent arg0) {

JOptionPane.showMessageDialog(null,"马上关闭系统","警告信息!",2);

System.exit(1);

}

}

}

public class Chp15_20{

public static void main(String args[]){

new MyListener();

}

}

四、简答题

1、Java反射机制主要提供哪些功能

答:在运行时判断任意一个对象所属的类;在运行时构造任意一个类的对象;在运行时判断任意一个类所具有的成员变量和方法;在运行时调用任意一个对象的方法;生成动态代理。

2、画出Java字节流与字符流的类结构图。

答:

3、什么是对象克隆技术,简述浅克隆的编写步骤。

4、简述利用JDBC进行数据库编程的步骤。

答:

1)加载连接数据库的驱动程序Class.forName("com.mysql.jdbc.Driver");

2)创建与数据源的连接

tring url ="jdbc:mysql://localhost:3306/databases"

Connection conn=DriverManager.getConnection(url,"user","Password");

3)查询数据库:创建Statement对象并执行SQL语句以返回一个ResultSet对象。

Statement stmt=conn.createStatement();

ResultSet rs=stmt.executeQuery("select * from DBTableName");

4)获得当前记录集中的某一记录的各个字段的值

String name=rs.getString("Name");

int age=rs.getInt("age");

float wage=rs.getFloat("wage");

5)关闭查询语句及与数据库的连接(注意关闭的顺序先rs再stmt最后为conn)

rs.close();

stmt.close();

con.close();

5、简述Java语言提供集合功能的作用。

6、什么是对象序列化和反序列化。

答:把java对象转换为字节序列的过程成为对象的序列化。

把字节序列恢复为java对象的过程成为对象的反序列化。

五、编程题

1.设计一个学生类,要求:(1)数据成员有姓名、性别、数据结构成绩、线性代数成绩;(2)有一个构造

方法能够初始化所有数据成员;(3)计算学生的平均分、总分、输出学生的基本信息以及总分和平均成绩等3个方法为功能方法。

答:

public class student {

private String name;

private String sex;

private float sjjgscore;

private float xxdsscore;

/**

* @param args

*/

public static void main(String[] args) {

// TODO Auto-generated method stub

student a=new student("张珊珊","女",98,92);

a.xinxi();

}

public student(String n,String s,float sj,float xx){

name=n;

sex=s;

sjjgscore=sj;

xxdsscore=xx;

}

public float average(){

return (sjjgscore+xxdsscore)/2;

}

public float sum(){

return sjjgscore+xxdsscore;

}

public void xinxi(){

System.out.println("姓名:"+name+'\n'+"性别:"+sex+'\n'+"数据结构成绩:"+sjjgscore+'\t'+"线性代数成绩:"+xxdsscore+'\n'+"

平均成绩:"+average()+'\t'+"总成绩:"+sum());

}

}

2.所有的家用电器都有开操作、关操作,请定义一个接口,电饭煲类、电视机类等2个类实现了该接口。

请给出测试代码当打开电器时能够给出正确的打开电器名称。请采用对象多态性来实现。

答:

interface jiadian{

void on();

void off();

}

class dianfanbao implements jiadian{

public void on() {

System.out.println("电饭煲打开");

}

public void off() {

System.out.println("电饭煲关闭");

}

}

class TV implements jiadian{

public void on(){

System.out.println("电视机打开");

}

public void off(){

System.out.println("电视机关闭");

}

}

public class text{

public static void main(String args[]){

dianfanbao a=new dianfanbao();

a.on();

a.off();

TV b= new TV();

b.on();

b.off();

}

3.有一个文本文件“d:\myfile\planing.txt”,请利用Java的知识编程复制一份该文件,新文件名

“d:\myfile\planing_bak.txt”。

import java.io.*;

public class FileCopy{

public static void main (String[] args) {

char ch;

File f1=new File("d:/myfile/planning.txt");

try{

if(!f1.exists()){

System.out.println ("file in not exists");

return;

}

File f2=new File("d:/myfile/planning_bak.txt");

if(!f2.exists()){

f2.createNewFile();

}

FileInputStream fis=new FileInputStream(f1);

FileOutputStream fos=new FileOutputStream(f2);

int tmp;

while((tmp=fis.read())!=-1)

fos.write(tmp);

fis.close();

fos.close();

}catch(Exception e){

}

}

}

4.有一个数据库底层操作接口,包含4个成员属性,和4个成员方法,具体代码如下:import java.sql.*;

interface DataOperate {

String driver = ""; // 数据库驱动

String url = ""; // 数据库连接字符串

String dbName = ""; // 数据库用户名

String dbPass = ""; // 数据库密码

/**

* 第一个方法得到数据库连接

* @return 数据库连接

*/

public Connection getConn() throws ClassNotFoundException,SQLException;

/**

* 第二个方法释放资源

* @param conn 数据库连接

* @param pstmt Statement对象

* @param rs 结果集

*/

public void closeAll(Connection conn,Statement pstmt,ResultSet rs);

/**

* 第三个方法执行SQL语句,可以进行增、删、改的操作,不能执行查询

* @param sql 预编译的SQL 语句

* @return 影响的条数

*/

public int executeSQL(String preparedSql,Object[] param);

/**

* 第四个方法执行SQL查询语句

* @param sql 预编译的SQL 查询语句

* @return 记录集

*/

public ResultSet getRs(String preparedSql,Object[] param);

}

设计一个类实现该接口中的四个方法。

15个经典JAVA小程序集

import java.util.Scanner; public class Example1 { public static void main(String[] args) { Scanner sc=new Scanner(System.in);//输入一个数字 int score=sc.nextInt();//将数字放入整型score中 if(score>0)//if语句进行判断 { if(score>=90) { System.out.println("你很棒!"); } else if(score>=60&&score<90) { System.out.println("你很不错!"); } else System.out.println("你得加油!"); } else System.out.println("你输入的数字不正确!"); } } import java.util.Scanner; public class Example2 { public static void main(String[] args) { Scanner sc=new Scanner(System.in);//动态输入任意两个数int a=sc.nextInt();

int b=sc.nextInt(); if(a>b)//if语句比较大小 { System.out.println("你所输入的最大值:"+a); System.out.println("你所输入的最小值:"+b); } else if(a

Java集合类知识点总结

Java集合类 Java集合类 (1) 1.Map (3) 1.1.HashMap (3) 1.1.1.底层实现 (3) 1.1.2.特点 (3) 1.1.3.源码分析 (4) 1.1.4.多线程可能出现的问题 (5) 1.2.ConcurrentHashMap (6) 1.2.1.底层实现 (6) 1.2.2.源码分析 (7) 1.3.HashTable (9) 1.3.1.HashTable是线程安全的,因为所有方法上都加了synchronized关键 字。9 1.3.2.HashTable的key和value都不可以为null。 (9) 1.3.3.扩容时,capacity=2*capacity+1 (9) 1.3.4.数组默认大小为11 (9) 1.3.5.查找下标时,没有使用hash&length-1,而是直接进行计算的 (9) 1.4.TreeMap (9) 1.4.1.底层实现为红黑树 (9) 1.4. 2.TreeMap是一个有序的key-value集合,基于红黑树实现。该映射根据 其键的自然顺序进行排序,或者根据创建时提供的Comparator进行排序 (10) 1.4.3.接口实现 (10) 1.4.4.Entry (11) 1.5.LinkedHashMap (11) 1.5.1.底层是数组+链表+红黑树+双向链表 (11) 1.5.2.维护链表顺序和访问顺序 (11) 1.5.3.LinkedHashMap 可以通过构造参数 accessOrder 来指定双向链表是否在 元素被访问后改变其在双向链表中的位置。 (11) 1.5.4.当accessOrder为true时,get方法和put方法都会调用recordAccess 方法使得最近使用的Entry移到双向链表的末尾;当accessOrder为默认值 false时,recordAccess方法什么也不会做。 (11) 1.5.5.LRU实现 (11) 2.Collection (11) 2.1.List (12) 2.1.1.ArrayList (12) 2.1.2.LinkedList (13) 2.1.3.CopyOnWriteArrayList (13) 2.2.Set (14) 2.2.1.HashSet (14)

java面试 项目经验描述

面试进行曲之技术面试(项目经验) 收藏 在前期已经讲过怎样分析自己,对自己进行一个准确的定位,选择一个合适的求职方向!并结合自己的实际个人情况来写一份针对性很强的个人简历!个人简历就是个人的广告!好的简历可以更受到用人需求单位青睐!好的简历才能让你获得面试的机会!我们还针对面试列出了j2ee方面的知识点!不管是笔试还是面试都是会考到这些非常重要的知识点!面试的技术内容并不会有想象中的那么难,主要注重基础和细节!细节决定一切!所以列罗的那些知识点是需要下功夫去准备的!当然列罗的那些知识点只是一些在面试中经常会出现的问题集!每家企业都可能超出这些知识点的可能(就不要骂我了)!自己去准备吧! 技术方面的考核通常分为笔试,技术面试;其中技术面试又分为专业知识面试和项目经验考核。应该说来笔试和专业知识面试都是考核你对某方面(j2ee或.net)知识的掌握和熟练程度!而项目经验考核则是看你是不是拥有项目经验,是不是适合企业的用人需要,是不是需要企业为你付出培养的成本,是不是你能够马上投入到工作中去.企业是以你的项目经验作为衡量你的工资标准的!所以就是会出现有些同学可能在学校学习成绩很好而企业给他开的工资并不高,而有些同学的学习成绩一般反而得到高工资的原因!专业知识的考核只是企业了解你具有这方面的专业素养和能力!其实有时笔试成绩差一点或者你感觉在做笔试题的时候有些题目没有做出来或答错了并没有关系的。在技术面试的时候,在回答专业知识方面的题目不够理想,也并不起决定性的作用!总之笔试和专业知识面试的答题达到企业要求的70%就可以了!当然如果你在专业知识方面表现的太差,考官对你也就没有多大的兴趣了!但是最能决定企业下定决心录用你的关键在于你的项目经验(排除企业特别强调英文等其它方面能力外)。说了这么多好像都没有说到正题,这是因为让大家更清楚的了解回答好项目经验方面的问题是多么的重要。而这方面又正好是刚从学校出来的学员十分薄弱的,并且针对这方面介绍也十分少!下面我们就来谈谈面试中关于项目经验的问题及应该从哪些方面进行回答! 问题一、请简单的介绍一下你自己吧! 分析:这是在任何面试中都会遇到一个题目,看起来这个问题是十分简单的,但是往往我们并不知道考官问这个题目是希望从你的回答中获得什么信息!所以我们就很容易走题,跑题,不入正题!不能马上就吸引考官。请记住抓住面试的每一个机会来推销自己。但是往往我们不知道从哪里谈起。所以我们得先了解考官想要获取什么信息呢? 1.你的从业时间你从事相关的工作有多长了 2.你的教育背景你是否受过良好的教育 3.你的工作经验你是否有过具有一定的工作经验 4.你的项目经验你是否有过丰富的项目经验 5.你与众不同之处你是怎么进行项目开发的,有什么特别之处,或者你在哪些项目中取得过哪些成功,或者有哪些自己觉得骄傲的地方

一个简单的java窗体下载小程序(完整代码)

首先,这只是一个很简单的程序,所以大神请绕道。 心血来潮,用java编写了一个能访问http链接,并能下载文件的窗体小程序。实测能够正确下载17M的压缩包,图片,文档,html等。但是因为程序效率低下,于是没有继续测试更大的压缩文件(问题可能在于保存输入流到缓冲区的数组)。 程序已打包jar可执行文件,并将代码一齐打包到jar中。为方便使用jar,使用word 文档对象包装了它,将下面的对象(显示为一个图标)拖到桌面或者其他文件夹,即可得到该程序: java下载小程序.jar 也可以右击,激活内容,直接运行。 程序运行效果如图: 该测试链接来自pc6,下载结果为:

文件顺利打开。 程序主要使用了url访问http地址,并获取输入流,创建本地文件,输出读取的数据到本地文件中。其他部分则是窗体。 以下是全部代码: 同样是word对象,直接拖到桌面即可。 显示窗体的ui包: DownloadWin.java MainWin.java 分割字符串的util包: SplitString.java 监听事件的listener包: DownloadListener.java

其中,ui包: MainWin.java package 下载.ui; public class MainWin { public static void main(String[] args) { DownloadWin win = new DownloadWin("下载"); } } DownloadWin.java package 下载.ui; import java.awt.FlowLayout; import java.awt.GridLayout; import javax.swing.Box; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JTextField; import 下载.listener.DownloadListener; public class DownloadWin extends JFrame{ /** * */ private static final long serialVersionUID = -7226361346020458023L; private JTextField httpLine; private JTextField savePath; private JButton btnDownload; private JLabel lineLabel; private JLabel saveLabel; private static JLabel infoLabel; public DownloadWin(String title) { init();

Java一年工作经验程序员个人简历模板

个人简历 【基本资料】 姓名xxx 性别男 年龄22 婚姻状况未婚 民族土家族籍贯湖南省张家界市 毕业院校长沙理工大学专业计算机科学与技术 学历本科联系电话 工作经验1年Email xxxxxxxx@https://www.doczj.com/doc/6813814173.html, 【教育经历】 2007/09-2011/06 长沙理工大学计算机科学与技术 【自我评价】 计算机软件设计与开发专业,1年Java、JavaScript编程语言程序开发经验,熟悉J2EE架构;熟练使用Struts、Hibernate、Spring进行Web开发及Web服务开发;熟悉使用Oracle一种以上数据库,有良好的数据库操作和维护经验;有良好的团队交流和合作意识,以及一定的工作压力承受能力,并具有很好的分析问题与解决问题的能力,对IT领域的软件开发和设计工作有浓厚的兴趣. 【IT技能】 编程语言熟悉:Java,Jsp,JavaScript,Ajax; 数据库熟悉:Orecle; 了解:SQLServer,MySQL 开发工具熟练运用Eclipse,Dreamweaver,Svn等开发工具 熟练掌握Tomcat等Web容器以及J2EE容器的配置以及部署 核心技术熟悉Struts+Spring+Hibernate联合开发 【求职意向】 目标职能JAVA软件开发工作性质全职 【工作经验】 2011/8--2012/10长沙友邦网络科技有限公司 所属行业计算机软件 工作职责Java初级程序员主要负责项目一些模块的编写 工作总结熟悉软件开发流程,能独完成文档的编写和模块的编码 能熟练运用J2EE企业级开发 【项目经验】 项目名称易购客户关系管理系统 开发时间2012/6 -- 2012/10 团队人数 5

java经典的小程序详尽代码

1,编写程序,判断给定的某个年份是否是闰年。 闰年的判断规则如下: (1)若某个年份能被4整除但不能被100整除,则是闰年。 (2)若某个年份能被400整除,则也是闰年。 import Bissextile{ public static void main(String[] arge){ "请输入年份"); int year; .....+aaaaaaaaa=? 其中a为1至9之中的一个数,项数也要可以指定。 import Multinomial{ public static void main(String[] args){ int a; ...前20项之和? class Sum{ public static void main(Sting[] args){ double sum=0; double fenZi=, fenMu=; ..... 打印出第一个大于小于的值 class Pi { public static void main(String[] args){ double pi =0; .. fenMu += ; .. 每项递加2 } } } 输出结果为pi = ,应该不精确 12、输入一个数据n,计算斐波那契数列(Fibonacci)的第n个值 1 1 2 3 5 8 13 21 34 规律:一个数等于前两个数之和 ....的值。 a,求出前50项和值。 b,求出最后一项绝对值小于1e-5的和值。 15、在屏幕上打印出n行的金字塔图案,如,若n=5,则图案如下: * ***

***** ******* ********* 定义一个int型的一维数组,包含10个元素,分别赋一些随机整数,然后求出所有元素的最大值,最小值,平均值,和值,并输出出来。 class ArrayNumber{ public static void main(String[] args){ int[] arrayNumber; arrayNumber = new int[10]; "以下是随机的10个整数:"); 义一个int型的一维数组,包含10个元素,分别赋值为1~10,然后将数组中的元素都向前移一个位置, 即,a[0]=a[1],a[1]=a[2],…最后一个元素的值是原来第一个元素的值,然后输出这个数组。 3. 定义一个int型的一维数组,包含40个元素,用来存储每个学员的成绩,循环产生40个0~100之间的随机整数, 将它们存储到一维数组中,然后统计成绩低于平均分的学员的人数,并输出出来。 4. (选做)承上题,将这40个成绩按照从高到低的顺序输出出来。 5,(选做)编写程序,将一个数组中的元素倒排过来。例如原数组为1,2,3,4,5;则倒排后数组中的值 为5,4,3,2,1。 6,要求定义一个int型数组a,包含100个元素,保存100个随机的4位数。再定义一个 int型数组b,包含10个元素。统计a数组中的元素对10求余等于0的个数,保存到b[0]中;对10求余等于1的个数,保存到b[1]中,……依此类推。 class Remain{ public static void main( String[] args){ int[] a = new int[100]; 约梭芬杀人法 把犯人围成一圈,每次从固定位置开始算起,杀掉第7个人,直到剩下最后一个。 11_2、用数组实现约瑟夫出圈问题。 n个人排成一圈,从第一个人开始报数,从1开始报,报到m 的人出圈,剩下的人继续开始从1报数,直到所有的人都出圈为止。对于给定的n,m,求出所有人的出圈顺序。 12. 判断随机整数是否是素数 产生100个0-999之间的随机整数,然后判断这100个随机整数哪些是素数,哪些不是? public class PrimeTest{ public static void main(String args[]){ for(int i=0;i<100;i++){

JAVA中常用类的常用方法

JAVA中常用类的常用方法 一、类 1、clone()方法 创建并返回此对象的一个副本。要进行“ 克隆” 的对象所属的类必须实现. Cloneable接口。 2、equals(Object obj)方法 功能:比较引用类型数据的等价性。 等价标准:引用类型比较引用,基本类型比较值。 存在特例:对File、String、Date及封装类等类型来说,是比较类型及对象的内 容而不考虑引用的是否为同一实例。 3、finalize()方法 当垃圾回收器确定不存在对该对象的更多引用时,由对象的垃圾回收器调用此方法。 4、hashCode()方法 返回该对象的哈希码值。 5、notify()方法 唤醒在此对象监视器上等待的单个线程。 6、notifyAll()方法 唤醒在此对象监视器上等待的所有线程。 7、toString()方法 返回该对象的字符串表示。在进行String与其它类型数据的连接操作时,自动调用toString()方法。可以根据需要重写toString()方法。 8、wait()方法 在其他线程调用此对象的 notify() 方法或 notifyAll() 方法前,导致当前线程等待。 二、字符串相关类 String类 charAt(int index) 返回指定索引处的 char 值。 compareTo(String anotherString) 按字典顺序比较两个字符串。 compareToIgnoreCase(String str) 按字典顺序比较两个字符串,不考虑大小写。 concat(String str) 将指定字符串连接到此字符串的结尾。 endsWith(String suffix) 测试此字符串是否以指定的后缀结束。 equals(Object anObject) 将此字符串与指定的对象比较。 equalsIgnoreCase(String anotherString) 将此 String 与另一个 String 比 较,不考虑大小写。 indexOf(int ch) 返回指定字符在此字符串中第一次出现处的索引。 indexOf(String str) 返回第一次出现的指定子字符串在此字符串中的索引。 lastIndexOf(int ch) 返回指定字符在此字符串中最后一次出现处的索引。 length() 返回此字符串的长度。 replace(char oldChar, char newChar)

java简单聊天小程序

网络编程java简单聊天小程序[下次修改成多线程的,这个必须等待对方输入结束,有机会修改成可视化窗口] By 刘汪洋 写入正确的ip地址即可正常用当然目前只停留在命令行界面 还没有写成可视化窗口界面 运行时请带上参数 如java TransServer 张三 Java TransClient 李四 ( 和刘正南在局域网试验的截图成功 这是修改后的 加上了姓名! ) (修改前的截图)

代码: 客户端: package com.baidu.chat; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import https://www.doczj.com/doc/6813814173.html,.Socket; import https://www.doczj.com/doc/6813814173.html,.UnknownHostException; // 简单聊天小程序客户端 public class TransClient { public static void main(String[] args)

{ if(args[0]==null) args[0] = "他"; startClient(args[0]); } private static void startClient(String name) { Socket sk = null; BufferedReader bufr = null; try { sk = new Socket("127.0.0.1",10000);// 1 创建 socket服务 bufr = new BufferedReader(new InputStreamReader(System.in));// 2 获取录入键盘 PrintWriter out = new PrintWriter(sk.getOutputStream(),true);// 3 获取输出流true表示自动刷新 BufferedReader bufIn = new BufferedReader(new InputStreamReader(sk.getInputStream()));// 4 获取输入流 // 5 发送获取 String text_send = ""; String text_get = ""; String ServerName = ""; System.out.print("聊天已开启..."+"\r\n"+"我说:");

JAVA中常用类的常用方法

JAVA屮常用类的常用方法 一.java?丨ang.Object 类 1、clone()方法 创建丼返M此对象的一个副木。要进行“克隆”的对象所属的类必须实现https://www.doczj.com/doc/6813814173.html,ng. Cloneable 接口。 2、equals(Objectobj)方法 0 功能:比较引用类型数据的等价性。 0 等价标准.?引用类型比较引用,基木类型比较值。 0 存在特例.?对File、String、Date及封装类等类型来说,是比较类型及对象的内稃而+ 考虑引用的是否为同一实例。 3、finalize〇方法 当垃圾丨"丨收器确定>(、存在对该对象的更多引用时,由对象的垃圾丨"丨收器调用此方法。 4、hashCode〇方法返 回该对象的哈希码值。 5、notify〇方法 唤醒在此对象监视器上等待的中?个线祝。 6、notifyAII〇方法 唤醒在此对象监视器上等待的所有线程= 7、toString()方法 返W该对象的字符串表示。在进行String与其它类型数据的连接操作时,&动调用tostringo 方法。可以根据耑要重写toStringO方法。 8、wait()方法 在其他线程调用此对象的n〇tify()方法或notifyAIIO方法前,异致当前线程等待。 二、字符串相关类 I String 类 charAt(int index)返回指定索引处的char值。compareTo{String anotherString)按字

典顺序比较两个字符串。compareTolgnoreCase(Stringstr)按字典顺序比较两个字 符串,不考虑人小写。concat(String str)将指定字符串连接到此字符串的结尾。 endsWith(String suffix)测试此字符串是否以指定的〗?缀结束。equals{Object anObject)将此字符串与指定的对象比较。 equalslgnoreCase(String anotherString)将此String 与另一个String 比较,考虑人小'与’。indexOf(int ch)返H指定字符在此字符串屮第一次出现处的索引。 indexOf(String str)返回第一次出现的指定子字符串在此字符串屮的索引, lastlndexOf(intch)返回指定字符在此字符串中最后??次出现处的索引。 length()返|n丨此字符串的长度。 replace(char oldChar, char newChar) 返回一个新的字符串,它是通过用newChar替换此字符串中出现的所有oldChar得到的。 split(String regex)根据给定正则表达式的匹配拆分此字符串。startsWith{String prefix)测试此字符 串是否以指定的前缀开始。substring(int beginlndex) 返回一个新的字符串,它是此字符串的一个子字符串。该子字符串始于指定索引处的字符,一直到此字符串末尾。 substring(int beginlndex, int endlndex) 返回一个新字符串,它是此字符串的一个子字符串。该子字符串从指定的beginlndex 处开始,一直到索引endlndex-1处的字符。 t〇CharArray()将此字符串转换为一个新的字符数组。

JAVA中常用的集合类型

JAVA常用的高级数据类型——集合类型 一、JAVA语言中的集合类型主要有三种形式:Set(集)、List(列表)、Map(映射),每种类型的集合都包括三部分:接口、实现和算法。 a)集合接口实现集合的操作和集合的具体功能实现细节的相互分离—— Set接口、List接口、Map接口 b)集合的具体功能实现类实质上是各种可重用的数据结构的具体表示 List接口的实现类有ArrayList、LinkedList、Stack和Vector等 集合类,Vector 类提供了实现可增长数组的功能,随着更多元素加 入其中,数组变的更大。在删除一些元素之后,数组变小。 Set接口的实现类有HashSet、LinkedHashSet和TreeSet等集合类 Map接口的实现类有HashMap、Hashtable、LinkedHashMap、Properties和TreeMap等集合类。 c)集合的算法指可以对实现集合接口的各个集合的功能实现类提供如排 序、查找、交换和置换等方面的功能实现。 二、List接口 1.List接口代表有序的集合,可以对List接口代表的有序集合中每个元素 的插入位置进行精确地控制,并利用元素的整数索引(代表元素在集合中的位置)访问元素中的各个成员,List接口代表的集合是允许出现重复元素的。 2.List接口主要成员方法: 1)void add(int index,E element)在列表指定位置插入指定元素 2)E get(int index) 返回结合中指定位置的元素 3)E remove(int index) 移除集合中指定位置的元素 4)E set(int index,E elment) 用指定元素替换集合中指定位置的元素 5)boolean add(E o) 向列表的尾部追加指定的元素 6)boolean contains(Object o) 如果列表包含指定的元素,则返回true。 7)boolean isEmpty() 如果列表不包含元素,则返回 true。 8)int size() 返回列表中的元素数 9)Iterator iterator()返回以正确顺序在列表的元素上进行迭代的迭代器。 3.List的实现类 List在数据结构中分别表现为数组(ArrayList)、向量(Vector)、链表(LinkedList)、堆栈(Stack)和队列等形式。 Vector集合和ArrayList集合都是采用数组形式来保存对象,区别在于ArrayList集合本身不具有线程同步的特性,不能用在多线程的环境下,可以使用ArrayList集合能够节省由于同步而产生的系统性能的开销。而Vector集合实现了对线程同步的支持,因此在多线程并发访问的应用环境下,该集合本身能够保证自身具有线程安全性。在多线程的并发访问中,可以将Vector集合的对象实例设计为类中的成员属性,而应该将ArrayList 集合的对象实例设计为局部对象。 public class UserInfo{ List oneVector=new Vector(); public void execute(){

java中的类的专题

(1)类的默认的无参构造函数[ ]。 A) 在任何情况下都存在 B) 仅当未定义无参构造函数时存在 C) 仅当未定义有参构造函数时存在 D) 仅当未定义任何构造函数时存在 (2) 类的默认的拷贝构造函数[ ]。 A) 在任何情况下都存在 B) 仅当未定义拷贝构造函数时存在 C) 仅当未定义有参构造函数时存在 D) 仅当未定义任何构造函数时存在 改错题:每题有一处错误,请在出错语句后用注释说明出错原因并提出更改意见(1)class Location { int X , Y ; protected: int SetZero(int zeroX, int zeroY); private: int length, height; public: void Location(int initX, int initY); int GetX( ); int GetY( ); }; (2)下面的程序有一处语法错误: #include class Pair{ int X, Y; public: Pair (int initX, int initY): X(initX), Y(initY){} int sumXY(){return X+Y; }; }; void main() { Pair A1(5,3); cout< #include class Sample { public: int x,y; Sample(){x=y=0;} Sample(int a,int b){x=a;y=b;}

java集合类总结

1.本讲内容:集合collection (数组和集合90%功能相似,但是最大的区别是,数组在初始化的时候必须确定大小,而集合不用,而且集合是一堆的类,使用起来非常方便。) 讲集合collection之前,我们先分清三个概念: 1colection 集合,可用来存储任何对象的一种数据结构(容器)。 2Collection 集合接口,指的是,是Set、List 和Queue 接口的超类接口 3Collections 集合工具类,指的是类。 SCJP考试要求了解的接口有:Collection , Set , SortedSet , List , Map , SortedMap , Queue , NavigableSet , NavigableMap, 还有一个Iterator 接口也是必须了解的。 SCJP考试要求了解的类有:HashMap , Hashtable ,TreeMap , LinkedHashMap , HashSet , LinkedHashSet ,TreeSet , ArrayList , Vector , LinkedList , PriorityQueuee , Collections , Arrays 下面给出一个集合之间的关系图: 上图中加粗线的ArrayList 和HashMap 是我们重点讲解的对象。下面这张图看起来层级结构更清晰些。 我们这里说的集合指的是小写的collection,集合有4种基本形式,其中前三种的父接口是Collection。 4List 关注事物的索引列表 5Set 关注事物的唯一性 6Queue 关注事物被处理时的顺序 7Map 关注事物的映射和键值的唯一性 一、Collection 接口 Collection接口是Set 、List 和Queue 接口的父接口,提供了多数集合常用的方法声明,包括add()、remove()、contains() 、size() 、iterator() 等。 add(E e) 将指定对象添加到集合中 remove(Object o) 将指定的对象从集合中移除,移除成功返回true,不成功返回false contains(Object o) 查看该集合中是否包含指定的对象,包含返回true,不包含返回flase size() 返回集合中存放的对象的个数。返回值为int clear() 移除该集合中的所有对象,清空该集合。 iterator() 返回一个包含所有对象的iterator对象,用来循环遍历 toArray() 返回一个包含所有对象的数组,类型是Object toArray(T[] t) 返回一个包含所有对象的指定类型的数组 我们在这里只举一个把集合转成数组的例子,因为Collection本身是个接口所以,我们用它的实现类ArrayList做这个例子:例子1: package edu.xjfu;

JAVA中常用类的常用方法

JAVA中常用类的常用方法 一、https://www.doczj.com/doc/6813814173.html,ng.Object类 1、clone()方法 创建并返回此对象的一个副本。要进行“克隆”的对象所属的类必须实现https://www.doczj.com/doc/6813814173.html,ng. Cloneable接口。 2、equals(Object obj)方法 ?功能:比较引用类型数据的等价性。 ?等价标准:引用类型比较引用,基本类型比较值。 ?存在特例:对、Date及封装类等类型来说,是比较类型及对象的内容而不考虑引用的是否为同一实例。 3、finalize()方法 当垃圾回收器确定不存在对该对象的更多引用时,由对象的垃圾回收器调用此方法。 4、hashCode()方法返回该对象的哈希码值。 5、notify()方法唤醒在此对象监视器上等待的单个线程。 6、notifyAll()方法唤醒在此对象监视器上等待的所有线程。 7、toString()方法 返回该对象的字符串表示。在进行String与其它类型数据的连接操作时,自动调用toString()方法。可以根据需要重写toString()方法。 8、wait()方法 在其他线程调用此对象的notify() 方法或notifyAll() 方法前,导致当前线程等待。 二、字符串相关类 l String类 charAt(int index) 返回指定索引处的char 值。 compareTo(String anotherString) 按字典顺序比较两个字符串。 compareToIgnoreCase(String str) 按字典顺序比较两个字符串,不考虑大小写。 concat(String str) 将指定字符串连接到此字符串的结尾。 endsWith(String suffix) 测试此字符串是否以指定的后缀结束。 equals(Object anObject) 将此字符串与指定的对象比较。 equalsIgnoreCase(String anotherString) 将此String 与另一个String 比较,不考虑大小写。indexOf(int ch) 返回指定字符在此字符串中第一次出现处的索引。 indexOf(String str) 返回第一次出现的指定子字符串在此字符串中的索引。 lastIndexOf(int ch) 返回指定字符在此字符串中最后一次出现处的索引。 length() 返回此字符串的长度。 replace(char oldChar, char newChar) 返回一个新的字符串,它是通过用newChar 替换此字符串中出现的所有oldChar 得到的。split(String regex) 根据给定正则表达式的匹配拆分此字符串。 startsWith(String prefix) 测试此字符串是否以指定的前缀开始。 substring(int beginIndex) 返回一个新的字符串,它是此字符串的一个子字符串。该子字符串始于指定索引处的字符,一直到此字符串末尾。 substring(int beginIndex, int endIndex) 返回一个新字符串,它是此字符串的一个子字符串。该子字符串从指定的beginIndex 处开

java中的类修饰符

java中的类修饰符、成员变量修饰符、方法修饰符。 类修饰符: public(访问控制符),将一个类声明为公共类,他可以被任何对象访问,一个程序的主类必须是公共类。 abstract,将一个类声明为抽象类,没有实现的方法,需要子类提供方法实现。 final,将一个类生命为最终(即非继承类),表示他不能被其他类继承。 friendly,默认的修饰符,只有在相同包中的对象才能使用这样的类。 成员变量修饰符: public(公共访问控制符),指定该变量为公共的,他可以被任何对象的方法访问。 private(私有访问控制符)指定该变量只允许自己的类的方法访问,其他任何类(包括子类)中的方法均不能访问。 protected (保护访问控制符)指定该变量可以别被自己的类和子类访问。在子类中可以覆盖此变量。 friendly ,在统一报中的类可以访问,其他包中的类不能访问。 final,最终修饰符,指定此变量的值不能变。 static(静态修饰符)指定变量被所有对象共享,即所有实例都可以使用该变量。

transient(过度修饰符)指定该变量是系统保留,暂无特别作用的临时性变量。 volatile(易失修饰符)指定该变量可以同时被几个线程控制和修改。 方法修饰符: public(公共控制符) private(私有控制符)指定此方法只能有自己类等方法访问,其他的类不能访问(包括子类) protected(保护访问控制符)指定该方法可以被它的类和子类进行访问。 final,指定该方法不能被重载。 static,指定不需要实例化就可以激活的一个方法。 synchronize,同步修饰符,在多个线程中,该修饰符用于在运行前,对他所属的方法加锁,以防止其他线程的访问,运行结束后解锁。 native,本地修饰符。指定此方法的方法体是用其他语言在程序外部编写的。

Java中的集合类

Java中的集合类 (Collection framework)我们在前面学习过java数组,java数组的程度是固定的,在同一个数组中只能存放相同的类型数据。数组可以存放基本类型的数据,也可以存入对象引用的数据。 在创建数组时,必须明确指定数组的长度,数组一旦创建,其长度就不能改变,在许多应用的场合,一组数据的数目不是固定的,比如一个单位的员工数目是变化的,有老的员工跳槽,也有新的员工进来。 为了使程序方便地存储和操纵数目不固定的一组数据,JDK中提供了java集合类,所有java集合类都位于java.util包中,与java数组不同,java集合类不能存放基本数据类型数据,而只能存放对象的引用。 Java集合类分为三种 Set(集合):集合中对象不按特定的方式排序。并且没有重复对象,但它有些实现类中的对象按特定方式排序。--无序,不能重复 List(列表):集合中的对象按照检索位置排序,可以有重复对象,允许按照对象在集中的索引位置检索对象,List和数组有些相似。--有序,可以重复 Map(映射):集合中的每一个元素包含一对键对象和值对象,集合中没有重复的键对象,值对象可以重复,它的有些实现类能对集合中的键对象进行排序。 Java的主要集合类的框架图 Collection和Iterator接口 在Collection接口中声明了适用于java集合(只包括Set和List)通用方法。 Collection接口的方法 方法描述

boolean add(Object o) 向集合中加入一个对象的引用 void clear( ) 删除集合中所有对象,即不再对持有对象的引用boolean contains(Object o) 判断在集合中是否含有特定对象的引用 boolean isEmpty() 判断集合是否为空 Iterator iterator( ) 返回一个Iterator对象,可用它来遍历集合中的元素boolean remove(Object o) 从集合中删除一个对象的引用 int size( ) 返回集合中元素的数目 Object [ ] toArray() 返回一个数组,该数组包含集合中的所有元素 Set接口和List即可都继承了Collection接口,而Map接口没有继承Collection接口,因此可以对Set对象和List对象调用以上方法,但是不能对Map对象调用以上方法。Collection接口的iterator()和toArray()方法多用于获得集合中的所有元素,前者返回一个Iterator对象,后者返回一个包含集合中所有元素的数组。 Iterator隐藏底层集合的数据结构,向客户程序提供了遍历各种类型的集合的统一接口。Iterator接口中声明了如下方法: ●hasNext():判断集合中的元素是否遍历完毕,如果没有,就返回true。 ●next():返回下一个元素 ●remove():从集合中删除上一个由next()方法返回的元素。 注意:如果集合中的元素没有排序,Iterator遍历集合中元素的顺序是任意的,并不一定与像集合中加入的元素的顺序一致。 Set(集) Set是最简单的一种集合,集合中的对象不按特定方式排序,并没有重复对象。Set接口主要有两个实现类:HashSet类还有一个子类LinkedHashSet类,它不仅实现了哈希算法,而且实现了链表数据结构,链表数据结构能提高插入核算出元素的性能。TreeSet类实现了SortedSet接口中,具有排序功能。 List(列表) List的主要特征使其元素已先行方式存储,集合中允许存放重复对象。List接口主要的实现类包括: ●ArrayList—ArrayList代表长度可变的数组。允许对元素进行快速的随机访问,但是向 ArrayList中插入与删除元素的速度较慢。 ●LinkedList—在实现中采用链表数据结构。对顺序访问进行了优化,向List中插入和 删除元素的速度较快,随机访问速度则相对较慢,随机访问是指检索位于特定索引位置元素。 Map(映射) Map(映射)是一种吧键对和值对象进行映射的集合。它的每一个元素都包含一对键对象和值对象,而之对象仍可以是Map类型。以此类推,这样就形成了多级映射。向Map集合中加入元素时,必须提供一对键对象和值对象,从Map集合上检索元素只要给出键对象,就会返回值对象。 实例1 CollectionAll.java

Java 项目经验

Java项目经验 Java就是用来做项目的!Java的主要应用领域就是企业级的项目开发!要想从事企业级的项目开发,你必须 掌握如下要点: 1、掌握项目开发的基本步骤 2、具备极强的面向对象的分析与设计技巧 3、掌握用例驱动、以架构为核心的主流开发方法 没有人愿意自己一辈子就满足于掌握了一些代码实现的技巧,别人告诉你要实现什么,你就用代码堆砌来实现别人的要求!你必须学会从整个项目的角度去思考!你必须学会假如你是项目经理,你该如何思考!你必须学会假如你是架构师,你该如何思考!你必须掌握针对某个特定问题领域的分析方法! 关于基础知识:你可以看看这些名词或知识点,看是否能说出个一二三四来。 JavaSE ----基本语法、数据类型、操作符等:int、long、Integer、Long、if、else、for、while ----面向对象:class(类)、Object(对象)、instance(实例)、state(状态)、behavior(行为)、field、method、new、可见性(访问控制)、attribute、property、package、import、static variable、class variable、instance variable、heap、method area、stack、GC(垃圾回收)、override、overload、对象转型(casting)、多态、this、super ----异常处理:理解编译期错误和运行期错误的区别、Exception、RuntimeException、checked exception、unchecked exception、try、catch、finally、throw new XXXException、throws XXXException、异常处理的基本原则 ----数组与集合:数组的定义和使用方法、Collection、List、Set、Map、ArrayList、HashSet、HashMap、Iterator、equals、hashCode、Comparable、Comparator ----常用类:String、intern、常量池、StringBuffer、java.util.Date、SimpleDateFormat、Regex(正则表达式) ----反射机制:Class、Method、Field、invoke、newInstance、BeanUtils(apache-commons)、PropertyUtils (apache-commons) ----输入输出流:InputStream、OutputStream、Reader、Writer、Adapter设计模式与原始流类、Decorator 设计模式与包装流类、对象序列化和反序列化 ----多线程:Thread、Runnable、sleep、wait、notify、synchronized、lock Servlet和JSP ----HttpServlet、doGet、doPost、HttpServletRequest、HttpServletResponse、request.getParameter()、request.setAttribute()、request.getAttribute()、request.getSession()、ServletContext、Filter、web.xml、tomcat、forward与redirect、http协议的无状态性、cookie、JSP Scope Object、 HTML与JavaScript ----你需要能够理解常见的网页标签、理解在网页中引入JavaScript的方法、以及JavaScript的基本语法与使用方法

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