C++转Java快速入门

本文面向有C++基础的读者,介绍了从选择IDE、理解JVM、JRE和JDK的区别,到掌握Java的基本知识和常用API的转换方法。通过观看入门视频和在LeetCode上刷题,将C++的编程经验迁移到Java,逐步熟悉Java的语法和类库。同时,建议阅读《Java核心技术》一书和参与实际项目以深入学习。
摘要由CSDN通过智能技术生成

       

       有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选择

       

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了。

       

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++
在这里插入图片描述

       

       

       

5、数组

在这里插入图片描述

       

       

       

6、类的定义与使用

在这里插入图片描述

       
类的内存模型

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

Java
        在main()方法中使用类Student,先实例化一个对象stu1,对象stu1占用堆内存,stu1的内存中又存放着类Student的各个方法的地址。
在这里插入图片描述
       

C++
在这里插入图片描述
若类有虚函数的情况,请看图解C++多态,虚函数、虚函数表、虚指针、重写与覆盖

       

       

       

接下来是常用API的对比

       

       

       

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

Java------Scanner

// 导包
import java.util.Scanner;

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

// 获取键盘上输入的字符串
String str=sc.n
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值