java面试题2018及答案
① 2018年的java面试题及答案
Java知识点很多,每个知识点都可能会有面试题,而且不同的企业的考察点是不一样的。下面给你整理了几个Java面试题可以参考:
1、面向对象的特征有哪些方面?
封装:通常认为封装是把数据和操作数据的方法绑定起来,对数据的访问只能通过已定义的接口。
多态性:多态性是指允许不同子类型的对象对同一消息作出不同的响应。简单的说就是用同样的对象引用调用同样的方法但是做了不同的事情。多态性分为编译时的多态性和运行时的多态性。方法重载(overload)实现的是编译时的多态性(也称为前绑定),而方法重写(override)实现的是运行时的多态性(也称为后绑定)。
2、获得一个类的类对象有哪些方式?
答:
-方法1:类型.class,例如:String.class
-方法2:对象.getClass(),例如:"hello".getClass()
-方法3:Class.forName(),例如:Class.forName("java.lang.String")
3、如何通过反射创建对象?
答:
-方法1:通过类对象调用newInstance()方法,例如:String.class.newInstance()
-方法2:通过类对象的getConstructor()或getDeclaredConstructor()方法获得构造器
(Constructor)对象并调用其newInstance()方法创建对象,例如:
String.class.getConstructor(String.class).newInstance("Hello");
② 2018年3月计算机二级考试JAVA试题及答案(六)
枯返改 2018年3月计算机二级考试JAVA试题及答案(六)
判断题
1. Java语言中的数组元素下标总是从0开始,下标可以是整数或整型表达式。 (√ )
2. 在Java中对象可以赋值,只要使用赋值号(等号)即可,相当于生成了一个各属性与赋值对象相同的新对象。( × )
3. 所谓抽象类就是包含有抽象方法的类。( ×)
4. Java系统的标准输入对象是System.in,标准输出对象有两个,分别是标准输出System.out和标准错误输出System.err。(√)
5. 如果p是父类Parent的对象,而c是子类Child的对象,则语句c = p是正确的。( ×)
6. 当一个方法在运行过程中产生一个异常,则这个方法会终止,但是整个程序不一定终止运行。(√ )
7. 用“+”可以实现字符串的拼接,用- 可以从一个字符串中去除一个字符子串。( × )
8. 一个容器中可以混合使用多种布局策略。(×)
9. Java中,并非每个事件类都只对应一个事件。(√ )
10. Java的源代码中定义几个类,编译结果就生成几个以.class为后缀的字节码文件。(√)
11. Java Applet是由独立的解释器程序来运行的。(×)
12. Java的字符类型采没判用的是ASCII编码。( × )
13. Java的各种数据类型占用固定长度,与具体的软硬件世肆平台环境无关。 (√)
14. System类不能实例化,即不能创建System类的对象。(×)
15. 用户自定义的图形界面元素也可以响应用户的动作,具有交互功能。 (√ )
③ java面试题:酒店预订!
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("是否是会员?y/n");
String H = input.next();
System.out.println("请输入入住日期:");
System.out.println("例如2009-03-16");
String in = input.next();
System.out.println("请输离开日期:");
System.out.println("例如2009-03-16");
String out = input.next();
//String in = s.substring(5,15);
//String out = s.substring(15,26);
//System.out.println(in+" "+out);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Calendar c1 = Calendar.getInstance();
Calendar c2 = Calendar.getInstance();
try {
c1.setTime(sdf.parse(in));
c2.setTime(sdf.parse(out));
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
long time1 = c1.getTimeInMillis();
long time2 = c2.getTimeInMillis();
long tian = (time2-time1)/(1000*24*3600);
long tian1 = tian;
System.out.println("tian "+tian);
int week1 = c1.get(Calendar.DAY_OF_WEEK)-1;
//System.out.println(week1);
//int week2 = c2.get(Calendar.DAY_OF_WEEK)-1;
//System.out.println(week2);
int count = 0;
while(tian1>0){
if(week1 == 6 || week1==0){
count++;
}
if(week1==6){
week1 = 0;
week1--;
}
tian1--;
week1++;
}
System.out.println("count "+count);
long rujia;
long qitian;
long hanting;
if(H.equals("y")){
rujia = (tian-count)*80+count*80;
System.out.println("tian "+tian);
qitian = (tian-count)*110+count*50;
hanting = (tian-count)*100+count*40;
}else{
rujia = (tian-count)*110+count*90;
qitian = (tian-count)*160+count*60;
hanting = (tian-count)*220+count*150;
}
System.out.println("tian " + tian);
System.out.println("rujia "+rujia);
System.out.println("hanting "+hanting);
System.out.println("qitian "+qitian);
if(rujia<qitian && rujia<hanting){
System.out.println("如家");
}else if(qitian<rujia && qitian<hanting){
System.out.println("七天");
}else if(hanting<rujia && hanting<qitian){
System.out.println("汉庭");
}else if(hanting==rujia || hanting==qitian){
System.out.println("汉庭");
}else if(qitian==rujia && qitian<hanting){
System.out.println("七天");
}
}
我没怎么测试 自己测测吧 还有一些约束用户输入啥的 严谨性什么的
④ JAVA 是做什么的
“什么是Java?”
Java,由Sun Microsystems公司于1995年5月推出,它是一种可以编写跨平台应用软件、完全面向对象的程序设计语言。
不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。
“Java是怎么来的?”
20世纪末,硬件领域出现了单片式计算机系统,这种系统价格低廉,立即引起了研究人员的注意,由于C++程序过于复杂和庞大,研究人员开发了一种称为Oak的面向对象语言。这是Java的雏形。
1995年,业界为了使单调的静态网页能够“灵活”起来,急需开发一种程序。这时,Sun公司想起了那个被搁置很久的Oak,并将Oak更名为Java,它语言精简,程序非常小,适合在网络上传输。
1995年5月,Sun公司正式发布Java。从此Java一路披荆斩棘,在经历20多年的发展之后依然常盛不衰,常年雄踞各大编程语言排行榜第一位,这也凸显了其在IT技术领域的绝对统治力。
java零基础入门教程:网页链接
“学了Java,我能干什么?”
●程序员,穿梭在各种软件开发之间;
●架构师,参加大型项目的实现;
●网站开发,把若干个页面组成集合;
●游戏开发,在以前诺基亚还很流行的时候,手机游戏有90%以上都是Java开发的;
......
除此之外还可以做嵌入式设备、消费类电子产品开发、桌面程序等工作。
Java技术作为互联网的中流砥柱,其应用范围之多,就业岗位之多,堪称第一。
“Java的就业前景饱和了吗?”
Java技术几乎无处不在,只要有使用到电子产品的地方,就会和Java挂钩。
近年,我国互联网发展尤为迅速,外卖、电商、短视频等各类产品层出不穷。其中,推动我国互联网飞速发展,网民规模持续增长离不开一批中国程序员在背后的辛苦工作。
1.Java在我国的招聘情况:
以某招聘网站为例:
从上图我们可以看到,超过半数的资深程序员年薪在20万以上,并且有近 40% 的资深程序员年薪在 25- 50 万之间。
3.程序员也是一门“铁饭碗”
2018 年下半年开始,很多互联网公司大面积裁员,大家都说“资本寒冬”到来,但是从调查结果中可以看到90.9%的程序员“根本没在怕的”!
“Java的应用范围有多广?”
Java能做的事情很多,涉及到编程领域的各个方面,从电子商务网站到 Android 应用,从科学应用到金融应用,从游戏到桌面应用等等。
● Android应用
打开你的安卓手机和任何一款App,他们都是使用Java语言开发的。
市场上见到的手机系统,例如MIUI,阿里云,乐蛙等,都是修改源代码再发行的。
● 金融业应用的服务器程序
因Java的安全性比较高,使其在金融服务业方面的应用广泛。
大部分银行和第三方交易系统均用Java开发前台和后台电子交易系统以及数据处理项目等等。
● Web应用
Java 语言在电子商务领域以及网站开发的领域都占据了一定的位置。开发人员可以用不同的框架来创建web项目。
时常被应用在各个政府部门如科学技术部、国家安全部、文化部等部门。
● J2ME应用
有一段时间,安卓上可用的游戏、软件几乎全部是用MIDP、CLDC,他们是J2ME平台的一部分。
● 大数据技术
Hadoop以及其他大数据处理技术很多都是用Java,例如Apache的基于Java的HBase和Accumulo以及 ElasticSearchas。
● 嵌入式领域
Java在嵌入式领域的发展有着广阔的空间。在这样平台上,只需130KB就可以很好使用Java技术。
java面试题总结及讲解:网页链接
“什么样的人适合学Java?”
● 逻辑思维能力强
对于Java来说所有功能都是通过编写代码实现的,需要开发人员具备较强的逻辑性和运算性。
● 端正心态、踏实耐心
在平时的工作中会有一大部分时间是花费在解决bug上,在遇到问题后一遍遍的排查代码,所以拥有良好的心态也是必不可少的优势。
● 不断学习的能力
随着科技的发展会不断出现各种新型的技术,开发人员需要及时的关注这些新技术并且转化为自己技能。