数据类型

(C、C++)

C++语言中常用的数据类型包括数值类型、字符类型、数组类型、布尔类型、枚举类型、结构类型、共用体类型、指针类型、引用类型和自定义类型。

(Java)

Java的数据类型可分为基本数据类型和引用数据类型。基本数据类型又分为数值型和非数值型,数值型又有整型和浮点型之分。整型有byte、shor、int、long,浮点型有float和double,非数值型包括boolean和char。引用数据类型主要有类、接口和数组。

(C#)

值类型:该类型的数据长度固定,存放于桟内。

引用类型:该类型的数据长度可变,存放于堆内。

值类型包括:整型、浮点型、字符型、布尔类型、结构和枚举。

引用类型包括:类、接口、数组和字符串。


变量与常量

(C、C++、Java、C#)

变量:取值可改变的存储数据的单元。

常量:取值不可改变的数据。


运算符与表达式

(C、C++、Java、C#)

运算符:算数运算符、关系运算符、逻辑运算符、位运算符


程序控制语句

(C、C++、Java、C#)

选择语句、循环语句


指针

(C、C++)

指针定义:

类型 *指针名;

指针初始化:

类型 变量名;

类型 *指针名 = &变量名;


引用

(C++)

引用的定义:

数据类型 &引用名 = 变量名;


数组

(C、C++)

数组定义并初始化:

类型 数组名[size]={赋值};

(Java)

相同类型变量的有序列表

数组定义:类型 数组名[ ] ; 或 类型[ ] 数组名 ;

数组生成:数组名=new 类型[size];

(C#)

数组定义:类型[ ] 数组名 ;

数组生成:数组名=new 类型[size];


类与对象

(C++)

类的声明:

class <类名>

{

    [public | protected | private :]

        [数据成员的声明]

        [成员函数的声明]

}


类的实现:

类型 类名::成员函数名(参数)

{

    ...//函数体

}


对象生成:


在不使用new创建对象时,对象的内存空间是在栈中的,其作用范围只是在函数内部,函数执行完成后就会调用析构函数,删除该对象。而使用new创建对象是创建在堆中的,必须要程序员手动的去管理该对象的内存空间。

第一种:

类名 对象名(参数);

第二种:

类名 *对象名 = new 类名(参数);


(Java)

类的定义:

[public] class <类名>{

    [public | protected | private]<数据类型><属性名>;

    [public | protected | private]<返回值类型>方法名(类型 参数1[,类型 参数2,]…){


    }

}


对象生成:

类名 对象引用名=new 类名();


(C#)

类的定义:

[类修饰符] class <类名>{

    [修饰符]<数据类型><属性名>;

    [修饰符]<返回值类型>方法名(类型 参数1[,类型 参数2,]…){


    }

}


对象生成:

类名 对象引用名=new 类名();


续承和接口

(C++)

继承语法:

class <派生类名> : <续承方式> <基类名>

{

     [public | protected | private :]

        [数据成员的声明]

        [成员函数的声明]

}


虚函数:

被virtual关键字修饰的成员函数,就是虚函数。

虚函数借助于指针或者引用来达到多态的效果。

纯虚函数:

在虚函数后加“=0”,使派生类仅仅只是继承函数的接口。

有纯虚函数的类称为抽象类,它不能生成对象。


(Java)

继承语法:

[类访问修饰符] class<子类名>extends<父类名>{

....//定义类的成员

}


抽象类的定义:

Abstract class<类名>{

...

}


多态:

有编译时多态和运行时多态。

编译时多态就是对程序中重载方法的调用,编译程序会根据参数自动绑定到相应的方法。

运行时多态是指使用抽象类引用指向子类对象,再通过抽象类引用调用抽象类中的被子类重写的方法时,JVM会调用相应的子类对象中的重写方法。


Java接口类似于纯抽象类,只包含常量和抽象方法,而没有变量和具体方法。


Java接口的定义:

[public] interface<接口名>[extends 父接口列表] {...//接口体}


Java接口的实现:

Class <类名> implements <接口名>{

...

}


Java 接口与抽象类的区别:

Java接口常常被用来为某一方面具有相似功能的一组类提供一致的对外服务接口,这一组类可以是不相关的,而抽象类则是为一组相关的类提供一致的对外服务接口。

(C#)

继承语法:

[类访问修饰符] class<子类名>:<父类名>{

....//定义类的成员

}


抽象类的定义:

[修饰符] abstract class<类名>{

    [修饰符] abstract 返回值类型 方法名([参数列表]);

}


C#接口的定义:

[访问修饰符] interface<接口名>[: 父接口列表] {...//接口体}


C#接口的实现:

Class <类名> : <接口名>{

...

}

抽象类和它的子类之间应该是一般和特殊的关系,而接口仅仅是它的子类应该实现的一组规则,无关的类也可以实现同一接口。


集合和泛型

(Java)

集合框架的几个基本集合接口:

(1)Collection 接口是一组允许重复的对象。

(2)Set 接口续承Collection,但不允许集合中出现重复元素。

(3)List 接口续承Collection,允许集合中有重复,并引入位置索引。

(4)Map接口与Collection接口无任何关系,Map的典型应用是访问按关键字存储的值,所包含的是键-值对,而不是单个独立的元素。

(C#)

泛型集合List<T>

泛型集合Dictionary<K,V>


异常控制

(Java,C#)

try语句不能单独存在,可以和catch、finally组成try-catch-finally、try-catch、try-finally三种结构。


委托和事件

(C#)

委托定义:

[访问修饰符] delegate 返回值类型 委托名([参数列表]);

委托实现:

委托名 委托引用名 = new 委托名(类方法);


事件定义:

[访问修饰符] event 委托名 事件名;

事件订阅:

事件名 += new 委托(事件处理方法名);

事件引发:

事件名([参数列表]);


输入和输出

(Java)

Java语言把不同类型的输入、输出源抽象为流(stream)。根据流中基本数据单位的不同,流被分为字节流和字符流。字节流是以字节(8个bit)为单位进行读/写操作,字符流则是根据所定义的字符编码格式以字符为单位进行读与写。


多线程

(Java)

线程是进程中的一个单个的顺序控制流,多线程是指单个程序内可以同时运行多个线程。创建多线程的程序有两种方法。一种是续承Thread类并覆盖其run方法;另一种是实现Runnable接口并实现其run方法。


网络编程

(Java)

TCP/IP网络参考模型包括4个层次:应用层、传输层、网络层和链路层。应用层有HTTP,FTP和Telnrt等协议,传输层包括可靠的TCP和不可靠的UDP,而网络层则主要采用IP。


数据库编程

(Java)

JDBC编程大致可以分为以下步骤:

(1)加载数据库驱动程序。

(2)连接数据库。

(3)使用语句进行数据库操作。

(4)关闭数据库连接。