学习下c++原来它和Java有很多相似的地方

在这里插入图片描述

Java和C++区别

在这里插入图片描述
Java是面向对象编程语言,具有封装,继承,多态等面向对象特征。
目前Java分为三个体系:

  • JavaSE(J2SE)(Java2 Platform Standard Edition,java平台标准版)
  • JavaEE(J2EE)(Java 2 Platform,Enterprise Edition,java平台企业版)
  • JavaME(J2ME)(Java 2 Platform Micro Edition,java平台微型版)

Java语言的语法与C++语言很接近,所以,很容易学习和使用。Java语言呢丢弃了C++中很少使用的、很难理解的操作符重载、多继承、自动的强制类型转换。

Java语言不使用指针,而是引用。并提供了自动的内存回收管理机制,不必担心内存垃圾回收机制。C#、Python等语言也都有自动的垃圾回收机制。

Java语言全面支持动态绑定,而C++语言只对虚函数使用动态绑定。

C/C++语言中,没有自动垃圾回收机制,是通过new关键字申请内存资源,通过delete 关键字释放内存资源。
在这里插入图片描述

C++ 应用范围:文字处理程序以及电子表格,编译器,操作系统,大型游戏等。C语言是结构化和模块化的语言,面向过程。

Java语言应用范围:安卓手机应用,软件工具,网站应用,交易系统,科学应用,大数据领域,嵌入式领域等等。

简单学习下C++语法

C++ 是什么?

C++ 是一种静态类型的、编译式的、通用的、大小写敏感的、不规则的编程语言,支持面向过程编程、面向对象编程和泛型编程。

C++是C语言的继承,它是一种使用非常广泛的计算机编程语言,C++作为一种静态数据类型检查的、支持多范型的通用程序设计语言,能够支持过程化程序设计、数据抽象化、面向对象程序设计、泛型程序设计、基于原则设计等多种程序设计风格。

C++的编程领域众广,常用于系统开发,引擎开发等应用领域,深受广大程序员的喜爱。C++不仅拥有计算机高效运行的实用性特征,同时还致力于提高大规模程序的编程质量与程序设计语言的问题描述能力。

C++工作原理:

C++语言的程序是编译型的,所以它性能高。但其开发环境,为了方便测试,将调试环境做成解释型的。即开发过程中,以解释型的逐条语句执行方式来进行调试,以编译型的脱离开发环境而启动运行的方式来生成程序最终的执行代码。

第一步是对程序进行编译,这需要用到编译器(compiler)。编译器将C++语句转换成机器码也称为目标码;
第二步就是对程序进行链接,这需要用到链接器(linker)。链接器将编译获得机器码与C++库中的代码进行合并。

C++标识符

标识符是用来标识变量、函数、类、模块,或任何其他用户自定义项目的名称。
一个标识符以字母 A-Z 或 a-z 或下划线 _ 开始,后跟零个或多个字母、下划线和数字(0-9)
标识符内不允许出现标点字符,比如 @、& 和 %。C++ 是区分大小写的编程语言。

C++基本数据类型

C++数据类型有七种分别是:bool、char、int、float、double、void、wchar_t
类型修饰符:signed、unsigned、short、long

C++关键字

在这里插入图片描述

封装,继承,多态

封装:封装是实现面向对象程序设计的第一步,封装就是将数据或函数等集合在一个个的单元中(称之为类)。封装的意义在于保护或者防止代码(数据)被无意中破坏。

继承:继承主要实现重用代码,节省开发时间。子类可以继承父类的一些方法。

多态:同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果。在运行时,可以通过指向基类的指针,来调用实现派生类中的方法。

简单回顾下Java语法

Java的基础语法:

简要介绍下类、对象、方法和实例变量的概念,这些是运行一个Java程序的集合

  • 类:对象是类的一个实例,有状态和行为。例如一个student类,他的属性有:姓名,班级,分数等
  • 对象:类是一个模板,它描述一类对象的行为和状态。
  • 方法:一个类可以有很多方法。比如一些逻辑运算、数据修改以及所有动作都是在方法中完成的。
  • 实例变量:每个对象都有独特的实例变量,对象的状态由这些实例变量的值决定。

编写Java程序时,以下几点也要注意一下:

  • 大小写敏感: Java是大小写敏感的,这就意味着使用大写的H和小写h是不同的。
  • 类名: 对于所有的类来说,类名的首字母应该大写。如果类名由若干单词组成,那么每个单词的首字母应该大写,例如 StudentDemo,MyStudentDemo,遵守驼峰命名法。
  • 方法名: 所有的方法名都应该以小写字母开头。如果方法名含有若干单词,则后面的每个单词首字母大写。
  • 源文件名: 源文件名必须和类名相同。当保存文件的时候,你应该使用类名作为文件名保存(切记Java是大小写敏感的),文件名的后缀为.java。(如果文件名和类名不相同则会导致编译错误)。
  • 主方法入口: 所有的Java 程序由​public static void main(String[] args)​ 方法开始执行。

写一个简单的java,main方法程序如下:

public class StudentDemo{
   /* 
    * 将打印字符串 Hello World,Java
    */
    public static void main(String []args) {
    // 打印 Hello World,Java
       System.out.println("Hello World,Java"); 
    }
} 

Java注释

类似于C/C++,Java也支持单行以及多行注释。注释中的字符将被Java编译器忽略。

	// 这是单行注释
	
	/**
	* 这是多行注释
	*/

Java标识符

Java所有的组成部分都需要名字。类名、变量名以及方法名都被称为标识符。
关于Java标识符,有以下几点需要注意:

  • 所有的标识符都应该以字母(A-Z或者a-z),美元符($)、或者下划线(_)开始
  • 首字符之后可以是字母(A-Z 或者 a-z),美元符($)、下划线(_)或数字的任何字符组合
  • 关键字不能用作标识符,这个要注意下
  • 标识符是大小写敏感的
  • 合法标识符举例:age、$salary、_value、__1_value

Java修饰符

Java可以使用修饰符来修饰类中方法和属性。主要有两类修饰符:

  • 访问控制修饰符 : default, public , protected, private
  • 非访问控制修饰符 : final , abstract, static , synchronized , volatile

Java 接口和继承

在Java中,接口可理解为对象间相互通信的协议。接口在继承中扮演着很重要的角色。
接口只定义派生要用到的方法,但是方法的具体实现完全取决于派生类。一个类可以由其他类派生。如果你要创建一个类,而且已经存在一个类具有你所需要的属性或方法,那么你可以将新创建的类继承该类。利用继承的方法,可以重用已存在类的方法和属性,而不用重写这些代码。
这就是接口和继承

Java8 新增的特性

在这里插入图片描述
可以查看官网了解一下 Java JDK 8

  • Lambda 表达式 :Lambda允许把函数作为一个方法的参数(函数作为参数传递进方法中)。

  • 方法引用:方法引用提供了非常有用的语法,可以直接引用已有Java类或对象(实例)的方法或构造器。与lambda联合使用,方法引用可以使语言的构造更紧凑简洁,减少冗余代码。

  • 默认方法:默认方法就是一个在接口里面有了一个实现的方法。

  • 新工具:新的编译工具,如:Nashorn引擎 jjs、 类依赖分析器jdeps。

  • Stream API :新添加的Stream API(java.util.stream) 把真正的函数式编程风格引入到Java中。

  • Date Time API:加强对日期与时间的处理。比如LocalDateTime

  • Optional 类 : Optional 类已经成为 Java 8 类库的一部分,用来解决空指针异常。

  • Nashorn, JavaScript 引擎: Java 8提供了一个新的Nashorn javascript引擎,它允许我们在JVM上运行特定的javascript应用。

看到最后你应该知道了Java和C++有哪些相似的地方了吧?
评论区告诉大家哦
在这里插入图片描述

评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小冷coding

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值