`
liulanghan110
  • 浏览: 1065139 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

一个JAVA程序的分析,关于=

    博客分类:
  • JAVA
阅读更多

看这样一个程序

public class test {
	public static String getString(int i) {
		return "" + i;
	}

	public static void main(String args[]) {
		int col = 0;
		String[] arr = new String[10];
		while (col < 10) {
			arr[col] = getString(++col);
		}
		for (String tmp : arr) {
			System.out.println(tmp);
		}
	}

}

 

问题是:

arr[col] = getString(++col);

 

这句话第一次执行时,这里的=左右两边的col值,都是什么?

答案应该是arr[0] = getString(1)。这里左边的col 为0,右边的为1。

因为在给等号左边的变量赋值时,要先确定是哪个变量(变量都不确定如何赋值)。所以左边的先运算。确定col为0.然后再执行右边的操作,再把操作的结果赋值给左边的变量。所以arr[col]确定的时候,右边的++col还没运行。

 

再来看下面的例子:

public class test {
	public static String getString(int i) {
		return "" + i;
	}

	public static void main(String args[]) {
		int col = 0;
		int i = 0;
		String[] arr = new String[10];
			arr[++col] = getString(++col);
		for (i = 0 ; i < 10; i++) {
			System.out.println(i+":"+arr[i]);
		}
	}

}

 

你觉得这句代码的结果是什么呢?

arr[++col] = getString(++col);

 

答案是arr[1] = 2,原因同上。

 

总结:总是先确定需要赋值的变量再运行=右边的赋值语句

分享到:
评论

相关推荐

    java游戏小程序代码分析

    java游戏小程序代码分析java游戏小程序代码分析java游戏小程序代码分析java游戏小程序代码分析java游戏小程序代码分析java游戏小程序代码分析java游戏小程序代码分析java游戏小程序代码分析java游戏小程序代码分析...

    java词法分析程序

    java词法分析程序。课程设计的题目,给了比较简单的词法规则,原理比较简单,希望能给大家一个参考。

    java实现的基本词法分析程序

    java写的基本词法分析器,附带实验说明

    Java写的数值分析中的一些程序

    Java写的数值分析中的一些程序 里面没有注释 有兴趣的朋友们可以看看

    Java程序中图形界面案例的分析与研究.pdf

    Java程序中图形界面案例的分析与研究.pdf

    词法分析程序java版

    编译原理实验写的一份小型词法分析程序,具体掌握基本分析方法,此程序是对源代码的一次分析,可能输出的有点多.

    基于java的学生考试成绩分析程序.rar

    本次试验需要编写一个学生考试成绩分析程序,至少具有这些功能:基本数据输入,能够建立并且输入班级、学生、课程和成绩单的信息,指定特定的班级和课程后,能够输出该班的所有学生的成绩,通过这个方法可以查询学生...

    JAVA 自上而下的语法分析程序 递归下降

    编制语法分析程序,要求能将词法分析输出的单词文件用给定的语法规则书写的源程序进行语法分析,输出相应的语法分析结果和错误信息。 关于错误信息:不要求错误种类,只需给出出错位置. 简单的表达式文法如下: E...

    java成绩分析程序

    班级:程序要求处理若干班级,每个班级包含的属性有:年级、专业、班和若干学生 学生:每个班级包含多名学生,学生的属性有:学号和姓名 课程:程序中可以处理多门课程的属性:课程编号、名称、学分、学时 成绩单:...

    java词法分析源程序

    用java写的对于C语言的词法分析程序,简单易懂

    熟悉Java程序设计环境

    实验一 熟悉Java程序设计环境 实验目的: 1、安装掌握Java软件开发工具包JDK。 2、熟悉并使用Eclipse集成开发环境。

    java版语法分析程序

    java版 语法分析程序 树结构 swing

    编写一个java应用程序

    (1)编写一个java应用程序,用户从键盘输入一个整数,判断这个数是几位数; (2)附加题:判断这个数是否是回文数。 说明:本题用到一个新的知识点:Java中如何进行数据输入,有两种方式:用图形化的界面进行数据...

    用java语言编一个聊天小程序

    用java语言编一个聊天小程序 要求: 使用图形用户界面。 能实现一个聊天室中多人聊天。 可以两人私聊。 提示:使用socket通信 import java.awt.*;

    成绩分析JAVA程序

    一个成绩分析小程序。Java图像编程。饼状图,柱状图,表格JTable的使用以及筛选文件打开等都能找到相应得示例。

    java综合性实验-对某个目录中的所有Java源程序文件统计

    编写一个Java应用程序,实现对某个目录中的所有Java源程序文件(包含该目录的子目录中的源程序文件)进行统计。统计内容包括: (1) 目录中每个源程序文件的总行数和空白行数,文件的字节数; (2) 目录中所有源程序...

    使用lex分析java源程序.rar_LEX_java lex_java 词法分析_lex java_正则表达式

    Lex是美国Bell实验室用C语言研制的一个词法分析程序自生成工具。它的基本原理就是使用正则表达式扫描匹配文本,并为每一个匹配模式定义一些操作,当用C语言作宿主语言时,这些操作都由C语言实现。一种匹配的正则...

    JAVA需求分析报告.pdf

    JAVA需求分析报告.pdf

    词法分析 Java编写

    通过编写和调试一个词法分析程序,掌握在对程序设计语言的源程序进行扫描的过程中,将字符流形式的源程序转化为一个由各类单词构成的序列的词法分析方法。

    反编译Java程序

    本书是www.bocaitong3.com一本专为已经具备Java程序语言基础的读者所编写的范例学习指南,通过现成的范例,从Java Applet程序的解析、程序设计重点与技巧分析等,直接吸取设计的精华,充分自己的程序设计经验。...

Global site tag (gtag.js) - Google Analytics