php与java语法的区别
个人觉得在学习语言时,可以通过比较来进行学习。由于长时间写java代码,对java的基本语法还算熟悉,现在转学php,就php中基本语法与java基本语法差异进行比较。
1. PHP是一种脚本语言,代码在服务器上执行,而结果以纯文本返回浏览器。
2. PHP能够运行在各种不同的平台中:比如windows,linux,MaxOS等。
3. PHP的脚本能够存放在文档的任何位置,且以 <?php 开头,以 ?> 结尾。
4. PHP的注释: PHP支持三种注释方式:
A. 双斜杠 例如://这是申明一个变量
B. #符号 例如:#这是申明一个变量
C. /**/ 例如:/*这是申明一个变量*/
java同样支持三种注释方式:
A.双斜杠 例如: //这是申明一个变量
B./**/ 例如: /*这是申明一个变量*/
C./***/ 例如: /**
*这是申明一个变量
*/
5. PHP中的大小写敏感问题: 在 PHP 中,所有用户定义的函数、类和关键词(例如 if、else、echo 等等)都对大小写不敏感,而变量则是大小写敏感的。
而在java中,所有函数名,关键字,类,变量等都是大小写敏感的。
6. PHP的变量申明: PHP类似于Javascript,两者都属于是弱引用类型,申明的时候不用指明其类型。 而java则是强引用类型,申明时必须指明其类型。
PHP中申明变量的方式是:$X = 7; 注意: java和PHP变量的命名规则相同。
7. PHP中变量的作用域:
A. global (全局的): 只能在函数以外进行访问
B. Local(局部的): 只能在方法体重进行访问
C.static (静态的)
java中全局变量允许在方法中进行访问。
8. global关键字: 可以在函数体内使用global关键字对全局变量进行访问。
例如:
- <span style="white-space:pre"> </span><pre name="code" class="html"><?php
- $x=5;
- $y=10;
- function myTest() {
- global $x,$y;
- $y=$x+$y;
- }
- myTest();
- echo $y; // 输出 15
- ?>
9. PHP中的echo和print的差别:
echo能够输出一个以上的字符串,速度比print稍快
print只能输出一个字符串,并返回1 (与之不同,java可以使用print输出一行语句)。
注意: PHP中print能够在双引号中输出变量,而java中双引号中不能输出变量。
例如:
- <pre name="code" class="html">$txt2="W3School.com.cn";
echo "Study PHP at $txt2";
同样的也能输出数组中的任意元素:
echo "My car is a {$cars[0]}";
echo与print在有无括号的情况下都能使用。例如:echo与echo();
10. PHP中的类: 就其实现过程与java相同,都是用了关键字class ,但其中的数据声明却不相同。
- <?php
- class Car
- {
- var $color;
- function Car($color="green") {
- $this->color = $color;
- }
- function what_color() {
- return $this->color;
- }
- }
- ?>
11. PHP中的字符串可以使用双引号或者是单引号表示。但是在java中只能使用双引号。
例如:“string" 'string'
Java语言与PHP语言因为都可以做web应用开发,所以总有入门学习这2种语言的入门者会问Java和PHP哪一个好。讨论语言的好坏是一件不太明智的事情,我认为只能去说那一种编程语言更加适合干什么,人与动物最大的区别就是人会使用工具,而用适合的工具去干适合的事就会事半功倍,相反的就会事倍功半,就像杀鸡用牛刀,大炮打蚊子,听上去用的工具很牛逼,实际上在杀鸡和打蚊子这两件事情上牛刀、大炮真的还不如菜刀和电蚊拍好使。
应用面不同:
Java虽然目前被主要用作企业级应用编程,且多采用BS(浏览器对服务器)架构,但其可以说比较全能,桌面应用,嵌入式,移动端,服务器都可以用Java语言进行编程。
PHP是专注于动态网页技术。
语言类型不同:
Java是强类型编译语言,而强类型语言最显著的特征就是变量在使用前必须进行数据类型声明和赋值,而未经声明的变量是无法进行使用的。编译型语言因为经过编译器编译所以在执行效率上出色。
PHP是弱类型解释语言,其变量不用声明数据类型,且未经赋值可以直接使用。解释语言无需进行编译,因此在执行效率上要比编译语言差。
语法运算符有不同:
PHP中有“===”符号,表示的意思是检查左右两边类型及值是否相等,而Java中没有这个符号,和其作用相同的是equals方法,此方法是Java中的所有类的*父类object中的方法,要使用这个方法必须在使用这个方法的子类中对其进行覆盖重写,否则其作用于“==”符号相同。
在循环语句中PHP有foreach语句专门来进行数组的遍历,而Java中没有此语句,但有增强for,其作用与foreach基本相同。
面向对象支持不同:
Java是完全面向对象的语言,在编程上要求程序员必须面向对象进行编程。
PHP虽然也支持面向对象,但并不强制要求使用面向对象进行网页构架,使得PHP在网页编程中更加*。
输出方式不同:
Java在输出上只有2种方式,一种是System.out.print()和System.out.println()语句,将信息打印到控制台上,前者是打印不换行,后者是打印并换行。另一种是通过API获得输出流将信息输出到文件、另一台电脑、或者是网页上。
PHP输出的信息都将输出在网页上,而且有多种输出语句。如echo、vardump、print等。
都有较好的跨平台性:
Java语言虽然是编译语言,但并不将源代码编译成特定平台上的机器码,而是编译为Java字节码文件,再由特定平台上的JVM(java虚拟机)运行,虽然比直接编译为机器码执行效率有所下降,但这种方案成功的实现了跨平台性与执行效率之间的平衡,而且随着目前硬件水平的不断提高,这种差距几乎可以忽略不计。
PHP是解释语言,它的运行是靠解释引擎来解释运行,解释引擎可以跨平台使用。但因为没有经过编译,因此每执行一次就需要解释一次,所有执行效率要比Java差。
总结:
这两种语言在制作动态网页方面各有所长,PHP制作网页成本较低,多适合资讯类网站及个人动态网站的搭建。
Java因其安全性,多线程,同步机制,跨平台执行效率多适合涉及数据安全及资金流转等方面的网站搭建,因此使用Java的多是一些大中型公司的企业级开发。