刷题Day_01

本文深入探讨Java编程的基础知识,包括主方法的正确参数、类及成员的访问控制符、多态机制、抽象类与接口的区别,以及并发编程中的同步器。同时,对比了ArrayList与Vector的性能差异,解析了常见错误与概念误区,如Java的跨平台特性解释,以及提供了一道编程练习题,帮助读者巩固理解。

(1)Java Application 中的主类需包含main方法,以下哪项是main方法的正确形参?
正确的主方法是:public static void main(String[] args){
}
(2)下面不是类及类成员的访问控制符的是 static
public protected static private
在Java中
类修饰符
Public
可以从其他类中访问
obstract
本类不能被实例化
final
不能再声明子类
构造器修饰符
Public
可以从所有的类中访问
Protected
只能从自己的类和它的子类中访问
Private
只能在本类中访问
域修饰符
Public
可以从所有的类中访问
Protected
只能从本类和它的子类中访问
Private
只能从本类中访问它
Static
对该类的所有实例只能有一个域值存在
transient
不是一个对象持久状态的一部份
Volatile
可以被异步的线程所修改
final
必须对它赋予初值并且不能修改它
局部变量修饰符
final
必须对它赋予初值并且不能修改它
方法修饰符
Public
可以从所有的类中访问它
Protected
只能从本类及其子类中访问它
Private
只能从本类中访问它
abstract
没有方法体,属于一个抽象类
final
子类不能覆盖它
static
被绑定于类本身而不是类的实例
native
该方法由其他编程语言实现
asnchronized
在一个线程调用它之前必须先给它加
(3)如果类的方法没有返回值,该方法的返回类型应是 void
(4)有以下代码:
class A{
public A(String str){

}

}
public class Test{
public static void main(String[] args) {
A classa=new A(“he”);
A classb=new A(“he”);
System.out.println(classa==classb);
}
}
请问输出的结果是:true
首先,该程序定义了一个类,然后定义了对象,最后输出语句中输出的是两个变量是否相等。由于classa和classb相等,所以输出true。
(5)Java的跨平台特性是指它的源代码可以在多个平台运行。错误
Java代码是字节代码,Java是运行在虚拟机上的,虚拟机将Java字节代码和具体的平台给隔开,不同平台上面运行的虚拟机是不一样的,而这些虚拟机对Java代码要求是一样的,所以Java可以在多个平台运行。
(6)ArrayList和Vector主要区别是什么?
(1) Vector的方法都是同步的(Synchronized),是线程安全的(thread-safe),而ArrayList的方法不是,由于线程的同步必然要影响性能,因此,ArrayList的性能比Vector好。
(2) 当Vector或ArrayList中的元素超过它的初始大小时,Vector会将它的容量翻倍,而ArrayList只增加50%的大小,这样,ArrayList就有利于节约内存空间。
(7)public class Test
{
public int x;
public static void main(String []args)
{
System. out. println(“Value is” + x);
}
}
对于上面这段代码,输出的结果是:
由于变量x没有赋值,所以输出时会出错,且出错的是:
Exception in thread “main” java.lang.Error: Unresolved compilation problem:
Cannot make a static reference to the non-static field x
(8)java中提供了哪两种用于多态的机制
编译时多态和运行时多态。编译时多态是通过方法的重载实现的,运行时多态是通过方法的覆盖(子类覆盖父类方法)实现的。
(9)关于抽象类与接口,它们的定义是?
抽象类:如果一个类中包含抽象方法,那么这个类就是抽象类。在java中,可以通过把类或者类中的某些方法声明为
abstract(只能用来修饰类或者方法,不能用来修饰属性)来表示一个类是抽象类。
接口就是指一个方法的集合,接口中的所有方法都没有方法体,在Java语言中,接口是通过关键字interface来实现。
(10)JDK提供的用于并发编程的同步器有哪些?
同步器是一些使线程能够等待另一个线程的对象,允许它们协调动作。最常用的同步器是CountDownLatch和Semaphore,不常用的是Barrier 和Exchanger。

编程题:
输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。
import java.util.*;
public class g{
    public static void main(String []args){
    	Scanner qw=new Scanner(System.in);
    	System.out.println("输入一个数字:");//输入数据
    	int num=qw.nextInt();
    	String a="";
    	String b="";
    	for(int i=1;i<=num;i++){
    		if(i%2==1){
    			a=a+i;	
    		}else{
    			b=b+i;	
    		}
    		
    	}
    	System.out.println(a+b);	
      }
}

在这里插入图片描述

本指南详细阐述基于Python编程语言结合OpenCV计算机视觉库构建实时眼部状态分析系统的技术流程。该系统能够准确识别眼部区域,并对眨眼动作与持续闭眼状态进行判别。OpenCV作为功能强大的图像处理工具库,配合Python简洁的语法特性与丰富的第三方模块支持,为开发此类视觉应用提供了理想环境。 在环境配置阶段,除基础Python运行环境外,还需安装OpenCV核心模块与dlib机器学习库。dlib库内置的HOG(方向梯度直方图)特征检测算法在面部特征定位方面表现卓越。 技术实现包含以下关键环节: - 面部区域检测:采用预训练的Haar级联分类器或HOG特征检测器完成初始人脸定位,为后续眼部分析建立基础坐标系 - 眼部精确定位:基于已识别的人脸区域,运用dlib提供的面部特征点预测模型准确标定双眼位置坐标 - 眼睑轮廓分析:通过OpenCV的轮廓提取算法精确勾勒眼睑边缘形态,为状态判别提供几何特征依据 - 眨眼动作识别:通过连续帧序列分析眼睑开合度变化,建立动态阈值模型判断瞬时闭合动作 - 持续闭眼检测:设定更严格的状态持续时间与闭合程度双重标准,准确识别长时间闭眼行为 - 实时处理架构:构建视频流处理管线,通过帧捕获、特征分析、状态判断的循环流程实现实时监控 完整的技术文档应包含模块化代码实现、依赖库安装指引、参数调优指南及常见问解决方案。示例代码需具备完整的错误处理机制与性能优化建议,涵盖图像预处理、光照补偿等实际应用中的关键技术点。 掌握该技术体系不仅有助于深入理解计算机视觉原理,更为疲劳驾驶预警、医疗监护等实际应用场景提供了可靠的技术基础。后续优化方向可包括多模态特征融合、深度学习模型集成等进阶研究领域。 资源来源于网络分享,仅用于学习交流使用,请勿用于商业,如有侵权请联系我删除!
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值