JAVA编程题全集100题及答案 下载本文

闭时隐含操作

ButtonEventDemo CPane = new ButtonEventDemo(); //生成主类对象--面板

CPane.setOpaque(true); //面板要求不透明

frame.setContentPane(CPane); //设置主类对象为主窗体的内容面板 frame.pack(); //主窗体紧缩显示

frame.setVisible(true); //设置主窗体可见 }

public static void main(String[] args) { //将createGUI()列入线程 javax.swing.SwingUtilities.invokeLater(new Runnable() { public void run() { createGUI(); } }); } }

12、定义一个表示学生信息的类Student,要求如下:(有关类的编程) (1)类Student的成员变量:

sNO 表示学号;sName表示姓名;sSex表示性别;sAge表示年龄;sJava:表示Java课程成绩。

(2)类Student带参数的构造方法:

在构造方法中通过形参完成对成员变量的赋值操作。 (3)类Student的方法成员: getNo():获得学号; getName():获得姓名; getSex():获得性别; getAge()获得年龄;

getJava():获得Java 课程成绩

(4)根据类Student的定义,创建五个该类的对象,输出每个学生的信息,计算并输出这五个学生Java语言成绩的平均值,以及计算并输出他们Java语言成绩的最大值和最小值。

//Pragramme name Student;

public class Student { String sNO,sName,sSex; int sAge,sJava;

public Student(String XH,String XM,String XB,int NL,int XF) { super(); sNO=XH; sName=XM; sSex=XB; sAge=NL;

sJava=XF; }

public String getNO() { return sNO; }

public String getName() { return sName; }

public String getSex() { return sSex; }

public int getAge() { return sAge; }

public int getJava() { return sJava; }

public static void main(String[] args) { Student[] st=new Student[5];

st[0]=new Student(\张三\男\ st[1]=new Student(\李四\男\ st[2]=new Student(\王五\女\ st[3]=new Student(\赵六\男\ st[4]=new Student(\杨七\女\ int max=0,min=100,sum=0;

System.out.println(\学生信息:\ for (int i=0;i max) max=st[i].sJava; sum=sum+st[i].sJava;

System.out.println(\学生编号:\,\, 性别:\, 年龄:\, Java课学分:\

姓名: }

System.out.println();

System.out.println(\共有学生:\, 平均成绩:\

System.out.println(\最小学分:\, 最大学分:\ } }

Java基础

1. 九种基本数据类型的大小,以及他们的封装类 2. Switch可以用的参数种类. 3. Object有哪些公用方法? 4. HTTP缓存.

5. Java的四种引用,强弱软虚,用到的场景.

6. Hashcode的作用以及原理,Hash的算法:开放地址法和链地址法的对比.Hash扩容及加载因子的介绍.rehash过程等.

7. ArrayList,LinkedList,Vector的区别.

8. String,StringBuffer与StringBuilder的区别. 9. Map,Set,List,Queue,Stack的特点与用法.

10. HashMap和HashTable的区别.要深层理解,不只是线程安全,还有Hash算法的区别. 11. HashMap和ConcurrentHashMap的区别,HashMap的底层源码. 12. TreeMap,HashMap,LindedHashMap的区别. 13. Collection包结构,与Collections的区别.

14. try catch finally,try里有return,finally还执行么?

15. Excption与Error包结构.非检查异常你遇到过哪些情况,检查异常你遇到过哪些情况. 16. Java面向对象的三个特征与含义.以及面向对象的五个原则. 17. Override和Overload的含义去区别. 18. Interface与abstract类的区别,应用场景. 19. Static class 与non static class的区别. 20. java多态的实现原理.

21. 实现多线程的两种方法:Thread与Runable.以及wait,join,notify等的使用. 22. 线程同步的方法:sychronized,lock,reentrantLock,Condition等. 23. 锁的等级:方法锁,对象锁,类锁.

24. 写出生产者消费者模式.用阻塞队列和不用的情况. 25. ThreadLocal的设计理念与作用. 26. ThreadPool用法与优势.

27. Concurrent包里的其他东西:ArrayBlockingQueue,CountDownLatch等等. 28. wait()和sleep()的区别.

29. foreach与正常for循环效率对比. 30. Java IO.

31. 反射的作用于原理.

32. 泛型常用特点.

33. XML与JSON的对比. 34. Java与C\\++对比.

35. 设计模式的六大原则.总开闭原则.

36. 常用设计模式的DEMO和介绍:单例,工厂,适配器,责任链,观察者等等. 37. Servlet非常重要,要完整的说出声明周期.

这个我推荐大家多百度看大牛博客文档,比看书快. JVM

1. 内存模型以及分区,需要详细到每个区放什么.

2. 堆里面的分区:Eden,survival from to,老年代,各自的特点. 3. 对象创建方法,对象的内存分配,对象的访问定位. 4. GC的两种判定方法:引用计数与引用链.

5. GC的三种收集方法:标记清除,标记整理,复制算法的原理与特点,分别用在什么地方,如果让你优化收集方法,有什么思路? 6. GC收集器有哪些?

7. Minor GC与Full GC分别在什么时候发生? 8. ClassLoader介绍.

9. 类加载的五个过程:加载,验证,准备,解析,初始化.

10. 双亲委派模型:Bootstrap ClassLoader,Extension ClassLoader,ApplicationClassLoader. 11. 分配:静态分配与动态分配.

操作系统

1. 进程和线程的区别.

2. 死锁的各种知识点,要非常熟悉.

3. 内存管理方式:段存储,页存储,段页存储. 4. 进程的几种状态. 5. 进程几种通信方式.

6. 什么是虚拟内存以及实现.

7. 虚拟地址,逻辑地址,线性地址,物理地址的区别. 8. 线程与进程的同步方式.

TCP/IP

1. OSI与TCP/IP各层的结构与功能,都有哪些协议. 2. TCP与UDP的区别. 3. TCP报文结构.

4. TCP的三次握手与四次挥手过程,各个状态名称与含义,TIMEWAIT的作用以及为甚么出现TIMEWAIT以及握手交换的信息. 5. TCP拥塞控制.

6. TCP滑动窗口与连续ARQ协议. 7. Http的报文结构. 8. Http的状态码含义.

9. Http request的几种类型. 10. HTTP缓存.

11. Http怎么处理长连接.

12. Cookie与Session的作用于原理.禁用Cookie怎么用session,处理大并发量怎么设计Session比较好.

13. 输入一个网页访问,整个过程是怎么样的:从DNS,HTTP,TCP,OSPF,IP,ARP等方面回答. 14. Ping的整个过程.Traceroute的整个过程,从TTL方面回答. 15. Socket通信. 16. IP地址分类.

17. 路由器与交换机区别.

数据结构与算法 1. 链表与数组.

2. 队列和栈,出栈与入栈. 3. 链表的删除,插入,反向. 4. 字符串操作.

5. Hash表的hash函数,冲突解决方法有哪些.

6. 各种排序:冒泡,选择,插入,希尔,归并,快排,堆排,桶排,基数的原理,平均时间复杂度,最坏时间复杂度,空间复杂度,是否稳定.

7. 快排的partition函数与归并的Merge函数. 8. 对冒泡与快排的改进. 9. 二分查找,以及其应用.

10. 二叉树,B+树,AVL树,红黑树,哈夫曼树(可以选择掌握,比较难).

11. 二叉树的前中后续遍历:递归与非递归写法,层序遍历算法.非递归写法和深度广度优先遍历很重要.

12. 数组矩阵的各种花式打印. 13. KMP算法. 14. 排列组合问题.

15. 动态规划,贪心算法,分治算法.(比较难,算法基础扎实的同学可以选择掌握) 16. 大数据处理,怎么设计,TOP-K问题怎么解决.

算法其实很重要,每次面试生杀大计基本可以说是算法,就算你没答好问题,算法写得好也很加分,因为最终都是要你写代码的.