本文目录一览:
- 1、java定义子函数不能直接交换数组中的元素吗?
- 2、请问,Java程序中,有主函数跟子函数,不会直接输出结果,一般要怎么调用?还有怎么应用于我的数据,GPR数
- 3、子函数 是什么意思?
- 4、举一个子函数是这样的例子(void test(void)),初学者望细心教导,谢谢
- 5、java中函数的声明和定义
- 6、Java写一个自定义函数
java定义子函数不能直接交换数组中的元素吗?
可以的,你写的方法不对。
public class SwapArray {
public static void main(String[] args) {
int arr[] = {1,2,3,4,5,6};
print(arr);
swap(arr, 0, 1);
print(arr);
}
public static void swap(int []arr,int x,int y){
int temp = arr[x];
arr[x] = arr[y];
arr[y] = temp;
}
public static void print(int []arr){
for(int a:arr){
System.out.print(a+"\t");
}
System.out.println();
}
}
结果:
请问,Java程序中,有主函数跟子函数,不会直接输出结果,一般要怎么调用?还有怎么应用于我的数据,GPR数
你理解错了Java程序结构了。在Java中根本没有子函数的说法了。
Java中的所有函数都属于类,没有高低上下之分。除了两种函数比较特殊,一个是构造函数,一个是main(String[] args),这个是俗称的主函数。
一个类,如果拥有形如public static void main(String[] args)形式的函数,那么使用Java.exe命令执行这个类时,会从这个函数进入执行。反之,没有这个函数的Java类,是不能被Java.exe命令执行的。
而一些类,是为了充当功能模块或表达数据的,这时,当前正在执行的代码可以通过new一个这个类的实例,间接调用了它的构造函数执行;或者,直接调用这个类的static方法;再或者,有了实例后,使用实例调用它的成员方法。
子函数 是什么意思?
主函数:即程序的入口函数,通常是有main字样的函数为主函数。程序执行的时候最先调用的是这个函数。
子函数:即用户可以自定义的函数,其实可以写到主函数中,但阅读等很费劲,所以很多代码提到子函数中实现,让代码可读性很强,更精练。
因此,主函数必须有,且可以调用子函数,这是编程语言决定的。子函数可有可没有,子函数可以被主函数调用,也可以被其他子函数调用。
如果函数a中调用了函数b,函数b就叫做函数a的子函数
举一个子函数是这样的例子(void test(void)),初学者望细心教导,谢谢
String test( String name)
{
String str ="Hello "+name;
return str;
}
函数分主函数和子函数
主函数,一般是指程序入口,比如C语言中的main函数
子函数,就是指用户自定义函数,可以定义在主函数内,也可以定义在主函数外
函数,主要有4个部分组成,返回值类型,函数名,传入参数,以及函数体
上面例子
1、test 是函数名
2、test 前面的string 就是返回值类型, 如果没有返回值 那就写void 同时函数体内就不需要写return,如果有返回值,那就必须return ,后面跟的参数类型必须跟返回类型一致。
3、括弧内的就是传入参数 name,类型是 string,如果没有传入参数就不要写任何东西。你上面写的是错误的。
4、大括弧内的就是函数体,里面写函数处理过程。
这是最基础的。最好买本C语言看看。朋友应该是一点基础都没,要系统的学习下
一般先学下C语言,了解下基本的语法和面对过程,
然后学下C++当然直接java和C#也可以。关键是要理解面对对象的程序编程。
java中函数的声明和定义
Java中,我们应该知道最基本的就是定义变量和声明变量了,那么定义与声明这两者有没有区别呢?具体的区别又是哪些呢?下面学习啦小编来告诉你定义与声明的区别。
定义和声明的定义区别
1、一种是需要建立存储空间的。例如:int a 在声明的时候就已经建立了存储空间。
2、另一种是不需要建立存储空间的。 例如:extern int a 其中变量a是在别的文件中定义的。
声明是向编译器介绍名字--标识符。它告诉编译器“这个函数或变量在某处可找到,它的模样象什么”。
而定义是说:“在这里建立变量”或“在这里建立函数”。它为名字分配存储空间。无论定义的是函数还是变量,编译器都要为它们在定义点分配存储空间。
对于变量,编译器确定变量的大小,然后在内存中开辟空间来保存其数据,对于函数,编译器会生成代码,这些代码最终也要占用一定的内存。
总之就是:把建立空间的声明成为“定义”,把不需要建立存储空间的成为“声明”。
基本类型变量的声明和定义(初始化)是同时产生的;而对于对象来说,声明和定义是分开的。
下面小编给大家举个例子说明一下。
例如:类A
如果A a;就是一个声明,告诉编译器a是A类的一个对象变量,但是不进行初始化;
如果以后a=new A();这就是初始化,分配了空间。
需要注意的是我们声明的最终目的是为了提前使用,即在定义之前使用,如果不需要提前使用就没有单独声明的必要,变量是如此,函数也是如此,所以声明不会分配存储空间,只有定义时才会分配存储空间。
用static来声明一个变量的作用有二:
(1)对于局部变量用static声明,则是为该变量分配的空间在整个程序的执行期内都始终存在。
(2)外部变量用static来声明,则该变量的作用只限于本文件模块。
定义和声明的具体区别
所谓定义就是(编译器)创建一个对象,为这个对象分配一块内存,并给它取上一个名字,这个名字就是就是我们经常所说的变量名或对象名。
声明有2重含义:
(1) 告诉编译器,这个名字已经匹配到一块内存上,下面的代码用到变量或者对象是在别的地方定义的。声明可以出现多次。
(2) 告诉编译器,这个名字已经被预定了,别的地方再也不能用它来作为变量名或对象名。
定义和声明最重要区别
定义创建对象并为这个对象分配了内存,声明没有分配内存。
Java写一个自定义函数
为了帮助网友解决“java创建自定义函数”相关的问题,中国学网通过互联网对“java创建自定义函数”相关的解决方案进行了整理,用户详细问题包括:; /.println(arrs.这里是返回最大值
return 8;;/我想自定义getmax函数的话怎么做
}
public int getMax(){
/.getMax);/,7.outpublic class test{
public static void main(String[] args){
int arrs[] =new int[]{1;
}
}
我想java实现javascript 里面 prototype 这样的原型对象,5.,5;
System,1},8,4,具体解决方案如下:
解决方案1:
println(getMax(arrs)); a) a = arrs[i].length; arrs; i
}
public static int getMax(int[] arrs){
int a = 0;
for (int i = 0,7.outpublic class TEST{
public static void main(String[] args){
int[] arrs =new int[]{1;
}
return a,5; i++) {
if(arrs[i] ,5;
System,1},8,4
解决方案2:
谢谢。。我能不能 .length() 这样的函数自定义创建呢?
解决方案3:
jdk提供一些常用类跟方法方便我们写程序,自己写也一样的
arrs.length Array里面封装好的实例属性
解决方案4:
谢谢!
解决方案5:
7,5;
}
public static void main(String[] args){
int arrs[] =new int[]{1:
public static int getMax(int[] arrs){
/.这里是返回最大值
return 8;/:
public static void main(String[] args){
int arrs[] =new int[]{1..;
System,4,4; ///,1}.out;
System; /,5,5,5;.,7,8.;我想自定义getmax函数的话怎么做
}
改为public int getMax(){
/,1}.out;;/.getMax),8.这里是返回最大值
return 8;
}
改为.println(getMax(arrs)).println(arrs
解决方案6:
方法没有修饰符的例子:
String getName(){ //无修饰符,无参数,有String类型返回值
return "张3";
}
void getName(){ //无修饰符,无参数,无返回值
system.out.println("张3");
}
int add(int a,int b){ //无修饰符,有2个整型参数,有整型返回值
return a+b;
}
方法有2种修饰符
1)有public、protected、private三种显示的访问控制修饰符
2)还可以有static 、 final 、abstract 这三个修饰符
方法含有修饰符的例子:
public String getName(){ //public修饰符(公有方法),无参数,有String类型返回值
return "张3";
}
private void getName(){ //无修饰符(私有方法),无参数,无返回值
system.out.println("张3");
}