Java面试题整理每日30题(二)

32String s = new String("xyz");创建了几个 String Object?

New 了一个,XYZ本来又是一个

两个

33float float f=3.4 是否正确?

Ø 报错,应当是 float f=3.4f

Ø 如果是 float f=3(整数)正确

35、说出一些常用的类,包,接口,请各举 5

常用的类: BufferedReader BufferedWriter FileReader FileWirter String

Integer

常 用 的 包 : java.lang java.awt java.io java.util java.sql javax.xml

javax.sevlet javax.ejb. java.net javax.faces

常用的接口: List Map Document NodeList EjbObject EjbHome SessionBean

EntityBean

36java 中会存在内存泄漏吗,请简单描述。

会。如:int i,i2; return (i-i2); //when i 为足够大的正数,i2 为足够大的负数

结果会造成溢位,导致错误。java 面试题

- 13 -

37java中实现多态的机制是什么?

静态的多态:方法名相同,参数个数或类型不相同。(overloading)

动态的多态:

子类覆盖父类的方法,将子类的实例传与父类的引用调用的是子类的方法

实现接口的实例传与接口的引用调用的实现类的方法。

38、垃圾回收器的基本原理是什么?垃圾回收器可以马上回收内存吗?有什么办法主

动通知虚拟机进行垃圾回收?

动态内存

存放类实例

静态内存

类本身

垃圾收集主要针对的是动态内存,一般当内存不够用时会进行垃圾收集。

或通过 System.gc()手动收集,但不保证一定执行。

39、静态变量和实例变量的区别?

static i = 10; //常量

class A a; a.i =10;//可变

静态方法可以调用静态变量。

实现方法可以调用静态变量、实例变量

41、是否可以从一个 static 方法内部发出对非 static 方法的调用?

不可以,如果其中包含对象的 method();不能保证对象初始化.

42、写 clone()方法时,通常都有一行代码,是什么?

Clone 有缺省行为,super.clone();他负责产生正确大小的空间,并逐位复制。

43JAVA 语言如何进行异常处理,关键字:throws,throw,try,catch,finally 分别代

表什么意义?在 try 块中可以抛出异常吗?

Try:执行部分,产生异常

Catch:捕捉异常

Finally:不管有没有异常都执行

Throws:在方法声明处声明要抛出的异常,调用者必须对其进行处理。

Throw:抛出一个异常

在 try 中可以抛出异常,一般与声明的异常相同。

自定义异常要继承于 Exception 或 Exception 的子类

45、冒泡排序法

//相邻两个数比较,将最小或最大的放到后面,最后面数的不参与比较

public class BubbleSort {

private static int al[] = new int[10];

public BubbleSort() {

al[0]=2;

al[1]=3;

al[2]=23;

al[3]=45;

al[4]=1;

al[5]=67;

al[6]=23;

al[7]=80;

al[8]=35;

al[9]=72;

}

public static void main(String[] args) {

BubbleSort bs = new BubbleSort();java 面试题

- 14 -

System.out.println("排序前:");

display(al);

for(int i=0;i<al.length;i++) {

for (int j = 0; j < al.length-i-1; j++) {

if(al[j]>al[j+1]) {

swap(j,j+1);

}

}

}

System.out.println();

System.out.println("排序后:");

display(al);

}

private static void display(int[] al2) {

for (int i = 0; i < al2.length; i++) {

System.out.print(al2[i]+" ");

}

}

private static void swap(int i, int j) {

int temp = al[i];

al[i]= al[j];

al[j] = temp;

}

}

46String and StringBuffer 的区别?

String:长度给定不可变,当多个字符串联合时要先转为StringBuffer,再联合,

速度慢。

StringBuffer:长度可变,可以将多个字符串值直接联合,效率高

47、用 java代码编写堆栈

public class Stack {

int[] data;

int maxSize;

int top;

public Stack(int maxSize) {

this.maxSize = maxSize;

data = new int[maxSize];

top = -1;

}

/**

* 依次加入数据

* @param data 要加入的数据

* @return 添加是否成功

*/

public boolean push(int data) {

if(top+1== maxSize) {

System.out.println("栈已满!");

return false;

}

this.data[++top] = data;

return true;

}

/**

* 从栈中取出数据

* @return 取出的数据

*/

public int pop() throws Exception{

if(top==-1) {java 面试题

- 15 -

throw new Exception("栈已空!");

}

return this.data[top--];

}

public static void main(String[] args) throws Exception {

Stack stack=new Stack(1000);

stack.push(1);

stack.push(2);

stack.push(3);

stack.push(4);

stack.push(5);

while(stack.top>=0)

{

System.out.println(stack.pop());

}

}

}

48、集合的作用是什么?

数据的传送 增、删、改、查、constainsAll,可以存放不同类型的对象。

49、集合的通用方法有那些?通用方法是什么?(操作)

集合 List 的遍历方法有:

Iterator:

Enumeration

For

Get

set

Collection 的通用方法有:

Iterator()

Add()

Clear();

remove()

50、说出 ArrayList,Vector, LinkedList 的存储性能和特性 HashMap Hashtable

的区别

ArrayList Vector:以数组的方式存储,增、删慢,查、改快

ArrayList:线程不安全,速度快

Vector:线程安全,速度慢(synchoronized)

LikedList: 以单链表的方式存储,增、删快,查、改慢

HashMap 与 Hashtable 都实现的 Map 接口,HashTable 线程安全,HashMap 线程不安全。

51Collection Collections 的区别。

Collection 是集合的根接口,其下有 set 及 list

Collections 是集合的算法。

52Se t 里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是

equals()? 它们有何区别?contains 来区分是否有重复的对象。还是都不用。

在比较时先调用 hashCode 方法,如果不相同,证明不相等。

如果相同,再调用 equals 方法,如果 equals 方法相同,证明相等,不相同,证明不相等。

==:主要用在基本数据类型及引用

Equals:主要是对象或对象引用的比较。

集合中是否包含某一个元素用 contains 来判断。java 面试题

- 16 -

53List, Se t, Map 是否继承自 Collection 接口?

List,set 继承于 Collection

Map 没有继承于 Collection,其相对是独立的。

属于 Collection 类型的对象,可以通过构造函数将一个集合构造成另外一个集合。

54、面向对象的特征有哪些方面

1.抽象:

找共性,将共有的属性、方法放到父类中

2.继承:

子类继承于父类,具有父类的所有属性与方法,可以重用,也可以覆盖。

3.封装:

一个类包括多个属性及方法。

4. 多态性:

动态:

静态:

55String 是最基本的数据类型吗?

基本数据类型包括 byte、int、char、long、float、double、boolean 和 short。

java.lang.String 类是 final 类型的,因此不可以继承这个类、不能修改这个类。为

了提高效率节省空间,我们应该用 StringBuffer 类

56int Integer 有什么区别?

Int 是基本数据类型,不是对象,占一个内存空间,没有方法。与其同类的有

long,char,doble

Integer 是封装类,具有方法及属性。与其同类的有 Long,Double.Float

57、运行时异常与一般异常有何异同?

运行时异常:java JVM 抛出的异常,代码中不用处理。

一般异常:用户抛出的异常,如果用 throws 声明了,调用这个方法的代码必须对

其处理。

58&&&的区别?

&:: 左边若为 false 右边还执行。

&&:短路与,左边若为 false 右边不执行。

59final, finally, finalize 的区别?

final 用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继

承。

finally 是异常处理语句结构的一部分,表示总是执行。

finalize 是 Object 类的一个方法,在垃圾收集器执行的时候会调用被回收对象的

此方法,可以覆盖此方法提供垃圾收集时的其他资源回收,例如关闭文件等。

算符可以用来决定某对象的类是否实现了接口。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
自动控制节水灌溉技术的高低代表着农业现代化的发展状况,灌溉系统自动化水平较低是制约我国高效农业发展的主要原因。本文就此问研究了单片机控制的滴灌节水灌溉系统,该系统可对不同土壤的湿度进行监控,并按照作物对土壤湿度的要求进行适、适量灌水,其核心是单片机和PC机构成的控制部分,主要对土壤湿度与灌水量之间的关系、灌溉控制技术及设备系统的硬件、软件编程各个部分进行了深入的研究。 单片机控制部分采用上下位机的形式。下位机硬件部分选用AT89C51单片机为核心,主要由土壤湿度传感器,信号处理电路,显示电路,输出控制电路,故障报警电路等组成,软件选用汇编语言编程。上位机选用586型以上PC机,通过MAX232芯片实现同下位机的电平转换功能,上下位机之间通过串行通信方式进行数据的双向传输,软件选用VB高级编程语言以建立友好的人机界面。系统主要具有以下功能:可在PC机提供的人机对话界面上设置作物要求的土壤湿度相关参数;单片机可将土壤湿度传感器检测到的土壤湿度模拟量转换成数字量,显示于LED显示器上,同单片机可采用串行通信方式将此湿度值传输到PC机上;PC机通过其内设程序计算出所需的灌水量和灌水间,且显示于界面上,并将有关的灌水信息反馈给单片机,若需灌水,则单片机系统启动鸣音报警,发出灌水信号,并经放大驱动设备,开启电磁阀进行倒计灌水,若不需灌水,即PC机上显示的灌水量和灌水间均为0,系统不进行灌水。
智慧农业是一种结合了现代信息技术,包括物联网、大数据、云计算等,对农业生产过程进行智能化管理和监控的新模式。它通过各种传感器和设备采集农业生产中的关键数据,如大气、土壤和水质参数,以及生物生长状态等,实现远程诊断和精准调控。智慧农业的核心价值在于提高农业生产效率,保障食品安全,实现资源的可持续利用,并为农业产业的转型升级提供支持。 智慧农业的实现依赖于多个子系统,包括但不限于设施蔬菜精细化种植管理系统、农业技术资料库、数据采集系统、防伪防串货系统、食品安全与质量追溯系统、应急追溯系统、灾情疫情防控系统、农业工作管理系统、远程诊断系统、监控中心、环境监测系统、智能环境控制系统等。这些系统共同构成了一个综合的信息管理和服务平台,使得农业生产者能够基于数据做出更加科学的决策。 数据采集是智慧农业的基础。通过手工录入、传感器自动采集、移动端录入、条码/RFID扫描录入、拍照录入以及GPS和遥感技术等多种方式,智慧农业系统能够全面收集农业生产过程中的各种数据。这些数据不仅包括环境参数,还涵盖了生长状态、加工保存、检验检疫等环节,为农业生产提供了全面的数据支持。 智慧农业的应用前景广阔,它不仅能够提升农业生产的管理水平,还能够通过各种应用系统,如库房管理、无公害监控、物资管理、成本控制等,为农业生产者提供全面的服务。此外,智慧农业还能够支持政府监管,通过发病报告、投入品报告、死亡报告等,加强农业产品的安全管理和质量控制。 面对智慧农业的建设和发展,存在一些挑战,如投资成本高、生产过程标准化难度大、数据采集和监测的技术难等。为了克服这些挑战,需要政府、企业和相关机构的共同努力,通过政策支持、技术创新和教育培训等手段,推动智慧农业的健康发展。智慧农业的建设需要明确建设目的,选择合适的系统模块,并制定合理的设备布署方案,以实现农业生产的智能化、精准化和高效化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

冒黑烟的拖拉机

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值