java基础-day06-数组(二) 面向对象(一)-类的创建

数组的遍历

输出每个月的天数
public class Test1{
	public static void main(String[] args){
		method();
	}
	public static void method(){
		int[] a =  {31,28,31,30,31,30,31,31,30,31,30,31};
		for(int i = 0; i < a.length; i++){
			System.out.println(i+1+"月有"+a[i]+"天");
		}
	}
}
遍历数组,存入 1 到 10

注: 打印数组名(字符数组名除外,打印字符数组名可得到字符数组内容)得到的结果是数组的地址值.

public class Test2{
	public static void main(String[] args){
		method();
	}
	public static void method(){
		int[] a = new int[10];
		for(int i = 0;i < a.length;i++){
			a[i] = i + 1;
		}
		System.out.println(a); //[I@1edf1c96 打印出数组名地址
		// 遍历取出数组内容
		for(int i = 0;i < a.length; i++){
			System.out.print(a[i]+" "); // 1 2 3 4 5 6 7 8 9 10
		}
	}
}
创建随机数组
public class Test3{
	public static void main(String[] args){
		int num = 5;//  记录随机数组个数
		method(num);
	}
	public static void method(int num){
		int[] a = new int[num];
		for(int i = 0; i < a.length;i++){
			a[i] = new Random().nextInt(100); //产生 0 - 100 的随机整数
		}
		for(int i = 0;i < a.length;i++){
			System.out.print(a[i]+" ");
		}
		
	}
}

数组工具类 Arrays

介绍数组工具类 Arrays 三种常用的方法 toString() sort(), copyOf();

toString() 显示数组中的数据
import java.util.Arrays;
public class Test4 {
	public static void main(String[] args) {
		method1();
	}
	public static void method1(){
		double[] a = {1.1,2.2,3.3,4.4,5.5};
		System.out.println(Arrays.toString(a));
	}
}
sort() 对数组进行排序
import java.util.Arrays;
public class Test5 {
	public static void main(String[] args) {
		method2();
	}
	public static void method2(){
		int[] a = {34,24,54,23,23,0,12,2,5,7,35};
		Arrays.sort(a);
		System.out.println(Arrays.toString(a)); // [0, 2, 5, 7, 12, 23, 23, 24, 34, 35, 54]
	}
}
copyOf() 对数组进行复制
import java.util.Arrays;
public class Test6 {
	public static void main(String[] args) {
		method3();
	}
	public static void method3(){
		int[] old = {1,2,3,4,5};
		int[] now = Arrays.copyOf(old, 8);
		System.out.println(Arrays.toString(now));//[1, 2, 3, 4, 5, 0, 0, 0]
		
		int[] now2 = Arrays.copyOf(old, 3);
		System.out.println(Arrays.toString(now2)); // [1, 2, 3]
	}
}

面向对象OOP

三大特性: 1 封装 : 把相关数据封装成"类"的组件
2 继承: 子类自动共享父类的属性和方法,是类之间的一种关系
3 多态 增强软件的灵活性和重用性

类的创建及对象的使用

注: 一个.java文件中,可以包含多个类,但是只能有一个类被public修饰,而且这个public的类名就是.java文件名

public class Test7 {
	public static void main(String[] args) {
		Phone phone = new Phone();
		phone.call(); // 打电话...
		phone.message(); //发信息...
		phone.music();  //听音乐...
		
		phone.color = "red";
		phone.pinpai = "xiaomi";
		phone.size = 7;
		phone.price = 3599;
		
		System.out.println(phone.color); // red
		System.out.println(phone.pinpai);// xiaomi
		System.out.println(phone.size);// 7
		System.out.println(phone.price);// 3599.0
	}
}
class Phone{
	String color;
	String pinpai;
	double price;
	int size;
	
	public void call(){
		System.out.println("打电话...");
	} 
	public void message(){
		System.out.println("发信息...");
	}
	public void music(){
		System.out.println("听音乐...");
	}
}

对象内存管理

JAVA内存共分为五大区域,在此重点关注 堆 和 栈
以下为 类 创建 对象 时的内存管理
在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
目标检测(Object Detection)是计算机视觉领域的一个核心问题,其主要任务是找出图像中所有感兴趣的目标(物体),并确定它们的别和位置。以下是对目标检测的详细阐述: 一、基本概念 目标检测的任务是解决“在哪里?是什么?”的问题,即定位出图像中目标的位置并识别出目标的别。由于各物体具有不同的外观、形状和姿态,加上成像时光照、遮挡等因素的干扰,目标检测一直是计算机视觉领域最具挑战性的任务之一。 、核心问题 目标检测涉及以下几个核心问题: 分问题:判断图像中的目标属于哪个别。 定位问题:确定目标在图像中的具体位置。 大小问题:目标可能具有不同的大小。 形状问题:目标可能具有不同的形状。 三、算法分 基于深度学习的目标检测算法主要分为两大: Two-stage算法:先进行区域生成(Region Proposal),生成有可能包含待检物体的预选框(Region Proposal),再通过卷积神经网络进行样本分。常见的Two-stage算法包括R-CNN、Fast R-CNN、Faster R-CNN等。 One-stage算法:不用生成区域提议,直接在网络中提取特征来预测物体分和位置。常见的One-stage算法包括YOLO系列(YOLOv1、YOLOv2、YOLOv3、YOLOv4、YOLOv5等)、SSD和RetinaNet等。 四、算法原理 以YOLO系列为例,YOLO将目标检测视为回归问题,将输入图像一次性划分为多个区域,直接在输出层预测边界框和别概率。YOLO采用卷积网络来提取特征,使用全连接层来得到预测值。其网络结构通常包含多个卷积层和全连接层,通过卷积层提取图像特征,通过全连接层输出预测结果。 五、应用领域 目标检测技术已经广泛应用于各个领域,为人们的生活带来了极大的便利。以下是一些主要的应用领域: 安全监控:在商场、银行
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值