Day03学习

Java与c#的区别

1.c#中的命名空间是namespace类似于Java中的package(包),在Java中导入包用import而c#中用using。

2.c#和Java都是从main函数入口的,但是c#中的main函数的首字母必须大写,它有四种写法如下:

static void main(string args[]){}

static int main(string args[]){}

static void main(){}

static int main(){}

而Java中只有一种形式:static void main(string [] args){}

3.数据类型:Java跟c#基本都差不多,但是Java的string类型的首字母必须大写,而c#中可以小写也可以大写,还有布尔型,Java中是boolean,c#中是bool。

4.变量的命名:Java中可以用$符号,而c#中不可以使用。

5.注释:Java比c#少一种“///”的文档注释。

6.输出:c#有三种方式输出:cosole.writeLine(); cosole.writeLine(要输出的值); cosole.writeLine(“格式字符串”,变量列表); 前两种的用法与Java中的system.out.println()方法的用法相同,第三种方式是根据占位符输出的,比Java更方便了。

7.控制流语句:c#跟Java类似,但是比Java多了一个foreach更遍历了对象的得到。

还有c#中的switch如果case后面有内容必须要有break;Java可以没有break;

8.数组:两种语言的声明都是用new关键字的。

都可以在创建数组的同时初始化如:int a[]={1,2,3,5,5};但是c#比Java多两种初始化如:int a[]=new int[3]{1,2,3}; int a[]=new int[]{1,2,3};

9.方法中传递的参数:两种语言都使用值传递与引用传递。

c#的引用传递的关键字是ref与out,ref侧重于修改,out侧重于输出。

而Java中都以传值方式;

10.访问修饰符:c#中的访问修饰符与Java中的基本对应,但多出了一个internal。

简而言之,c#有5种类型的可访问性,如下所示:

public:成员可以从任何代码访问。

protected:成员只能从派生类访问。

internal:成员只能从同一程序集的内部访问。

protected:成员只能从同一程序集内的派生类访问。

private:成员只能在当前类的内部访问。

11.由于c#中不存在final关键词,如果想要某个类不再被派生,你可以使用sealed关键词密封。

12.集合:两种语言都有集合arrayList,还有通过键访问值的Java中是hashmap而c#中是hashtable。

c#比Java多泛型集合Listlt;tgt;与dictionarylt;K,Vgt;更容易了,无需拆箱装箱了,更安全了。

13.继承:Java中用关键字extends,c#只用就行了。

调用父类的构造方法Java用super关键字,而c#用base关键字。

14.多态:抽象类和抽象方法两种语言都用abstract关键字。

Java中另外一个类如果继承了它,实现直接重写此方法就可以了;而c#必须加上关键字override实现。

c#还比Java多一种虚方法来实现多态。

15.接口:都用关键字interface定义,Java实现用关键字implements;c#用“:”实现。

在c#中,接口内的所有方法默认都是公用方法。

在Java中,方法声明可以带有public修饰符(即使这并非必要),但在c#中,显式为接口的方法指定public修饰符是非法的。

16.c#中的is操作符与Java中的instanceof操作符一样,两者都可以用来测试某个对象的实例是否属于特定的类型。

在Java中没有与c#中的as操作符等价的操作符。

as操作符与is操作符非常相似,但它更富有“进取心”:如果类型正确的话,as操作符会尝试把被测试的对象引用转换成目标类型;否则,它把变量引用设置成null。

17.枚举器即enum类型(java无),把它作为一个变量值的类型使用,从而把变量可能的取值范围限制为枚举器中出现的值。

18.结构(struct)与类很相似,而结构是一种值类型,它存储在栈中或者是嵌入式的,结构可以实现接口,可以象类一样拥有成员,但结构不支持继承。

19.c#保留了指针。


c语言与c++语言的区别

C语言是由Dennis Ritchie于1972年在贝尔实验室开发的。C语言是一种通用的、高级的编程语言,被广泛应用于系统软件、嵌入式系统、操作系统和网络应用程序等领域。

C++是在C语言的基础上发展而来的,最早由Bjarne Stroustrup在1983年开发。C++是一种面向对象的编程语言,它在C语言的基础上添加了类、继承、多态等面向对象的特性,使程序更易于编写、阅读和维护。

  1. 面向对象特性:C++是一种面向对象的编程语言,可以使用类、继承、多态等面向对象的特性。而C语言则不支持面向对象编程。

  2. C++支持函数重载和运算符重载:C++允许在同一个作用域内有多个同名函数,只要它们的参数不同即可。此外,C++还支持运算符重载,使得程序员可以自定义运算符的行为。C语言不支持函数重载和运算符重载。

  3. C++的标准库更加丰富:C++标准库包含了大量的类和函数,可以用于字符串处理、文件操作、容器等方面。而C语言的标准库相对较少。

  4. C++支持异常处理:C++支持异常处理机制,可以在程序中处理异常情况。C语言不支持异常处理。

  5. 内存管理:C++对内存管理进行了改进,支持动态内存分配和释放,可以使用new和delete运算符。C语言只能使用malloc和free函数来完成内存分配和释放。

  6. 虽然C++和C语言有很多区别,但它们也有很多共同之处,它们都是编译型语言,可以直接编译成机器语言。C++语言的语法基本上是C语言的超集,C++程序员可以直接使用C语言的代码,而C程序员也可以逐步过渡到C++。在实际应用中,C++和C语言也有很多联系。例如在操作系统开发中,C语言被广泛应用于内核开发,而C++则被用于开发操作系统的用户界面和应用程序。此外,在游戏开发、嵌入式系统和高性能计算等领域,C++和C语言都是常用的编程系统软件开发:C语言被广泛应用于系统软件开发,如操作系统、编译器、数据库管理系统等方面。C++则被用于开发一些高级系统软件,如图形用户界面、网络应用程序等。

  7. 游戏开发:C++是游戏开发中最常用的编程语言之一。由于C++可以提供高性能和高灵活性,因此它被广泛用于游戏引擎和游戏逻辑的开发。

  8. 嵌入式系统:C语言在嵌入式系统开发中得到了广泛应用,因为它可以生成高效的机器代码,并可以直接访问硬件。而C++也被应用于嵌入式系统的开发中,因为它可以提供更好的代码组织和可维护性。

  9. 高性能计算:C++和C语言都被广泛应用于高性能计算领域,如科学计算、金融计算和图像处理等方面。

  10. 总的来说,C++和C语言都是很好的编程语言,它们在不同领域都有广泛的应用。C++在面向对象编程和标准库方面更加强大,而C语言在系统软件和嵌入式系统方面更加常用。无论是C++还是C语言,都需要程序员具备良好的编程能力和实践经验,才能写出高效、稳定的程序。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值