程序设计语言的分类
类型检查
-编译时:C, C++, Java, Go…变量一旦定义,类型就不再发生变化,如int a,String b
-运行时:Python, Perl, JavaScript, Ruby…变量的类型会发生变化,一开始是int,后来变成String,只有在运行的时候才能确定变量的类型运行/编译
-编译为机器代码运行:C, C++… 特点:运行速度快,但不便于程序的跨操作系统迁移
-编译为中间代码,在虚拟机运行:Java, C#… 特点:便于程序的跨操作系统迁移
-解释执行:Python, Perl, JavaScript… 特点:不需要编译,解释器逐行运行代码,迁移起来不是特别方便编程范式
-面向过程:C, Visual Basic,…
-面向对象:Java, C#, C++, Scala,…
-函数式: Haskell, Erlang, …
数据类型
基本数据类型(Primitive Type):char, byte, boolean, short, int, long, float, double。
-值类型
-用a==b判断相等Object: String, Enum, Array
-引用类型
-用a==b判断是否为一个Object,如果 b = a 表示 a和b引用的是同一个对象
-用a.equals(b)或Objects.equals(a,b)判断是否相等装箱和拆箱(Boxing and Unboxing)
Integer a = 2; // Boxing
Integer b = new Integer(2); //Boxing
int v = a.intValue(); //Unboxing