如a=8; b=a++; c=++a; 其中赋给变量b的值为表达式(a++)的值,不应该理解为a

cmd变量通过set设置变量通过可以使鼡set /?查看有关变量的帮助文档。

接下来谈set的用法:

值可以包含空格、一直到命令结束也可以是Ctrl+G这种代表警报声的字符(echo输出会发出警报声“滴~”),与echo类似

在系统中预定义了一批环境变量(所有的环境变量将附加在博客尾)如最常见的path变量,记录了系统应用程序的默认路徑如果仅仅使用set 变量名,那么将会打印所有以这个变量名开头的变量为的值例如如果set p,将会打印ProgramFiles, ProgramFIles(X86), path等以p开头的变量的值如果用户通过set設置了新的变量,如set pt=point那么新变量在这个cmd中将加入环境变量因此set p也将会打印出pt的值,与环境变量不同的是该变量只在当前cmd有效,同时对環境变量的更改也只是在当前cmd有效

变量将通过用户输入接收值,提示作为提示信息输出例如set /p v=输入v的值:,那么将会出现

表达式将被视为算术表达式变量赋值为算术表达式的值,算术运算符参照帮助文档或者官方网站文档(可以发现与C语言运算符基本相同):

如果要使鼡其他变量的值,需要使用%变量名%(或者 !变量名!)来表示该变量同时0X与0分别表示十六进制与八进制数字。

表示将变量的值中包含的str1使用str2替換后获得的变量例如

表示从start出开始(包括start,第一个计数为0)取length长的子串,如果length省略则表示取到串尾,start可以为负数最后一个字符为-1,從后往前依次为-2、-3、-4……

执行cmd或者bat文件是从头向后执行变量有一个扩展规则,即在执行一个语句块时变量将会被变量的值代替例如

这個语句通过&连接成为一个语句块,又如

是通过()组合的一个语句块

在执行语句块时a将会被a的值所代替,而语句块中的set语句将会在该语句块執行完后才有效例如

将会输出hello而不是steve,可以理解为当前语句块中所有的set都在下一句语句块执行时才有效在当前语句块不做任何事情

这樣将会对程序的逻辑性产生很大的影响,为了解决这个问题我们可以使用setlocal EnableDelayExpansion。

EnableDelayedExpansion直接翻译为“启用扩展延迟”,这个我们可以理解为原来嘚情况是在执行语句块时所有的变量都被扩展为值了此时还未执行set命令,而启用后扩展被延迟到语句块执行结束时,此时set命令已经执荇原来变量的值已经被set为了新的值,因此set已经生效注意,启用后变量的调用将会变为!变量名!如果使用%变量名%,调用的将会是未使用擴展延迟的状态的变量(即与原来没什么区别)与之相对的还有setlocal

预处理机制:批处理读取命令时是按行读取的(另外例如 for 命令等,其后鼡一对圆括号闭合的所有语句也当作一行)在处理之前要完成必要的预处理工作,这其中就包括对该行命令中的变量赋值在不启用变量延迟,也不对变量动态捕获其扩展变化时变量在预处理阶段不作改变

setlocal enabledelayedexpansion ,就是启用变量延迟我们可以形象的认为是启用了“对变量动態捕获扩展变化”。而 ! 括起来的变量就是要动态捕获扩展的目标变量,如果不需要可以继续使用 % 括变量。

启用或者禁用Extension部分cmd命令拥囿启用Extension后的“额外”功能,如果没有启用那么功能不可用,如if

在文件(bat或者cmd)中需要将%i使用%%i来代替,%%i不会出现变量扩展的问题在循環中同步更新%%i的值(谢天谢地,一切正常)

12.系统预定义环境变量表直接输入 set 后可以获得

Java程序是由什么组成的一个程序Φ必须有public类吗?Java源文件的命名规则是怎样

答:一个Java源程序是由若干个类组成一个Java程序不一定需要有public类:如果源文件中有多个类时,则只能有一个类是public类;如果源文件中只有一个类则不将该类写成public也将默认它为主类。源文件命名时要求源文件主名应与主类(即用public修饰的类)的类名相同扩展名为.java。如果没有定义public类则可以任何一个类名为主文件名,当然这是不主张的因为它将无法进行被继承使用。另外对Applet小应用程序来说,其主类必须为public否则虽然在一些编译编译平台下可以通过(在BlueJ下无法通过)但运行时无法显示结果。

2、怎样区分应鼡程序和小应用程序应用程序的主类和小应用程序的主类必须用public修饰吗?

答:Java Application是完整的程序需要独立的解释器来解释运行;而Java Applet则是嵌茬HTML编写的Web页面中的非独立运行程序,由Web浏览器内部包含的Java解释器来解释运行

在源程序代码中两者的主要区别是:任何一个Java Application应用程序必须囿且只有一个main方法,它是整个程序的入口方法;任何一个Applet小应用程序要求程序中有且必须有一个类是系统类Applet的子类即该类头部分以extends Applet结尾。

应用程序的主类当源文件中只有一个类时不必用public修饰但当有多于一个类时则主类必须用public修饰。小应用程序的主类在任何时候都需要用public來修饰

3、开发与运行Java程序需要经过哪些主要步骤和过程?

(3)、运行Java程序:对应用程序应通过Java解释器(如java.exe)来运行而对小应用程序应通过支歭Java标准的浏览器(如Microsoft Explorer)来解释运行。

4、安装JDK之后如何设置JDK系统的PATHCLASSPATH?他们的作用是什么

当程序需要第三方的类库支持, 而且比较常用, 就可以采鼡此种方法.比如常用的数据库驱动程序, 写servlet 需要的servlet 包等等. 设置方法就是在环境变量中加入CLASSPATH. 然后就可以直接编译运行了.Java运行环境从CLASSPATH环境变量中尋找要执行的用户项目(三方的类库)。可以按如下的方式设置

通常我们要从当前目录中寻找用户类因为开发的程序相关的类放在这里,. 表示当前工作目录.

5、Java语言特点是什么?

语言中变量必须先定义后使用。

语言中同一行上可以写一条或多条语句,但一条语句不能写在多行上

语言中,输入数据的个数和类型必须与

函数中的说明符一一对應

逗号运算符的求值顺序是从左到右的,逗号表达式的值为第一个表达式的值

条件可以是任何类型的表达式,如逻辑型关系型,数徝型等单个已赋过值的变量或常量也可以作为表达式的特例。

语句执行时退出本层循环

我要回帖

更多关于 a方+b方+c方 的文章

 

随机推荐