for-请教各位 一个简单的 java 小问题

问题描述

请教各位 一个简单的 java 小问题
    int arr[]={1,2,3,4,5,6,7,8,9,10};
    int i,temp;
    for(i=0;i<10;i++){
    }
    System.out.println("a"+i);

    temp=arr[0];
    for(i=0;i<9;i++){
        arr[i]=arr[i+1];
    }
    System.out.println("b"+i);

    System.out.println("c"+i);
    arr[i]=temp;
    for(i=0;i<10;i++){
    }

            在这里 输出的结果是 a10
                                                                                        b9
                                                                                        c9

            我大概明白 因为通过 for 这个循环之后, i 的值就被改变了。可我我想请教一下这个代码的底层原理, 是因为 我们一开始创建了一个全局变量 int i ,了 ,所以 i 就会改变了么? 请各位能帮忙解释一下 有没有一个专业的名词或者概念 是关于这个的。

            表达能力有点差 不好意思各位i 不知道我说清楚了没有。。。谢谢了 各位

解决方案

for(i=0;i<9;i++){
    arr[i]=arr[i+1];
}

底层相当于这样的代码:
i = 0;
start:
if !(i < 9)) goto end;
arr[i]=arr[i+1];
i++;
goto start;
end:

解决方案二:

因为for循环中有i++,这个会改变i的值

解决方案三:

i就一个变量,在循环里改变了值,所以输出的时候就变了,了解这个只需要了解for循环即可

时间: 2024-11-10 00:43:56

for-请教各位 一个简单的 java 小问题的相关文章

一个简单的Java EE&amp;Docker示例

本文讲的是一个简单的Java EE&Docker示例,[编者的话]学习Docker的最好办法就是迅速在工作中应用它,本文作者使用Docker部署了一个Java EE应用,非常简单和方便.需要注意的是,由于作者写作时本地网络有问题,所以Dockerfile中很多的资源都没有从网络下载,你再实践时,可以尝试修改.学习快乐 :) 本文中,我们将会把Java EE和Docker结合,具体内容如下: 创建.构建并运行一个Docker镜像: 通过镜像启动一个Wildfly服务器,并部署了一个JavaEE示例

Java核心技术卷I基础知识3.1 一个简单的Java应用程序

第3章 Java的基本程序设计结构 ▲  一个简单的Java应用程序     ▲  字符串 ▲  注释                      ▲  输入输出 ▲  数据类型               ▲  控制流 ▲  变量                      ▲  大数值 ▲  运算符                  ▲  数组   现在,假定已经成功地安装了JDK,并且能够运行第2章中给出的示例程序.我们从现在开始将介绍Java应用程序设计.本章主要介绍程序设计的基本概念(如数

一个简单计算器java程序,不知道为什么除法总是算错

问题描述 一个简单计算器java程序,不知道为什么除法总是算错 一个简单计算器java程序,不知道为什么除法总是算错(不是全概率是高概率应该说,麻烦大大帮忙看看,非常感激 package com.calculator; import java.awt.BorderLayout; import java.awt.EventQueue; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.border.Em

java 自学 新手-一个简单的Java 计算问题

问题描述 一个简单的Java 计算问题 输出结果总是0,大牛们,可不可以告诉我错在哪里了!代码如下package HelloWorld;import java.util.Scanner;public class Tax { public static void main(String[] args) { double a = 0.0b=0.0;//定义工资为a个人所得税为b; System.out.println(""请输入您的月工资,我们将严密计算您的个人所得税!"&quo

求助!一个简单的java学员信息管理系统 愿意帮忙写代码的。我愿意额外支付酬劳

问题描述 求助!一个简单的java学员信息管理系统 愿意帮忙写代码的.我愿意额外支付酬劳 具体要求按图片 要Java代码,用filereader和filewriter 实现.数据保存到TXT. 解决方案 http://wenku.baidu.com/link?url=HknzVZjI_D2ayEZ_U0-EkCb6zJsUGQt4sqmXOAZs04FrMLklKDoe24SHulVHMxxz9VSSd5c9fkk1vdyeiw4dwA_tGi2JoqrkHDr1jQPLY5W 解决方案二: 这

实现一个简单的Java编译时注解处理器

简介 Java注解又称Java标注,是Java语言5.0版本开始支持加入源代码的特殊语法元数据.Java语言中的类.方法.变量.参数和包等都可以被标注.Java标注和Javadoc不同,标注有自反性.在编译器生成类文件时,标注可以被嵌入到字节码中,由Java虚拟机执行时获取到标注.根据元注解@Retention指定值的不同,注解可分为SOURCE.CLASS和RUNTIME三种类型.当被声明为SOURCE时,注解仅仅在源码级别被保留,编译时被丢弃:声明为CLASS时,注解会由编译器记录在clas

一个简单的Java死锁示例(转)

在实际编程中,要尽量避免出现死锁的情况,但是让你故意写一个死锁的程序时似乎也不太简单(有公司会出这样的面试题),以下是一个简单的死锁例子,程序说明都写着类的注释里了,有点罗嗦,但是应该也还是表述清楚了的. [code=java] /*** 一个简单的死锁类* @author iStar* 当类的对象flag=1时(T1),先锁定O1,睡眠500毫秒,然后锁定O2:* 而T1在睡眠的时候另一个flag=0的对象(T2)线程启动,先锁定O2,睡眠500毫秒,等待T1释放O1:* T1睡眠结束后需要锁

一个简单的java图形绘制

问题描述 题目大意:做一个简单的交通灯,要求框架里有三个单选按钮(red,green,yellow),一组交通指示灯(三个灯泡).选择单选按钮后,相应的灯会亮,一次只能亮一种灯.以下是我的程序,执行以后面板上有按钮,可就是没有图像,求各位指点啊import javax.swing.*;import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;public class Traff

5、编写一个简单的JAVA Application 应用程序,编写两个方法area1,area2计算圆柱体的表面积和体积,圆柱体半径R=5,高H=10,并输出计

问题描述 5.编写一个简单的JAVAApplication应用程序,编写两个方法area1,area2计算圆柱体的表面积和体积,圆柱体半径R=5,高H=10,并输出计算结果急求答案谢谢