拿着JAVA参考书,一章一章的走过 目前先整理这么多 风.fox
Java:纯面向对象的语言,有人说过:Java中一切皆对象!当然咯,人们都忘了Java的八种基本数据类型:int、double、boolean、byte、float、 long、short、char。但是念在每个Java每个基本数据类型都有包装类(int的包装类是Integer)的基础上,就姑且认为一切是对象吧。
PHP:即使用可面向对象的方式编程,又可使用面向过程的方式。这种两种编程范式结合的语言代表了计算机语言以后的一个发展趋势,在Scala、Golang、Python中都有体现。
封装 继承 多态
JAVA中程序入口是 main方法,没有则报错 PHP中不需要入口方法,随时都可以运行 JAVA
class main{ public static void main(String args[]){ /...... } }JAVA或PHP程序 是由空白符,标识符,字面值,注释,运算符,分隔符以及关键字组合而成
可以是空格,制表符,换行符 JAVA和PHP 都相同
标识符用于命名事物,例如类,变量以及方法。 标识符可以是大写或者小写字母,数字,下划线,美元符号等字符组成的任意字符序列 不能以数字开头,防止与数值产生混淆 都是大小写敏感的 PHP唯一与JAVA不同的是 变量要以$号为开头,其他都相同
数据类型中介绍
// 或者 /* */ 注释方式 PHP和JAVA是相同的
() {} [] ; , . (JAVA) () {} [] ; , / -> :: (PHP) java 和PHP 从 . 号开始不一样, JAVA 中 . 用于将包的名称与子包以及类的名称分隔开,也可以用于将变量或方法与引用变量分隔开。 如果在PHP中,“\”用于将包的名称与子包以及类的名称分隔开,“->”用于将变量或方法与引用变量分隔开。 PHP中 :: 是静态参数(变量,常量,方法)与引用变量或者类分割开 (我觉得PHP中,不用 . 分隔符是语言设计中永远的一个痛)
JAVA和PHP中的关键字部分相同
java是编译型强类型的语言,变量必须声明类型 php是解释型弱类型的语言,变量不必声明类型
整型 浮点型 字符型 布尔型
整形字面值中可以嵌入一个或多个下划线(程序编译时,自动忽略下划线),方便阅读。 下划线只能用于分割数字,不能位于字面值的开头和结尾。
int x = 123_12__123;字面值中可以嵌入一个或多个下划线(程序编译时,自动忽略下划线),方便阅读。 下划线只能用于分割数字,不能位于字面值的开头和结尾。
double num = 9_12__23.2__123_23;JAVA 和PHP 相同
Array 数组 Object 对 Resource 资源类型 NULL Callback 回调类型
java是编译型强类型的语言,变量必须声明类型 php是解释型弱类型的语言,变量不必声明类型,且$符号作为变量的前缀 变量可以是大写或者小写字母,数字,下划线,美元符号等字符组成的任意字符序列 java 和php 区分大小写,赋值,变量的作用范围,成员变量与局部变量(作用同,使用方法不同)这些方式相同
java 变量声明不能以数字开头 有很多保留关键字
符号作为变量的前缀没有保留关键字(开头)
php中最强大的就是数组
$arr=[]; $arr2=[1,2,3]; $duo=[[1,2,3],[3,3,4]]; $sss=[['A'=>'c','h'=>'d'],['b'=>'d']];算术运行符:+、-、*、/、% 赋值运行符:+=、-=、*=、/=、%= 自增/自减运行符:++、– 关系运算符:==、>、<、>=、<=、!= 逻辑运行符:&&、||、!、^
类型运算符:instanceof 数组运算符:+、==、===、!=、<>、!== 字符串运算符:+ 执行运算符:“ 错误控制运行符:@
JAVA和PHP都一样
可以是数值,字符类型 java 和 PHP 几乎相同
for,while,do while java和php基本使用方法都相同
break continue return java 和php 基本写法相同
java每个类会生成一个.class文件 php每个文件为.php文件
abstract(同) final(同) public(PHP没有)
静态变量修饰符 static(同) 静态初始化器 static{}(PHP没有) 最终常量 final(同) (建议用static代替) 易失变量 volatile(PHP没有)
抽象方法 abstract(同) 静态方法 static (同) 最终方法 final(同) 本地方法 native(PHP没有) 多线程同步方法 synchronized(PHP没有)
JAVA的public可以修改类,PHP不可以;其他相同 JAVA的默认是同一包中可见,PHP默认是任何地方可见
java是使用”.”点号引用属性与方法, PHP是使用”->”引用属性与方法,没有点号用法
java的class可以定义为public,此时文件名要与公共类完全一致,PHP中没有这个功能,如果不包含公共类,则class与PHP声明一样
JAVA有返回值类型,PHP必须有关键字function JAVA中的main(String args[])特殊方法,php中没有
JAVA 中构造函数的名称和包含他的类的名称相同,并在语法上和方法类似。因为方法支持重载,所有可以由多个构造函数
class Box{ int width; int height; public Box(int w,int h){ } public Box(){ } } Box mybox3;//声明 mybox3=new Box();//实例化 Box mybox=new Box();// 声明 Box mybox2=new Box(10,20);// 声明php 中方法不支持重载,所以只能有一种,如果需要更多,可以通过其他方式实现
class Box{ private $width; private $height; public function __construct(int $w,int $h){ } } $mybox2=new Box(10,20);// 声明java和php 中使用方式相同
Java的this 表示当对象,一般情况下不必写 PHP也使用this表示当对象,这点相同
PHP使用self表示当前类,Java没有这个关键字,也不需要使用表示类 PHP在调用本类中的静态变量和方法时,必须使用self关键字和::,JAVA中直接使用
JAVA支持方法重载,PHP不支持
class Box{ int width; int height; public Box(int w,int h){ } public Box(){ } public int show(int x){ System.out.println(x); return x; } public double show(double x){ System.out.println(x); return x; } public String show(String x){ System.out.println(x); return x; } } class Show{ public static void main(String args[]){ Box box=new Box(10,30); box.show("字符"); box.show(10);//整型 box.show(10.123);//浮点型 } }JAVA支持构造函数重载,PHP不支持
class Box{ int width; int height; public Box(int w,int h){ } public Box(){ } public int show(int x){ System.out.println(x); return x; } public double show(double x){ System.out.println(x); return x; } public String show(String x){ System.out.println(x); return x; } } class Show{ public static void main(String args[]){ Box box=new Box(10,30); Box box2=new Box(); } }java和PHP都支持
java 和php中返回对象 相同
java中叫包 PHP中叫命名空间
java 中 引用关键词 import 单独引用:import packageName.className; 包引用:import packageName.*;
package com.fox.lanmp; import com.fox.util; import com.fox.service.*; class Box{ }php 中命名空间 引用关键词 use; 单独引用 use packageName\classFile; 多个引用 use packageName{classFile,classFile2}; php中没有包引用
namespace com\fox\lanmp; use some\namespace\{ClassA, ClassB, ClassC as C}; use function some\namespace\{fn_a, fn_b, fn_c}; use const some\namespace\{ConstA, ConstB, ConstC}; class Box{ }java 和php 中 相同,某些写法不同
JAVA和PHP 相同
throw 关键词 java和PHP相同
PHP中没有,JAVA中有 如果方法肯能引发自身不进行处理的异常,就必须指明这种行为,以便方法的调用者能够保卫他们自己以防备上述异常。可以通过在方法声明中提供throws子语句来完成该任务。
class Demo{ static void one throws IllegalAccessException{ System.out.println("one"); throw new IllegalAccessException("Demo"); } public static void main(String args[]){ try{ one(); }catch(IllegalAccessException e){ System.out.println("CAUGHT " +e); } } }泛型,即“参数化类型”。 JAVA特有,PHP 没有
public class Container<K, V> { private K key; private V value; public Container(K k, V v) { key = k; value = v; } public K getKey() { return key; } public void setKey(K key) { this.key = key; } public V getValue() { return value; } public void setValue(V value) { this.value = value; } } public class Main { public static void main(String[] args) { Container<String, String> c1 = new Container<String, String>("name", "findingsea"); Container<String, Integer> c2 = new Container<String, Integer>("age", 24); Container<Double, Double> c3 = new Container<Double, Double>(1.1, 2.2); System.out.println(c1.getKey() + " : " + c1.getValue()); System.out.println(c2.getKey() + " : " + c2.getValue()); System.out.println(c3.getKey() + " : " + c3.getValue()); } }输出 name : findingsea age : 24 1.1 : 2.2
相关资源:python入门教程(PDF版)