java返回值

刚开始看java语言,pdf里说求正方形的面积给了程序一,我自己试了试程序二就可以求了啊,程序一里弄这么多返回值的意义是什么?程序二中为什么要在赋值的“doublesid... 刚开始看java语言,pdf里说求正方形的面积给了程序一,我自己试了试程序二就可以求了啊,程序一里弄这么多返回值的意义是什么?程序二中为什么要在赋值的“double side=10.0”前加public static呢?本人小白,刚自学java,问的幼稚了请见谅。
一:
public class SquareProperties
{ public static double computeArea(double side)
{return side*side;}
public static double computePerimeter(double side)
{return 4.0*side;}
public static void main(String args[])
{ double side=10.0;
double area=computeArea(side);
double perim=computePerimeter(side);
System.out.println("Side:"+side);
System.out.println("Area:"+area);
System.out.println("Perimeter:"+perim);
}
}

二、
public class SquareProperties
{
public static double side=10.0;
public static void main(String args[])
{
double area=side*side;
double perim=4.0*side;

System.out.println("Side:"+side);
System.out.println("Area:"+area);
System.out.println("Perimeter:"+perim);
}
}
展开
 我来答
崔晨涛Q8
2012-06-10 · TA获得超过5423个赞
知道小有建树答主
回答量:701
采纳率:0%
帮助的人:636万
展开全部
程序一的结构是这样的, class SquareProperties, 这个class里面有两个普通method和一个main method. 你可以把一个method理解了一个工具包,用来实现一个功能的。double computeArea(double side), 这个method的功能就是计算面积。 你输入了一个参数side, 这个method里面把计算出的面积值返回给你。 第二个是求周长的,同理。
你在main method里面调用这几个方法,就能直接实现求周长和面积的功能了。
而程序二, 则把这两个方法的内容直接混到main method里面了。
你现在可能觉得程序二这种方法更方便, 但如果你以后做一些正规的软件时, 如果把各种功能一气都放到main里面, 无法重复利用,且非常乱。 而把各种功能都分别包到一个个的method里面,需要哪个就用哪个, 非常方便。

程序二中的public static。 public是权限, 表示所有的程序,无论从哪来的,都能调用这个变量。
一般来说能不public的尽量不要。 为了安全和保密起见。
static, 静态的。意思就是说, 给这个变量单独分配一块内存空间,谁都可以调用。如果这个变量不加static, 它就不是一个静态变量。 而它在main method的外边,是无法被main里面的东西所调用的。 建议学习一下局部变量和全局变量。

这些东西我刚学JAVA的时候也非常纠结,一整个学期都没明白, 直到下学期学数据结构的时候才顿悟。 如有不懂, 可私HI我留QQ之类。
qrw084
2013-10-14 · TA获得超过3637个赞
知道小有建树答主
回答量:968
采纳率:0%
帮助的人:2291万
展开全部
打个比方:你是公司的老总,然后你跟你秘书说,我想要两张《非诚勿扰》的电影票。然后,你秘书去排队买票,最后把两张电影票给你,这两张电影票就是你 调用 “秘书买票” 方法 的返回值,你可以用这个返回值做任何操作,比如逗你女朋友开心,比如送给朋友,比如自己去看电影,一边看一边把另一张撕着玩儿。
当然,Java中有一个特殊的返回值,void,它的含义就是“没有返回的值”或者理解为“返回值为空”。比如,央行加息,然后明年银行就自动把你每月房贷的还款额提高了,它们是不会通知你“由于央行加息,所以要提高你的每月还款额”,也就是没有返回值。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
felixnan168
推荐于2017-10-05 · TA获得超过1330个赞
知道小有建树答主
回答量:339
采纳率:50%
帮助的人:269万
展开全部
java中的实例方法按返回类型来说分为两种,一个是无返回值,也就是void型,例:
public void print(){
......
}
这里面的代码最后一句 不能写成return ... 否则 编译器则认为这个方法是有返回值的,那么和你上面的定义 void 冲突,则编译不通过

另一种就是有返回值的 例:
public int print(){
....
return 1;
}
注意:这里的 int 是此方法的返回类型,这里是int则代表为返回值是整型,在代码的结尾最后一行,则必须返回一个int型的值,以此类推方法定义成什么类型,那么就必须返回什么

public static void print(){
....
}
此实例方法是 静态无返回类型 方法,在上述例子中代表静态方法,方便在main方法里调用,java中要想在main方法或者其他类中调用一个类中的方法,那么必须 先创建这个类的实例,也是就new 一个这个类 然后用这个类的对象去调用此对象的方法,如果写成静态方法,则不需要,直接写类名 + "." + 方法名称
类中属性也是一样的

把你上面两个例子改掉 自习看了

public class SquareProperties
{ public double computeArea(double side)
{return side*side;} //已经去掉static
public double computePerimeter(double side)
{return 4.0*side;}//已经去掉static
public static void main(String args[])
{
SquareProperties sp = new SquareProperties();//创建一个类对象sp
double side=10.0;
double area= sp.computeArea(side);//调用sp中方法
double perim=sp.computePerimeter(side);//调用sp中方法

System.out.println("Side:"+side);
System.out.println("Area:"+area);
System.out.println("Perimeter:"+perim);
}
}

二、
public class SquareProperties
{
public double side=10.0;//去掉static
public static void main(String args[])
{
SquareProperties sp = new SquareProperties();//创建类对象,也就是实例一个对象
double area=sp.side*sp.side;//调用类中属性
double perim=4.0*sp.side;//调用类中属性

System.out.println("Side:"+sp.side);//调用类中属性,
System.out.println("Area:"+area);
System.out.println("Perimeter:"+perim);
}
}
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
计算机的赞歌
2012-06-10 · TA获得超过801个赞
知道小有建树答主
回答量:584
采纳率:0%
帮助的人:277万
展开全部
返回值意思是我给你一个数a,你拿a运算后返回给我一个新的数b,我再用b来执行下一步运算。public代表共有,意思是所有对象都能用,static代表静态,表示这个变量在程序一开始运行就会被加载
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
木星上的程序员
2012-06-10 · TA获得超过476个赞
知道小有建树答主
回答量:602
采纳率:0%
帮助的人:411万
展开全部
程序一,写返回值,当然是为了在main方法中调用上面这些方法有返回值啊,要不就没输出。

程序二,你声明的是成员变量,如果在main方法中调用的话,必须得是声明static的,不声明为static的成员变量,只是针对对象来说的!!
你也可以把double side = 10.0放进main方法里,这样就可以不用static修饰了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式