C++转Java快速入门

       

       有C++基础,Java零基础。想学Java。目前我采用的方法是:

  • 先看一些Java入门视频(B站、腾讯课堂到处都有)快速了解Java这门语言,包括IDE怎么使用、基本输入输出、基本数据类型等,发现好些基础知识都差不多,毕竟都是面向对象的语言。
  • 然后力扣做题,先用C++写一遍,做题思路保持不变,将C++里用到的API替换成Java的(比如你这道题是用C++的unordered_map写的,你用Java写的时候换成对应的HashMap写一遍,遇到不知道的就去百度一下),用Java多刷几道题就大概能记住那些类的使用方法了,这时候基本上就会用Java写代码了。
  • 会用Java写代码算是刚刚入门了,如果想要代码写得好,必须要掌握语言的特性,包括Java各种类的底层原理什么的,这些可以买本书看。推荐书籍《Java核心技术》。
  • 要想深入学习Java,看书肯定不够啊,去GitHub上找点项目做,然后在工作中实践等等

       

        由于博主初学Java,下面的内容如有错误的地方,还望各位Java大佬指出来。

       

1、IDE选择

  • 免费:Eclipse、IntelliJ Idea社区版
  • 收费:IntelliJ Idea旗舰版
  • 附上IntelliJ Idea官网下载链接

       

2、JVM、JRE与JDK

  • JVM(Java Virtual Machine),Java虚拟机,JVM 是 Java 能够跨平台的核心。
  • JRE(Java Runtime Envirnment),Java运行环境,JRE相对于 JVM,多了 Java 基础类库,你写好的Java程序需要有JRE才能运行。
  • JDK(Java Development Kit) ,Java 开发工具包,包含了Java运行环境(JRE)、Java工具和Java基础的类库。你写的Java程序如果要调试,需要有JDK,由于JDK包含了JRE,JRE包含了JVM,因此你的IDE只要装了JDK就不需要额外装JRE和JVM了。
    C++转Java快速入门_第1张图片

       

3、Java和C++相同的一些基础知识

  • 基本数据类型:char、int、long、double……
    布尔类型不同(Java boolean,C++ bool)

  • 运算符:+、-、*、\、%、++、–、=、&&、||、!、<、>、==……

  • 判断语句:if、switch

  • 循环语句:普通for语句、while语句、do-while语句

  • continue、break、 关系表达式?表达式1:表达式2 用法相同。

  • 同样有封装、继承、多态等概念;有private、pubic、this、static 等关键字;有构造函数,用法类似。

  • 方法(函数)同样有定义、调用、重载等概念。

       

4、内存模型

java C++
C++转Java快速入门_第2张图片 C++转Java快速入门_第3张图片

       

       

       

5、数组

C++转Java快速入门_第4张图片

       

       

       

6、类的定义与使用

C++转Java快速入门_第5张图片

       
类的内存模型

        仍以前面的代码为例,学生类Student实例化了一个对象stu1。

Java
        在main()方法中使用类Student,先实例化一个对象stu1,对象stu1占用堆内存,stu1的内存中又存放着类Student的各个方法的地址。
C++转Java快速入门_第6张图片
       

C++
C++转Java快速入门_第7张图片
若类有虚函数的情况,请看图解C++多态,虚函数、虚函数表、虚指针、重写与覆盖

       

       

       

接下来是常用API的对比

       

       

       

1、输入 ----------------------------------------------------------------

Java------Scanner

// 导包
import java.util.Scanner;

// System.in 代表从键盘进行输入
Scanner sc = new Scanner(System.in);
// 获取键盘上输入的int型数据
int number = sc.nextInt(

你可能感兴趣的:(Java,java,c++)