A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 李万海 中级黑马   /  2013-3-29 21:53  /  2021 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 李万海 于 2013-3-30 13:51 编辑
  1. public static void trans(int num,int base,int offset)
  2.         {
  3.                 if(num==0)
  4.                 {
  5.                         System.out.println(0);
  6.                         return;
  7.                 }
  8.                         
  9.                 char chs[]={'0','1','2','3'
  10.                                 ,'4','5','6','7'
  11.                                 ,'8','9','A','B'
  12.                                 ,'C','D','E','F'};
  13.                 char arr[]=new char[32];
  14.                 int pos = arr.length;
  15.                 while(num!=0)
  16.                 {
  17.                         int temp = num & base;
  18.                         arr[--pos] = chs[temp];
  19.                         num = num >>> offset;
  20.                 }
  21.                 for(int x=pos;x<arr.length;x++)
  22.                 {
  23.                         System.out.print(arr[x]);
  24.                 }
  25.         }
复制代码
void不是无返回类型吗, 这里为什么会有return啊 ?起什么作用?

评分

参与人数 1技术分 +1 收起 理由
陈丽莉 + 1

查看全部评分

8 个回复

正序浏览
在有void的情况下  return的作用是中断所在的方法和 break,continue 差不多  只是break是结束整个循环,continue是结束本次循环。
回复 使用道具 举报
张宝 发表于 2013-3-29 22:37
我想问一下,向你这种帖子,前边带着行好的 是怎么发出来的.......搞不懂呢?? ...

添加代码啊。就是点击<>,在里边写代码就行了
回复 使用道具 举报
张宝 发表于 2013-3-29 22:37
我想问一下,向你这种帖子,前边带着行好的 是怎么发出来的.......搞不懂呢?? ...

回复之后有一个尖括号,加在里面的代码会有行号的。
如图:

尖括号.png (704 Bytes, 下载次数: 23)

尖括号.png
回复 使用道具 举报
张宝 发表于 2013-3-29 22:37
我想问一下,向你这种帖子,前边带着行好的 是怎么发出来的.......搞不懂呢?? ...
  1. //发帖,高级 ,添加代码
复制代码
回复 使用道具 举报
本帖最后由 贺靖轩 于 2013-3-29 22:48 编辑

中止循环 和Break效果等价
恩 虽然效果相同 但是其机制是不同的
break  是在循环中跳出循环时使用的,表示接下去就不再执行循环语句了
return 是结束了一个方法的调用,并且返回一个给该方法的定义的类型的返回值;本例中是用了Retrun 但没有返回任何数据 与定义中的Void吻合。


评分

参与人数 1技术分 +1 收起 理由
陈丽莉 + 1

查看全部评分

回复 使用道具 举报
我想问一下,向你这种帖子,前边带着行好的 是怎么发出来的.......搞不懂呢??
回复 使用道具 举报
你去掉return也不会编译失败的,但是这里必须要return,因为,当你输入0的时候,你还需要往下进行运算吗?结果就是0了,所以,直接用return结束程序就行了

评分

参与人数 1技术分 +1 收起 理由
陈丽莉 + 1

查看全部评分

回复 使用道具 举报
ruturn用来中断你的循环的!你用的是while,要是不return,那不陷入死循环了!
只要num==0,执行ruturn,整个程序就结束了!

评分

参与人数 1技术分 +1 收起 理由
陈丽莉 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马