「java方法类别」java方法类型有几种

博主:adminadmin 2023-03-18 16:44:07 316

本篇文章给大家谈谈java方法类别,以及java方法类型有几种对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

java中都有些什么方法?

在java中,方法就是用来完成解决某件事情或实现某个功能的办法。

方法实现的过程中,会包含很多条语句用于完成某些有意义的功能——通常是处理文本,控制输入或计算数值。

我们可以通过在程序代码中引用方法名称和所需的参数,实现在该程序中执行(或称调用)该方法。方法,一般都有一个返回值,用来作为事情的处理结果。

方法的语法格式:

在Java中,声明一个方法的具体语法格式如下

修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2,......){

执行语句

………

return 返回值;

}

java类方法?

emm...问题...不少。

1、这个构造函数问题就很大:

你传递一个r数组进来,然后你又让this.v1=v1,this.v2=v2,那么这个r的意义到底是什么?你构造出来的这个向量的v1和v2也还是根本没有任何值。

2、这。。这块问题太多了,我都不知道该怎么说,就全都不应该这么玩,下面加法也是一样的我就不圈出来了。

首先,非常不建议用null来声明任何变量,你声明r[]数组为null,下面又在循环里使用r[i],r都不是一个东西(因为它是null,还真不是个东西 手动滑稽),r[i]必然导致万恶的空指针异常NullPointerException。然后前面第一点说了,你的v1和v2根本就没有值,其实他们也是null,所以v1.length也将产生空指针异常,你的for循环根本没法进行。好,就算假设你的v1和v2都声明为new double[0]了,他们不再是null了,那么你的这个方法最终有可能返回null,又来了又来了,不要随便使用null,一不小心可能导致你main方法中调用这个方法后再次造成空指针异常。所以你非要这样写的话也建议写成return new double[0];这样即使它是一个空的数组但最起码它已经是个对象了,不再是null了。

3、main方法中null又双叒来了:

null数组不能放任何东西进去,不然将导致空指针异常。

所以现在怎么办?我估计你也发现了,因为你不知道这个数组究竟有多少个数字所以无法准确地定义这个r的长度。

本来我认为最优的做法是利用java的几种数据结构来保存输入项就好了,但是我怕你还没学到,其中这几个数据结构都不需要指定长度就能保存数据,他们能保存的最大数据量为int的最大值:java.util.List(java的集合,特别好用)、java.util.Vector(没错,java本来就有向量这种数据结构,比你这个MyVector功能要多一些)、java.util.Stack(栈其实是继承了向量,是一种特殊的向量)、java.util.Queue(java的队列),常用的就这些。

另外一种方法就是指定r[]数组有一个较大的length,也就是一开始就声明的足够大,比如直接double[] r = new double[999]但是这种是非常不好的办法,一个是如果你最终只存储两三个数字,那么数组空间就浪费太多了,另外是如果超过了999个数字,又会导致数组溢出。

所有我下面采用了第三种直截了当的方法帮你改进为,一开始你要输入向量的长度,你要说明向量到底有多长,这样不就能准确地定义r[]数组了吗?look:

这样就稳得一批了。

4、再看你main方法的最后:

你这种设计方法根本没有体现出两个向量之间的运算关系啊,根本就是只有一个向量在这里。因此,你的运算函数应该修改为传入一个新的向量,也就是这样:

这样的话,main函数里就可以这样了:

看到没,是不是一眼就能看出是向量1和向量2相加、点积?

5、审题!审题!你的toString()方法呐?结果保留两位小数呐?see:

另外题目里还说要定义一个int n的成员变量表示维度。我没太明白这个维度是啥?这不就是一维向量吗?维度不就是1吗?

综上所述,代码被我整体修改为:

public class MyVector {

private double[] array;

private int n = 1;

public MyVector(double[] array) {

this.array = array;

}

public double[] getArray() {

return this.array;

}

public double[] MyVectorDott(MyVector myVector2) {

double[] array2 = myVector2.getArray();

double[] result = new double[this.array.length];

for (int i = 0; i this.array.length; i++) {

result[i] = this.array[i] * array2[i];

}

return result;

}

public double[] MyVectorAdd(MyVector myVector2) {

double[] array2 = myVector2.getArray();

double[] result = new double[this.array.length];

for (int i = 0; i this.array.length; i++) {

result[i] = this.array[i] + array2[i];

}

return result;

}

public String toString() {

String s = "(";

for (int i = 0; i this.array.length; i++) {

if (i this.array.length - 1) {

s += String.format("%.2f", this.array[i]) + ",";

} else {

s += String.format("%.2f", this.array[i]);

}

}

return s + ")";

}

public static void main(String[] args) {

System.out.print("请输入向量长度:");

Scanner input = new Scanner(System.in);

int length = input.nextInt();

double[] array1 = new double[length];

double[] array2 = new double[length];

System.out.print("请输入第一组向量值:");

input = new Scanner(System.in);

for (int i = 0; i length; i++) {

array1[i] = input.nextDouble();

}

System.out.print("请输入第二组向量值:");

input = new Scanner(System.in);

for (int i = 0; i length; i++) {

array2[i] = input.nextDouble();

}

input.close();

MyVector myVector1 = new MyVector(array1);

System.out.println("向量1为:");

System.out.println(myVector1.toString());

System.out.println("向量2为:");

MyVector myVector2 = new MyVector(array2);

System.out.println(myVector2.toString());

MyVector myVector3 = new MyVector(myVector1.MyVectorAdd(myVector2));

System.out.println("向量1与向量2求和为:");

System.out.println(myVector3.toString());

System.out.println("向量1与向量2点积为:");

MyVector myVector4 = new MyVector(myVector1.MyVectorDott(myVector2));

System.out.println(myVector4.toString());

}

}

运行结果:

代码老是会挤在一起,你自己整理一下

北大青鸟java培训:Java中方法介绍?

方法包含一个方法头和一个方法体。

下面是一个方法的所有部分:修饰符:修饰符,这是可选的,告诉编译器如何调用该方法。

定义了该方法的访问类型。

返回值类型:方法可能会返回值。

returnValueType是方法返回值的数据类型。

有些方法执行所需的操作,但没有返回值。

在这种情况下,returnValueType是关键字void。

方法名:是方法的实际名称。

方法名和参数表共同构成方法签名。

参数类型:参数像是一个占位符。

当方法被调用时,传递值给参数。

这个值被称为实参或变量。

参数列表是指方法的参数类型、顺序和参数的个数。

参数是可选的,方法可以不包含任何参数。

方法体:方法体包含具体的语句,定义该方法的功能。

如:1publicstaticintage(intbirthday){...}参数可以有多个:1staticfloatinterest(floatprincipal,intyear){...}注意:在一些其它语言中方法指过程和函数。

一个返回非void类型返回值的方法称为函数;一个返回void类型返回值的方法叫做过程。

实例下面的方法包含2个参数num1和num2,它返回这两个参数的最大值。

/**返回两个整型变量数据的较大值*/在Java中,方法的定义方式类似于其他语言,尤其与C和C++很类似。

定义的一般格式如下:1修饰符返回类型名字(参数列表)块其中,名字是方法名,它必须使用合法的标识符。

返回类型说明方法返回值的类型。

如果方法不返回任何值,它应该声明为void。

Java对待返回值的要求很严格,方法返回值必须与所说明的类型相匹配。

如果方法说明有返回值,比如说是int,那么方法从任何一个语句分支中返回时都必须返回一个整数值。

修饰符段可以含几个不同的修饰符,其中限定访问权限的修饰符包括public,protected和private。

成都java培训认为public访问修饰符表示该方法可以被任何其他代码调用,而priVate表示方法只能被类中的其他方法调用。

java方法类别的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java方法类型有几种、java方法类别的信息别忘了在本站进行查找喔。