Java中的类和对象,有参与无参方法,字符串

一.类和对象
A.类
1.类是什么呢?

​ 将一些共同的属性和行为组织到一个单元中,就得到了类。

2.类和对象之间的关系

​ 类是对象的抽象,对象是类的实例。

3.如何定义类

​ 语法:

public class 类名{

}
4.类的命名规则

​ a.不能使用Java中的关键字

​ b.不能包括任何嵌入的空格或点号".",以及除下划线"-",字符外的特殊字符

​ c.不能数字开头

B.对象
1.对象是什么呢?

​ 在现实世界中客观存在的事物就叫做对象,对象中又包括了静态(属性)和动态(方法)行为。

2.属性

​ 在类中定义属性的语法:

​ 属性1的类型 属性1;

​ 属性2的类型 属性2;

如:

String name;
int num;
3.方法

语法:访问修饰符 返回值类型 方法名(){}

如:

public String show(){

		//方法体`

}
C.如何创建和使用对象
1.创建对象

语法:类名 对象名=new 类名();

如:在School中创建一个对象

School  cent=new School();
2.使用对象

a.使用属性

语法:对象名.属性;

赋值: 对象名.属性=… ;

如:在School类中创建对象 cent 后

cent.name;
cent.name="小巧";

b.使用方法

语法:对象名.方法名();

如:在School类中创建方法show()后

cent.show();
D.实例:
public class Student {
	String name;			
	int age;					   //定义属性
	String classNo;
	String hobby;
	public void show(){				//定义方法
		System.out.println(name+"\n年龄"+age+"\n就读于"+classNo+"\n爱好"+hobby);
	
	}
}
	class InitialStudent{
		public static void main(String[] args) {
		Student student=new Student();			   //创建对象
		student.name="张浩";
		student.age=10;
		student.classNo="S1班";				//给属性赋值
		student.hobby="篮球";
		student.show();					 //调用方法
		}
	}
二:类的无参方法
1.编写方法步骤

a.定义方法名和返回值类型

b.在{}中编写方法的主体部分

2.返回值

语法:return 表达式;

A.如果方法没有返回值,那么返回值类型为void。

语法:

public void 类名{

}
B…如果方法有返回值

语法:public 返回值类型 方法名{}

接收:首先new一个对象,然后在main方法中声明一个变量接受返回值

如:返回值是String

public  String  show(){
    return  表达式;
}

如:new一个对象mm

String a=mm . show();

C. return语句的意思

跳出方法,给出结果(如果方法产生一个值,这个值放在return后面,即<表达式>部分)

3.方法调用
在同一类中:

在static方法中:要new一个对象,用对象名.方法(); 也可以用类名.方法();

在非static方法中:可以用方法名(); 也可以用对象名.方法();

在不同类中:

要new一个对象,再用对象名.方法();

public class Manager {
	public String show() {				//String 类型的无参方法
		String name="kjhgf";
		return name;					//返回String类型的name
	}
    public void show1() {					//没有返回值的void方法
        String name1="jhgf";
        System.out.print("用户名:"+name1);
    }
}
public class ManagerTesr {
	public static void main(String[] args) {
		Manager ma=new Manager();			//声明一个ma对象
		ma.show1();					//调用方法
        String a=ma.show();				//声明一个变量a接收name
		System.out.print("用户名:"+a);
    }
}
三:类的有参方法
1.有参方法的定义
语法:

<访问修饰符 >返回值类型<方法名>(参数列表){

//方法的主体

}

访问修饰符 :指的是该方法能够被访问的权限范围,如public、private
返回值类型 :方法返回值必须与所说明的类型相匹配,且用return语句返回值
参数列表 :指传送给方法的参数列表,用逗号隔开。它的格式 数据类型 参数1,…
2.调用带参方法
语法:

对象名.方法名(参数1,参数2,…)

注意:

1.先实例化对象,再调用方法

2.实参的类型、数量、顺序都要与形参一一对应。

3.有参与无参的不同点

在调用带参方法时必须传入实际的参数的值。

4.实例
public class S1 {
	String[] names =new String[30]; 	 //姓名数组
	public void addName(String name) {     //有参方法
		
	}
	public void showNames(){		//无参方法
		
	}
}

	/**
	*测试
	*/
import java.util.*;
public class S2 {
	public static void main(String[] args) {
		S1 st=new S1();					//new一个st的对象
		Scanner in=new Scanner(System.in);
		for (int i = 0; i < 5; i++) {
			System.out.println("请输入学生的名字:");
			String newName=in.next();		//循环输入新姓
							 /**
						         *将输入的新姓名传送到有
      	st.addName(newName);			   	 *参方法中所定义的姓名
		}				         */
		st.showNames();			//调用无参方法显示所输入新的姓名
	}

}
5.包
a.声明包

语法:package 包名;

b.注意

包的声明必须是Java源文件中的第一条非注释性语句,而且一个源文件只能有一个包声明语句。

包的名字通常由小写字母组成,不能以圆点开头或结尾。

c.创建包方式

1.分别创建包和类

2.在创建包的过程中创建类所属的包

d.导入包

导入包中的某一个特定的类:

语法:import.包名.类名;

导入包的某些类:

语法:import.包名;

四:字符串
1.字符串是什么呢?

字符串就是由一系列字符组成的序列。

2.如何使用字符串

a.定义并初始化字符串

b.使用字符串,对字符串进行一些处理

如:String a=“Hello”;

3.如何创建字符串对象
a.创建一个空字符串

String a=new String();

b. 创建一个字符串对象"Hello"

String a=new String(){“Hello”}

4.
语法
字符串的长度 : 字符串1. length();
字符串的比较 : 字符串1. equals(字符串2); 或字符串1. equalsIgnore Case(字符串2);
字符串的连接 : String a+b; 或 字符串1. concat(字符串2);
字符串的拆分 : 字符串1. split(String separator ,int limit);
字符串的查询 :字符串. indexOf (字符);(得到的是第一个匹配字符的位置)
或 :字符串. lastIndexOf (字符);(得到的是最后一个匹配的位置)
字符串的提取 :字符串.substring(int index);(得到的是从此位置开始后面的字符串)
或:字符串.substring(int begigning ,int ending);(得到的是位置中间的字符串)

如:

import java.util.*;
public class Dcyyt{
    public  static void main(String[] a);
    Scanner in=new Scanner(System.in)
    String[] ss=new String[10];				//声明一个String的数组
    String a="jhgfdxgz";					
    system.out.println(a.length());			//输出a的长度
    system.out.println(a.equals("jhgfd"));//判断a是否等于jhgfd,若等于输出true
    system.out.println(a+"gftr");	//a与gftr相连接
    ss= a.split("");		 //将a拆分,并将拆分后的每一个字符都保存在ss数组中
    int index=a.indexOf('g'); //查询g在a中第一次出现的位置,声明index变量来接收
    int index1=a.lastIndexOf('g'); //查询g在a中最后一次出现的位置,
    						//声明index1变量来接收
    String b=a.substring(2);	//提取下标为2的字符,并声明b来接收
    String c=a.substring(2,4);	//提取下标为2~4之间的字符串,并声明c来接收
}
5. StringBuffer类
a. StringBuffer是什么呢?

StringBuffer 它是String类的增强类,也是用来存储字符串的

b. StringBuffer 如何使用

.1. 定义并初始化字符串

  1. 使用Stringbuffer对象
c. 常见Stringbuffer类方法
转换(将StringBuffer转换为String):字符串1. toString();
连接:字符串1.=append(字符串2);
插入:字符串1. insert(位置,参数);

如:

import java.util.*;
public class  hg {
	public static void main(String[] args) {
        Scanner in=new Scanner(System.in);
		StringBuffer sb=new StringBuffer("青春无悔");
        						//声明StringBuffer类sb对象,并且赋值
		StringBuffer sb1=sb.append("我心永恒");
		System.out.println(sb1);	//输出拼接后的sb1
        System.out.println("请输入一串数字:");
		String nums=in.next();
		StringBuffer str=new StringBuffer(nums);
        					//接收数字串,存放于StringBuffer类型的对象中
		for (int i =str.length()-3;i>0; i=i-3) {
			str.insert(i, ',');			//从后往前每隔三位添加逗号
		}
		System.out.println(str);
	}
}
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
OpenCV(Open Source Computer Vision Library)是一款开源的计算机视觉库,专门为图像和视频处理任务设计,广泛应用于学术研究、工业应用以及个人项目。以下是关于OpenCV的详细介绍: 历史与发展 起源:OpenCV于1999年由英特尔公司发起,旨在促进计算机视觉技术的普及和商业化应用。该项目旨在创建一个易于使用、高效且跨平台的库,为开发者提供实现计算机视觉算法所需的基础工具。 社区与支持:随着时间的推移,OpenCV吸引了全球众多开发者和研究人员的参与,形成了活跃的社区。目前,OpenCV由非盈利组织OpenCV.org维护,并得到了全球开发者、研究机构以及企业的持续贡献和支持。 主要特点 跨平台:OpenCV支持多种操作系统,包括但不限于Windows、Linux、macOS、Android和iOS,确保代码能够在不同平台上无缝运行。 丰富的功能:库包含了数千个优化过的函数,涵盖了计算机视觉领域的诸多方面,如图像处理(滤波、形态学操作、色彩空间转换等)、特征检测与描述(如SIFT、SURF、ORB等)、物体识别与检测(如Haar级联分类器、HOG、DNN等)、视频分析、相机校正、立体视觉、机器学习(SVM、KNN、决策树等)、深度学习(基于TensorFlow、PyTorch后端的模型加载与部署)等。 高效性能:OpenCV代码经过高度优化,能够利用多核CPU、GPU以及特定硬件加速(如Intel IPP、OpenCL等),实现高速图像处理和实时计算机视觉应用。 多语言支持:尽管OpenCV主要使用C++编写,但它提供了丰富的API绑定,支持包括C、Python、Java、MATLAB、JavaScript等多种编程语言,方便不同领域的开发者使用。 开源与免费:OpenCV遵循BSD开源许可证发布,用户可以免费下载、使用、修改和分发库及其源代码,无需担心版权问题。 架构与核心模块 OpenCV的架构围绕核心模块构建,这些模块提供了不同层次的功能: Core:包含基本的数据结构(如cv::Mat用于图像存储和操作)、基本的图像和矩阵操作、数学函数、文件I/O等底层功能。 ImgProc:提供图像预处理、滤波、几何变换、形态学操作、直方图计算、轮廓发现与分析等图像处理功能。 HighGui:提供图形用户界面(GUI)支持,如图像和视频的显示、用户交互(如鼠标事件处理)以及简单的窗口管理。 VideoIO:负责视频的读写操作,支持多种视频格式和捕获设备。 Objdetect:包含预训练的对象检测模型(如Haar级联分类器用于人脸检测)。 Features2D:提供特征点检测(如SIFT、ORB)与描述符计算、特征匹配与对应关系估计等功能。 Calib3d:用于相机标定、立体视觉、多视图几何等问题。 ML:包含传统机器学习算法,如支持向量机(SVM)、K近邻(KNN)、决策树等。 DNN:深度神经网络模块,支持导入和运行预训练的深度学习模型,如卷积神经网络(CNN)。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值