数组-帮我解释一下最后那里为什么输出有0

问题描述

帮我解释一下最后那里为什么输出有0

package test8;

public class 输出 {
public static void main(String[] args) {
int[] array = new int[] { 1, 3, -1, 5, -2 };
System.out.println("原数组为: ");
for (int i = 0; i < array.length; i++) {
System.out.print(array[i] + " ");
}
System.out.println("n变0组后: ");
for (int i = 0; i < array.length; i++) {
if (array[i] < 0) {
array[i] = 0;
continue;
}
System.out.print(array[i] + " ");
}
// 注意为什么这里加continue却不会显示有0

    // -2,5,-1,3,1
    System.out.println("n逆序后数组为: ");
    for (int i = array.length - 1; i >= 0; i--) {
        if (array[i] < 0) {
            array[i] = 0;
            continue;
        }
        System.out.print(array[i] + " ");
    }
    // 注意为什么这里却又有显示有0

解决方案

你这个应该是continue之后,循环没有执行到输出把。。。

解决方案二:

加了continue意味着只要满足前面数组中的数小于0,数据就会变成0,同时不再执行continue下面的代码

解决方案三:

if (array[i] < 0) {
array[i] = 0;
continue;
}
System.out.print(array[i] + " ");//continue之后,这句并没有执行到,没输出0值
//==========================================
for (int i = array.length - 1; i >= 0; i--) {
if (array[i] < 0) {
array[i] = 0;
continue;
}
System.out.print(array[i] + " ");
}//这里效果跟上面一样样,不会有0值,有的话估计是你想错了或者看错了/ok

解决方案四:

break、continue、return之间的区别与联系 在软件开发过程中,逻辑清晰是非常之重要的。 代码的规范也是非常重要的。往往细节决定成败。在编写代码的时候,一定要理解语言的作用以及使用的方法和场景。下面来介绍一下break、continue、return三者的区别和联系。
1. break :
(1).结束当前整个循环,执行当前循环下边的语句。忽略循环体中任何其它语句和循环条件测试。 (2).只能跳出一层循环,如果你的循环是嵌套循环,那么你需要按照你嵌套的层次,逐步使用break来跳出。逐层判断,逐步跳出.break在循环体内,强行结束循环的执行,也就是结束整个循环过程,不在判断执行循环的条件是否成立,直接转向循环语句下面的语句。 (4).当break出现在循环体中的switch语句体内时,其作用只是跳出该switch语句体。 总的来说:就近原则,结束当前的整个循环。
2. return:
(1).return 从当前的方法中退出,返回到该调用的方法的语句处,继续执行。 (2).return 返回一个值给调用该方法的语句,返回值的数据类型必须与方法的声明中的返回值的类型一致。 (3). return后面也可以不带参数,不带参数就是返回空,其实主要目的就是用于想中断函数执行,返回调用函数处。
3. continue:
(1).终止本次循环的执行,即跳过当前这次循环中continue语句后尚未执行的语句,接着进行下一次循环条件的判断。 (2).结束当前循环,进行下一次的循环判断。 (3).终止当前的循环过程,但他并不跳出循环,而是继续往下判断循环条件执行语句.他只能结束循环中的一次过程,但不能终止循环继续进行.

时间: 2024-11-01 03:46:16

数组-帮我解释一下最后那里为什么输出有0的相关文章

c语言数组定义-哪个大神能帮我解释下这段代码,在线等

问题描述 哪个大神能帮我解释下这段代码,在线等 这个是凯撒密码的代码,哪个大神帮我看哈我的这个里面每句的意思 解决方案 把英文字母变换一下,如D换为AA换为X,B换为Y 解决方案二: 就是获取到输入的字符串,然后对每一位进行判断,如果在区间[dz]或区间[DZ]减3,剩下的加23 解决方案三: 就是获取到输入的字符串,然后对每一位进行判断,如果在区间[dz]或区间[DZ]减3,剩下的加23 解决方案四: 就是获取到输入的字符串,然后对每一位进行判断,如果在区间[dz]或区间[DZ]减3,剩下的加

求大神帮我解释一下这个正则表达式

问题描述 求大神帮我解释一下这个正则表达式 如题,这是一个日期代码 var mts = date.match(/(/Date((d+))/)/); 解决方案 匹配 /Date(数字)/ 这种内容,数字是时间戳.一般这种字符串是服务器端序列化类为json字符串,当类属性为时间类型时会生成这种格式的内容,需要提取出这种内容,然后使用new Date(数字时间戳)生成js时间Date对象 如果匹配,mts分组如下 mts[1]//对应Date(数字) mts[2]//对应数组 解决方案二: 匹配 /D

服务器-谁能帮我解释下 这个代码 然后最好能让里面数据显示到listview中去

问题描述 谁能帮我解释下 这个代码 然后最好能让里面数据显示到listview中去 package com.httppost.main; import java.io.IOException; import java.io.InterruptedIOException; import java.io.UnsupportedEncodingException; import java.util.ArrayList; import java.util.HashMap; import java.uti

求教大虾,帮我解释下这个正则表达式

问题描述 求教大虾,帮我解释下这个正则表达式 var content = $.trim($('#addContent').val()).replace(/ /g, '<br/>'); 如题,谢谢大虾啦 解决方案 不就是把换行符号替换为html的换行标签<br>而已,因为 除非放在pre标签里面,要不时不会换行的 解决方案二: 就两个函数,一个trim去年左右两边的空格,一个replace把 替换成吗.................................. 解决方案三:

web开发-谁能帮我解释一下这句话什么意思?

问题描述 谁能帮我解释一下这句话什么意思? <A href=""news?action=show&newsId=104""> </A><A href>是个超链接标签 news?action=show&newsId=104 这句话是什么意思? 解决方案 ?后面是url参数,&是各个参数的分隔.一个action参数,值是show一个是newsId参数,值是104 其他详细的看看url参数传递基础吧 解决方案二:

php,谁能帮我解释下这个代码

问题描述 php,谁能帮我解释下这个代码 PHP_FUNCTION(bcdiv) { char *left, *right; size_t left_len, right_len; zend_long scale_param = 0; bc_num first, second, result; int scale = (int)BCG(bc_precision), argc = ZEND_NUM_ARGS(); if (zend_parse_parameters(argc, "ss|l"

javascript-可以帮我解释一下这几个概念吗?

问题描述 可以帮我解释一下这几个概念吗? 学习js的时候碰到几个术语,一直没有很清晰的理解. 类: 上下文: 原型: 构造器: 解决方案 Class 类的概念应该是面向对象语言的一个特色,但是JavaScript并不像Java,C++等高级语言那样拥有正式的类,而是多数通过构造器以及原型方式来仿造实现.在讨论构造器和原型方法前,我可以看看一种叫做工厂方式的仿造方法. 解决方案二: https://segmentfault.com/a/1190000002701241

可以帮我解释一下这段代码吗?

问题描述 <%@controllanguage="C#"autoeventwireup="true"inherits="Controls_Footer,WebUI_deploy"%>谁可以帮我解释一下这段代码不,我是初学的,不大懂~希望能详细些!! 解决方案 解决方案二:inherits="Controls_Footer,WebUI_deploy"表示继承language="C#":表示网页的编

python文件语句解析-请高手帮我解释下这些语句的意思,跪谢!

问题描述 请高手帮我解释下这些语句的意思,跪谢! import osimport ref_cg=open('dm_cg.txt''w')f_sb=open('dm_sb.txt''w')dir_list=[]for file in os.listdir(): if os.path.splitext(file)[1] == '.txt': dir_list.append(file)dir_list.remove('dm_cg.txt')dir_list.remove('dm_sb.txt')#数据