java构造字符缓冲区_java学习笔记 | 学步园

一.数组

类型[] 名称=new 类型[长度]

二.字符串2.1字符串类Stringjava.lang.StringString 名称=new String(“xxxx”)=“xxxx“

其中String s1=new String(“Welcome to Java”)指向的是“Welcome to Java”的String对象.

方法s.charAt(index),提取字符串s中的一个指定字符.

方法s.substring(beginIndex,endIndex),提取下标从beginIndex到endIndex-1的字串.

==运算符之恩能够检测两者是否指向同一个对象,而用s1.equals(s2)=true/false对对象的内容进行比较.

s1.compareTo(s2) 当s1与s2相等,返回0;当s1按字典小于s2,返回值<0;当s1按字典大于s2,返回值>0.

字符串转换成数组 Char[] chars=“java”.toCharArray();将字符串"java"转换成数组chars;

数组转化成字符串 String str=new String(new char []{'J','a','v','a'});

或 String str=String.valueOf(new char []{'J','a','v','a'});

2.2字符类Character

java.lang.Character

Character 名称=new Character('xxxx');

2.3字符串缓冲区类StringBuffer

java.lang.StringBuffer

一般来说,不管在哪里使用字符串,都要用到字符串缓冲区类。

StringBuffer类比String灵活,可以修改内容;而String一旦创建后就不能再修改。

StringBuffer strBuf=new stringBuffer();

strBuf.appand("weclome")在缓冲区中增加一个数组

strBuf.reverse()倒置缓冲区中字符顺序,emolcew

toString()方法从字符串缓冲区中返回字符串

capacity()方法返回字符串缓冲区现有的容量,容量是指在不增加缓冲区大学的情况下,鞥能够存储新字符的数量。

length()方法返回在字符串缓冲区实际存储的字符数量

setLength(newLength)方法设置字符串缓冲区的长度为newLength。

charAt(Index)方法返回字符串缓冲区中下标为index的字符。

2.4字符串令牌类StringTokenizer

Java.util.StringTokenizer

构造StringTokenizer对象时可以指定一个定界符的集合,每个定界符都是一个字符。定界符将字符创分成一个个片段,这样的片段成为令牌(token)。

StringTokenizer(String s),使用默认的定界符"\t\n\r"(空格,制表符,换行符,回车符),并且定界符不能算作令牌。

countTokens() 返回所包含的的令牌数

hasMoreTokens() 若该对象还有令牌,返回true

nextToken() 返回下一个令牌

2.5字符串扫描类Scanner(JDK1.5的一个新类)

java.util.Scanner

三.对象和类

类名 对象名=new 类名();3.1给方法传递对象参数

3.2静态变量,静态常量,静态方法若想让一个类中的所有实例共享数据,请用静态变量。

要声明一个常量,在静态变量声明中加关键字final.

3.3关键字this

3.4对象数组

类名[ ] 对象数组名=new 类名[数组大小];

Circle[ ] circleArray=new Circle[10]; 创建包含10个Circle对象的数组

四.继承和多态

public class 派生类名 extends 基类名

4.1使用关键字super

关键字super可用于调用父类的构造方法。

父类的构造方法不传给子类,他们只能从子类的构造方法中用关键字super调用。这个调用只能够在构造方法的第一行。super()调用父类的无参构造方法,super(参数),调用与参数匹配的父类构造方法。

关键字super也可用于调用父类的方法。super.方法名(参数)

4.2对象类Object

java中每个类都源于java.lang.Object类。如果一个类在定义是没有指定继承谁,它的父类就是Object。

Object中三个常用的实例方法是:

public boolean equals(Object object)

public int hashCode()

public String toString()

4.2.1 hashCode方法

调用对象的hashCode()返回该对象的哈希代码。哈希码是一个整数,用于在混在集合中存储并能快速查找对象。Object类中实现的hashCode方法,返回对象在计算机内部存储的十六进制内存地址。自己的类覆盖equals方法时,应该覆盖hashCode方法。根据约定,如果两个对象相等,他们的哈希码一定相同。啷个不同的对象也可能有相同的哈希码。

4.2.2 toString方法

五.抽象类和接口

java不允许多重继承,即不允许有几个父类。

六.面向对象建模

七.异常和断言

异常(exception)

try-catch模块

7.1异常类

7.2理解异常处理

声明异常declaring an exception

抛出异常throwing an exception,当程序检查到一个错误后,创建一个适当的类型异常的实例并抛出它。

捕获异常catching an exception,若执行try时没有出现异常,则跳过cathch语句。

八.简单输入输出

8.1文件类File

pathSeperator、pathSeperatorChar、Seperator和SeperatorChar是常亮,但是他们的命名规则像变量,第一个单词小写,后续单词的首字母大写。所以这些名字违反了Java的命名习惯。

在程序中不要直接使用绝对目录名和文件名,因为其只能在win系统中运行,例如“c:\\book\\test.dat”,改成

new File(".").getCanonicalPath()+"book"+File.seperator+"test.dat"

其中'.'表示当前目录。

8.2在java中如何处理输入输出

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1 目标检测的定义 目标检测(Object Detection)的任务是找出图像所有感兴趣的目标(物体),确定它们的类别和位置,是计算机视觉领域的核心问题之一。由于各类物体有不同的外观、形状和姿态,加上成像时光照、遮挡等因素的干扰,目标检测一直是计算机视觉领域最具有挑战性的问题。 目标检测任务可分为两个关键的子任务,目标定位和目标分类。首先检测图像目标的位置(目标定位),然后给出每个目标的具体类别(目标分类)。输出结果是一个边界框(称为Bounding-box,一般形式为(x1,y1,x2,y2),表示框的左上角坐标和右下角坐标),一个置信度分数(Confidence Score),表示边界框是否包含检测对象的概率和各个类别的概率(首先得到类别概率,经过Softmax可得到类别标签)。 1.1 Two stage方法 目前主流的基于深度学习的目标检测算法主要分为两类:Two stage和One stage。Two stage方法将目标检测过程分为两个阶段。第一个阶段是 Region Proposal 生成阶段,主要用于生成潜在的目标候选框(Bounding-box proposals)。这个阶段通常使用卷积神经网络(CNN)从输入图像提取特征,然后通过一些技巧(如选择性搜索)来生成候选框。第二个阶段是分类和位置精修阶段,将第一个阶段生成的候选框输入到另一个 CNN 进行分类,并根据分类结果对候选框的位置进行微调。Two stage 方法的优点是准确度较高,缺点是速度相对较慢。 常见Tow stage目标检测算法有:R-CNN系列、SPPNet等。 1.2 One stage方法 One stage方法直接利用模型提取特征值,并利用这些特征值进行目标的分类和定位,不需要生成Region Proposal。这种方法的优点是速度快,因为省略了Region Proposal生成的过程。One stage方法的缺点是准确度相对较低,因为它没有对潜在的目标进行预先筛选。 常见的One stage目标检测算法有:YOLO系列、SSD系列和RetinaNet等。 2 常见名词解释 2.1 NMS(Non-Maximum Suppression) 目标检测模型一般会给出目标的多个预测边界框,对成百上千的预测边界框都进行调整肯定是不可行的,需要对这些结果先进行一个大体的挑选。NMS称为非极大值抑制,作用是从众多预测边界框挑选出最具代表性的结果,这样可以加快算法效率,其主要流程如下: 设定一个置信度分数阈值,将置信度分数小于阈值的直接过滤掉 将剩下框的置信度分数从大到小排序,选值最大的框 遍历其余的框,如果和当前框的重叠面积(IOU)大于设定的阈值(一般为0.7),就将框删除(超过设定阈值,认为两个框的里面的物体属于同一个类别) 从未处理的框继续选一个置信度分数最大的,重复上述过程,直至所有框处理完毕 2.2 IoU(Intersection over Union) 定义了两个边界框的重叠度,当预测边界框和真实边界框差异很小时,或重叠度很大时,表示模型产生的预测边界框很准确。边界框A、B的IOU计算公式为: 2.3 mAP(mean Average Precision) mAP即均值平均精度,是评估目标检测模型效果的最重要指标,这个值介于0到1之间,且越大越好。mAP是AP(Average Precision)的平均值,那么首先需要了解AP的概念。想要了解AP的概念,还要首先了解目标检测Precision和Recall的概念。 首先我们设置置信度阈值(Confidence Threshold)和IoU阈值(一般设置为0.5,也会衡量0.75以及0.9的mAP值): 当一个预测边界框被认为是True Positive(TP)时,需要同时满足下面三个条件: Confidence Score > Confidence Threshold 预测类别匹配真实值(Ground truth)的类别 预测边界框的IoU大于设定的IoU阈值 不满足条件2或条件3,则认为是False Positive(FP)。当对应同一个真值有多个预测结果时,只有最高置信度分数的预测结果被认为是True Positive,其余被认为是False Positive。 Precision和Recall的概念如下图所示: Precision表示TP与预测边界框数量的比值 Recall表示TP与真实边界框数量的比值 改变不同的置信度阈值,可以获得多组Precision和Recall,Recall放X轴,Precision放Y轴,可以画出一个Precision-Recall曲线,简称P-R
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值