java和c中的for循环有什么区别吗?
发布时间:2020-12-15 05:11:47 所属栏目:Java 来源:网络整理
导读:for c in c int i;int n = 20;for(i = 0; i + n; i-- ) { printf("-n");} for循环在java中 int i;int n=20;for (i = 0; i + n; i--) { System.out.println("-n");} 在上面的示例中,循环在c中工作正常(将打
for c in c
int i; int n = 20; for(i = 0; i + n; i-- ) { printf("-n"); } for循环在java中 int i; int n=20; for (i = 0; i + n; i--) { System.out.println("-n"); } 在上面的示例中,循环在c中工作正常(将打印“ – ”20次).但是在java中循环显示错误为 线程“main”中的异常java.lang.Error:未解决的编译问题: 为什么会出现这种错误? 解决方法
在C中,0被认为是假,其余的数字被解释为真.在Java中,这不起作用,因为它具有不是int的布尔类型,并且int不能直接转换为布尔值.
要修复Java代码,您应该将第二部分写为布尔表达式: for (i = 0; (i + n) != 0; i--) { System.out.println("-n"); } 虽然(i n)!= 0可能有效,但我更愿意使用(i n)> 0,因为如果n从-1开始,这个循环将工作,直到我下降到Integer.MIN_VALUE值,下溢到Integer.MAX_VALUE并下降到1.为了防止这种行为(如果是不希望的话),它会更好像这样写: for (i = 0; (i + n) > 0; i--) { System.out.println("-n"); } 从@ Lundin的评论看来,你的C代码看起来也应该修复: //or use my proposed fix by using > rather than != for(i = 0; (i + n) != 0; i-- ) { printf("-n"); } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
热点阅读