首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • 一个return问题 [已结贴,结贴人:yuyistar]
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-03-16 22:02:09 楼主
    当程序没有带命令行参数是会出错,下面程序中的return有什么作用,如果去掉会显示java默认的错误信息。main方法是没有返回值的。但是这里的return怎样解释

    import java.io.File;


    class FileTest {

        public FileTest () {
        }


        public static void main(String[] args) {   
            if(args.length==0){
              System.out.println("运行该程序时,请输入以下格式的命令:");
              System.out.println("java FileTest <文件名>");
              return; 
            }
            File file = new File(args[0]); 
            System.out.println("文件或目录是否存在:" +  file.exists());
            System.out.println("是文件吗:" +  file.isFile());
            System.out.println("是目录吗:" +  file.isDirectory());
            System.out.println("名称:" +  file .getName());
            System.out.println("路径: " + file.getPath());
            System.out.println("绝对路径: " + file.getAbsolutePath());
            System.out.println("最后修改时间:" + file.lastModified());   
            System.out.println("文件大小:" + file.length()+ " 字节");
        }
    }
    20  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • Mailbomb
    • 等级:
    发表于:2008-03-16 22:18:041楼 得分:0
    这个return语句的作用是从方法中返回,也就是结束方法的执行
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-03-17 00:44:472楼 得分:0
    main方法是没有返回值的

    你写的void就是main的返回。没有返回值的是构造器。
    返回void和没有返回是两码事。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-03-17 02:46:343楼 得分:0
    if(args.length==0)
    指出当命令行没有参数时, 这个程序就不继续执行了, 结束main函数.

    返回类型为void的函数, 如果在函数中不显示的调用 return; 这个语句, 那么在编译的时候, 编译器会自动的给你加上, 即省点事.

    所以一般看到的返回类型为void 的函数虽然没有return这个语句, 但实际上内部是存在的.
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-03-17 03:33:444楼 得分:0
    简单的理解就是结束当前的方法
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-03-17 05:10:535楼 得分:20
    1 return 后面并没有任何内容,所以是void
      而 return 1; 是返回一个数字。

    2 一个方法有10行,你在第3行return,表示,我不想执行后面的7行了。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-03-17 08:48:406楼 得分:0
    跳出方法
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-03-17 10:03:557楼 得分:0
    5楼正解
    正是我想说的
    return 和 return 0  是不同的

    return跳出所在方法,或是当前循环
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-03-17 10:14:188楼 得分:0
    楼上说的对。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-03-17 10:24:029楼 得分:0
    当args.length=0的时候
    就结束main..无需往下执行,这是一个逻辑判断
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-03-17 20:52:3510楼 得分:0
    谢谢各位。学习了
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-03-17 20:59:5211楼 得分:0
    支持5楼大哥..
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • JerryBeckF
    • 等级:
    发表于:2008-03-17 21:11:1912楼 得分:0
    版大来了,跟着沾点光
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-03-17 21:45:5013楼 得分:0
    支持五楼的 !!!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-03-17 21:57:1014楼 得分:0
    支持五楼的。
    修改 删除 举报 引用 回复

    网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
    北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
    世纪乐知(北京)网络技术有限公司 提供技术支持
    Copyright © 2000-2008, CSDN.NET, All Rights Reserved