本文并不针对经验丰富的C++程序员,而是对C++也只是入门的同学,如知道使用函数,但是对面向对象中的构造函数、静态成员还不太了解等等。我过去很少关注到初学者的需要,其实生命在于分享,初学者在大本营中占非常大的比例,我希望我能给予更多贴心的指导。

JAVA语言的名字来自爪哇岛上盛产的一种咖啡,当初起这个名字,是为了反映JAVA设计者的一种期待,就是希望JAVA成为一个让程序员编写程序的感觉如同喝咖啡那样悠闲、自如,换句话说,是希望改善程序员的编程体验,使他们得到一次解放。

这个理想当然很伟大,但要完全实现也不容易,而且,他们也只能照顾到熟练编程人员的开发体验,这方面也做得很成功,吸引了全世界近一半的程序员加入到JAVA的阵营。但对于初学者,万事开头难,第一杯咖啡还是要有点耐心才能喝到的。

JAVA和C++第一个不一样,当然是编译运行它们的方法不一样了,比如,我们有这样一个类需要编译运行:

public class MyFirstClass

{

public static void main(String[] args)

{

System.out.println("Oh! My first coffee!");

}

}

我们先不管为什么要这么写,但是必须连大小写都不能错地抄写下来。

对于VC++6.0,编译运行只需要按一个按钮就可以了,其实,VC++6.0本身也是调用了那些诸如编译器(compiler)、连接器(linker)等.exe可执行文件,只是这个过程比JAVA复杂,所以一般直接就用IDE进行教学了。这样导致同学们学完了也不知道一个C++程序在运行之前究竟经历了怎样的过程,非常依赖IDE(Integrated Development Environment集成开发环境),提心吊胆地担心IDE失去响应。

JAVA简化了编译执行过程,只需要编译器(javac.exe)和解释器(java.exe)就可以执行,不再需要连接器了。然而,JAVA的机制也被人为复杂化了,曾几何时,java独有的需要事先设置的、用来寻找.class文件的ClassPath环境变量,磕掉了不少初学者的门牙。幸好从JDK1.5以上的版本,就已经默认给你设置ClassPath了,剩下的,就只有设置那有“命令行的快捷方式”之美名的Path环境变量了(可选的),然后就可以直接使用javac.exe和java.exe了。

现在,首先我们了解一下命令行。命令行实际上是一个初步的人机对话系统,人机之间只能通过文本进行对话,简单是简单,但是需要你把机器能看懂的单词记住,所以,就出现了一些基本命令,如"dir"(directory的简写,显示当前文件夹中的文件)、"cd abc"(come into directory的缩写,进入当前文件夹中的abc文件夹,假如有的话)等。

下面,我们做一些事情:

我们通过开始菜单点击“开始->运行”,然后在“运行”的输入框中写入“cmd”(command的缩写),然后回车,就可以打开一个命令行。一般打开时默认在Windows给你的用户文件夹下,所以是C盘。开始看到的命令提示符前面已经写明了,我这里是:

C:/documents and settings/jinxing>

最后那个“>”是一个提示符,告诉你可以在那里说你想说的话。前面就是一个文件夹路径了,通常我们也把文件夹称为是目录。

不要关闭命令行,另外打开“我的电脑”,进入C盘,打开documents and settings文件夹,然后进入jinxing文件夹(你的不是jinxing,可能是你的名字或者Administrator),然后就看见了一堆文件和文件夹了。

这时,切回到命令行环境,输入“dir”,然后回车,看看是不是出现了一堆信息,可以把窗口最大化,比较一下,你会发现,所有在我的电脑中看见的文件和文件夹,在这里也都以文本的形式列出来了。凡是文件夹,就会在中间标注有<DIR>。前面两列是文件或文件夹的创建日期和时间,第三列是标注该行显示的是不是文件夹,第四列是文件大小,文件夹就不会有那一列,最后一列就是文件或文件夹的名字了。底下还有简单的统计。

但是,初学者会看到最上面两行有一个“.”和一个“..”,这是什么呢?这两个符号,是命令行专用的语言,分别表示当前文件夹自己(想象this指针)和父文件夹。

如果我们输入“cd .”,然后回车,会发现什么反应都没有,因为你在进入自己。如果我们输入“cd ..”,然后回车,就会发现回到了上一层文件夹了,提示变成了:

C:/documents and settings/>

还可以输入“d:”然后回车,就会发现进入了D盘根目录。现在,就可以试一试了,比如"dir"回车,看看D盘根目录下面有什么东西,进入一两个目录试试看,比较一下,和“我的电脑”上那个文件夹下的是否完全一致?

然后,休息一会儿再来。

下面,就可以使用命令行了,如果jdk是默认安装,它的目录应该是:

C:/program files/java/jdk1.6.0_18

现在,从我的电脑进入这个文件夹,看看这个文件夹下面是不是有很多子文件夹,这些文件夹中的第一个是bin文件夹,“bin”是“binary”(二进制)的缩写,因为可执行文件(.exe)是二进制存储的,所以它们就放在“bin”文件夹。从我的电脑进入这个文件夹,就会看见很多文件了,其中就有javac.exe和java.exe,找找看吧!

然后,不要关闭“我的电脑”,我们切换到命令行,在命令行里面,也进入到这个bin文件夹,现在命令提示符可能变成了:

C:/Program Files/java/jdk1.6.0_18/bin>

现在,输入“javac”,回车,你就可以看见一堆告诉你如何使用javac命令的提示信息了。

现在,在记事本上就可以抄下上面的代码,然后保存为一个名为MyFirstClass.java的文件到桌面上,切换到“我的电脑”,把这个文件拷贝到这个bin文件夹下面,就可以对它进行编译了,注意到,现在刚拷进去MyFirstClass.java文件,bin文件夹中没有.class后缀名的文件呢!

接着,切换到命令行,输入“javac MyFirstClass.java”,回车。再回去到“我的电脑”,看看bin文件夹下面,是不是多了一个“MyFirstClass.class”文件?

接着,就可以在命令行里输入“java MyFirstClass”,然后回车。是不是看见下面出现了优美的一行:

Oh! My first coffee!

那么,今天的学习先到此结束!别忘了,前面说的可选的Path环境变量还没有设置呢!java中的main函数和C++中的main函数写法为什么会不同?java中的char和C++中的char为什么不同?java中的字符串和C++的字符串为什么不同等等问题都还没有了解呢!所以,明天还要继续哦!

下次回来,记得谈谈你喝咖啡的感受吧!

有一些C++基础的同学们如何喝下你的第一杯咖啡?相关推荐

  1. arcgis 出图背景_ArcGIS入门教程来袭,零基础的同学快看过来!

    ArcGIS Desktop是一个集成了众多高级GIS应用的软件套件,它包含了一套带有用户界面组件的Windows桌面应用(例如ArcMap,ArcCatalog,ArcTooboxTM以及ArcGl ...

  2. 【技术教程】ArcGIS入门教程来袭,零基础的同学快看过来!

    ArcGIS Desktop是一个集成了众多高级GIS应用的软件套件,它包含了一套带有用户界面组件的Windows桌面应用(例如ArcMap,ArcCatalog,ArcTooboxTM以及ArcGl ...

  3. 005永磁同步电机的数学模型:写了很久,非常适合零基础的同学学习参考

    要实现对永磁同步电机的控制,第一步就是建立其数学模型: 因为数学模型能够准确的表示出各个参数之间的关系: 所以建立一个合适的模型是实现精准控制的基础: 因此把电机的建模放在了第一位: 永磁同步电机的数 ...

  4. c语言网上找程序组合,C语言程序我同学说在网上下的一章一章的小说组合成一个太麻烦,于是 爱问知识人...

    我同学说在网上下的一章一章的小说组合成一个太麻烦,于是我突发奇想要做一个把记事本中的内容按顺序连接起来的程序,但是运行不了,我怀疑是读写时候指针搞错了,情大侠们帮我看看,小弟感激不尽! #includ ...

  5. 零基础入门NLP - 新闻文本分类,正式赛第一名方案分享

    零基础入门NLP - 新闻文本分类,正式赛第一名方案分享:https://mp.weixin.qq.com/s/7WpZUqdlItBToLYuRLm44g

  6. 计算机应用基础文章 茶的功效,茶文化下的计算机应用基础课程改革-计算机应用论文-计算机论文.docx...

    茶文化下的计算机应用基础课程改革-计算机应用论文-计算机论文 --文章均为WORD文档,下载后可直接编辑使用亦可打印-- 摘要:多元文化背景下,茶文化具有丰富学校教育文化内涵.培育当代大学生正确人生观 ...

  7. STM32F103C8T6基础开发教程(HAL库)—点亮第一颗LED灯

    STM32F103C8T6基础开发教程目录 STM32F103C8T6基础开发教程(HAL库)-开发环境配置 STM32F103C8T6基础开发教程(HAL库)-Keil添加注释的快捷键 STM32F ...

  8. 计算机课程线下,计算机应用基础课程线上与线下混合教学优化方案

    黎荣振 摘 要 在计算机应用基础课程教学中应用线上与线下混合教学模式其不仅符合当代学生的需求,还有利于打破传统教学方式的弊端,弥补其存在的不足,扩大了学生获取知识的渠道,促进学生综合能力和综合素养的提 ...

  9. 计算机基础操作模拟题,自学考试《计算机应用基础》操作模拟练习题(2006下

    <自学考试<计算机应用基础>操作模拟练习题(2006下>由会员分享,可在线阅读,更多相关<自学考试<计算机应用基础>操作模拟练习题(2006下(10页珍藏版) ...

最新文章

  1. 数据备份_天津数据备份工具多少钱
  2. net以execl做数据库_C#.NET Excel文件数据导入SQL Server数据库完整代码
  3. java数据结构读书笔记--引论
  4. android平台 arcgisr_第一个基于ArcGIS的Android应用
  5. 《python 源码剖析》 读后总结(虚拟机综述)
  6. React-Router ---withRouter
  7. 开发工具:Git 代码回退功能详解,很实用!
  8. jenkins+svn+maven+ssh 部署配置详细记录
  9. 怎么样提高自己的口才
  10. python硬件测试开发工程师_硬件测试工程师
  11. android8.1 audio hal关键结构分析(二十五)
  12. 4.1 API : MultinomialNB、GaussianNB、BernoulliNB
  13. 如何选择合适的网站程序
  14. 输出字符串全排列 c语言,41.输出全排列-题解(C语言代码)
  15. 计算机基础知识经典问答题,计算机基础知识问答题及答案一
  16. 拆弹实验-phase_2
  17. 如何将一个长URL转换为一个短URL?
  18. c语言编程等边三角形代码,C语言中 正 倒等边三角形的代码
  19. kotlin基本语法
  20. 彩票,双色球,模拟开奖小项目

热门文章

  1. pdf合并的工具下载
  2. “新基建”下的智慧城轨:城轨为“体” 智慧为“用”
  3. 计算机管理员和用户名区别,Administrator记不住?教你自定义管理员账户名称
  4. 路由器上面的WAN口和LAN口是什么意思
  5. 更完善的 Docker + Traefik 使用方案
  6. 100个英语超精简口语短句
  7. mcv 与mvvm 浅谈
  8. Zema自学--3(实际操作)
  9. 教孩子学编程python豆瓣_教孩子学编程 Python
  10. 将旧笔记本的硬盘DIY成移动硬盘