例如定义了一个方法public static int sum(int n),
递归调用时写成return n + sum(n--);运行时为何会出错,而写成 return n + sum (n-1);时运行结果正常?
关注
码龄 粉丝数 原力等级 --
- 被采纳
- 被点赞
- 采纳率

已采纳
java中关于 ++ 运算符的问题
收起
- 写回答
- 好问题 0 提建议
- 关注问题
微信扫一扫
点击复制链接分享
- 邀请回答
- 编辑 收藏 删除 结题
- 收藏 举报
5条回答 默认 最新
- 关注
码龄 粉丝数 原力等级 --
- 被采纳
- 被点赞
- 采纳率
jianpuhong2557 2017-12-24 06:38关注n--先进行sum(n)之后n-1,陷入死循环,换成--n试试?
本回答被题主选为最佳回答 , 对您是否有帮助呢? 本回答被专家选为最佳回答 , 对您是否有帮助呢? 本回答被题主和专家选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏举报微信扫一扫
点击复制链接分享
编辑预览轻敲空格完成输入- 显示为
- 卡片
- 标题
- 链接
评论按下Enter换行,Ctrl+Enter发表内容
编辑
预览

轻敲空格完成输入
- 显示为
- 卡片
- 标题
- 链接
报告相同问题?
提交
- 2022-03-20 08:41回答 1 已采纳 &是按位与,和1 按位与,就是判断第0位是否为1也就是判断是否为奇数
- 2022-03-31 15:56回答 2 已采纳 System.out.println(a+1+(++a)+ a++);//分成三步[a+1] + [(++a)] + [a++] //[a+1] 先执行a+1=8//++a 先a=a+1再执行,此时a
- 2023-03-06 11:26回答 2 已采纳 这些 都是 双目运算符, 逻辑与 和 逻辑非 有 熔断的特征; 逻辑与,前面表达式 false , 整个 表达式 就是false,也就不需要判断执行后一个表达式逻辑非,前面表达式 true ,整
- 2022-04-13 06:23愉快的马儿的博客 3,有=号时,++在变量后,先做赋值运算再对变量中的值加1;++在变量前,先做自加1运算,然后操作赋值运算; public class Test01 { public static void main(String[] args) { int i=10; i++; System.out.println("i...
- 2018-10-02 00:47回答 5 已采纳 一般这么写: Scanner in = new Scanner(System.in); a = in.nextInt(); b = in.nextInt(); c = in.nextInt(
- 2017-10-30 04:50回答 5 已采纳 a=2 a+= ++a 所以a+=3,但是这里的a是a=2的a,所以是5
- 2021-08-22 13:08回答 1 已采纳 因为运算符重载的时候要在运算符两侧的对象中找对应的运算方法,此时对于此对象来说,他自身已经作为一个默认值被传入了,相当于对象A在其重载运算+中传入了参数B,或许可以等价的看做a.A+(B)重载+只能填
- 2021-07-21 01:37啊帅和和。的博客 通过几个小实例来理解Java中的 + 运算符。 首先运算符都要从左往右进行计算。 字符串旁边的+号的含义是拼接。 字符旁边的+号的含义是ASCII码相加。 System.out.println('a'); System.out.println('a'+1); //a是...
- 2020-10-18 03:08回答 2 已采纳 i += ++i ->i = i + (++i) = 1 + (++1) = 1 + 2 = 3
- 2022-08-02 11:34回答 2 已采纳 left-- 会先执行该语句的计算任务然后再自身-1在迭代传递时,传递的不是left-1而是left,所以永远计算的是helper(,,left,right)导致StackOverflowError
- 2019-11-27 01:52回答 4 已采纳 三目表达式返回的时一个值,必须要把它赋给一个变量才行,而你的代码中是不同的处理动作,这是 if 的功能,不是三目表达式的。 ``` ans= height[left]>= maxLeft
- 2020-05-14 02:48Bella_chene的博客 java中的++与–运算符 1、++自加 2、–自减 注意: (1)运算符出现在变量的左边,则先对变量进行加/减1,然后带入表达式进行计算 (2)运算符出现在变量的右边,则先将变量带入表达式中进行计算,然后再对变量进行...
- 2022-12-30 12:18本文将详细讲解Java中的运算符及其在实际编程中的应用。 首先,我们要了解Java中的类型转换。类型转换分为两种:自动类型转换和强制类型转换。自动类型转换发生在数据范围小的类型向数据范围大的类型转换时,例如,...
- 2021-08-07 02:51先睡五分钟的博客 一:关于Java中的"+"运算符 1.当+两边确定都是数字的话一定是进行加法运算 2.当+两边的数据是字符串(1个)一定会进行字符串的连接运算,并且连接过后运算结果一 定 还是一个字符串类型 数字+数字--->数字...
- 2021-08-25 08:21wojiaowj-的博客 ++(自加1) 不管++出现在变量前还是变量后,总之++执行结束之后,变量的值就一定会加1. int i=10; int j=i++;//j=10; 当++出现在变量后,会先做赋值运算,再自加1. int i=10; int j=++i;//j=11;...tem
- 没有解决我的问题, 去提问