Java 理解脚本和程序之间的区别

Java 理解脚本和程序之间的区别,java,linux,bash,sh,conceptual,Java,Linux,Bash,Sh,Conceptual,因此,我使用bash和sh编写了一些全面的脚本,但只编写了几个小型java程序。我读过几本java书籍,觉得它没有粘在一起。我发现C和C++更容易理解一些奇怪的原因,然后脚本就变得更简单了。 在我对脚本和编程的理解中,最大的差距之一是理解程序是如何处理的。例如,在脚本中,我可以执行以下操作: #!/bin/sh var="my variable" echo "$var" 显然,这将打印我的变量。我知道这基本上就像我在shell中键入命令一样,echo是命令,$var是echo的参数,脚本只

因此,我使用
bash
sh
编写了一些全面的脚本,但只编写了几个小型java程序。我读过几本java书籍,觉得它没有粘在一起。我发现C和C++更容易理解一些奇怪的原因,然后脚本就变得更简单了。 在我对脚本和编程的理解中,最大的差距之一是理解程序是如何处理的。例如,在脚本中,我可以执行以下操作:

#!/bin/sh

var="my variable"

echo "$var"
显然,这将打印
我的变量
。我知道这基本上就像我在shell中键入命令一样,
echo
是命令,
$var
echo
的参数,脚本只是依次处理这些命令。但如果我在java中这样做:

String var = "my variable"
System.out.println(var);
计算机处理命令或这些命令的方式有什么区别?对于第一行,
String
是jvm的命令,而
var
是参数吗


我知道这些是语法上的差异,我也知道代码是如何工作的,但在幕后,shell脚本处理命令的方式与jvm有什么区别?还是我完全错了?

每一行源代码都是对解释器或编译器的指令

结果是相同的,但它们的工作方式完全不同。在java示例中,第一行是变量声明。Java需要它,C需要它,但PHP、Javascript和python不需要它们


这不是一个特殊的命令,只是告诉程序如何存储内容。在bash中,当您执行第一次赋值时,解释器会自动分配一些内存来存储其值。在其他语言中,您必须事先指定要存储的内容。这只是它的制作方式。

脚本语言倾向于被解释,但它们不是完全相同的东西。无论如何,这个定义是相当模糊的