从北大青鸟java源码大全时代培训出来的java 程序是能搞多少钱一个月工资?

语法入门 | 第一章 初识Java

版权声明: 本文为查老师原创文章,任何形式的使用请注明作者及出处。 本文中引用的内容,版权归原作者所有。如有侵权请务必邮件联系我,我将会在24小时内进行删除!

C: 从看到本章节的那一刻起,你就已经踏上了IT入门之旅。自此,程序一词或将改变你未来的人生轨迹。未来的你,按键行云流水,脑内CPU高速运转,屏幕切换间,高可用、高扩展、高安全性的” 完美”程序,将由你所著。[参见视频: ]

言归正传,首先,我非常荣幸能作为部分在看同学的编程入行老师。从现在开始你们将要跟着查老师好好"混"些日子,大概也就混个100多篇讲义吧。

今天是我们第一阶段,语法入门的第一章节课程,内容不是很难,毕竟"路要一步一步走,饭要一口一口吃"。这一章节主要还是先搞清楚程序和编程等基本名词的概念,配置一下电脑环境,玩玩第一个Java程序就可以了。闲话不多说,看看我们的本章任务和目标吧。

  1. 使用记事本编写第一个Java程序
  1. 了解Java的历史和前景
  2. 熟练掌握安装、配置Java开发环境
  3. 熟练掌握使用记事本开发Java程序
  4. 了解Java虚拟机与跨平台原理

C: 首先来看看程序的概念,程序在现世纪存在两种含义,即生活中的程序和计算机中的程序。

生活中的程序: 我们去银行办理业务或者在学校时因事请假再或者在工作中去办理报销,这些场景我们都不陌生。我们一遍一遍,一步一步的执行着所谓的流程和手续(套路),这就是生活中的程序。

1.1.2 计算机中的程序

C: 在本世纪的今天,现实生活中的程序你可能已经把它换了个称呼,比如:流程或者手续。而程序这个概念,更多的时候已经被你安放到了手机上的APP,或者计算机上的QQ等方面。它们的确是程序,是由我们未来的同行,前辈所创造编写,编写这些程序的过程,就是所谓的编程 。(Tip:软件不是程序,软件是比应用程序更大的概念,软件是程序、数据及相关文档的完整集合 ,可延伸阅读张海藩和吕云翔所著的《软件工程 第4版》)

但是如果单单这么理解程序,可就有点小儿科了。下面的[ 百度百科 ],解释的还挺不错!程序其实是一个指令 的集合。

何为指令呢? 比方说:我是一位老板(目前不是),我有个女秘书(目前没有),每天我的行程安排或者一些繁琐的事项都交给了我秘书去做,我告诉秘书去帮我邀约一位客人,她就如是去做了。我告诉秘书去帮我通知一下部门要开会了,她也会如是去通知。这个比方里老板所告诉秘书的一件件事就是一个个指令 ,而秘书就是接收指令然后去执行的人。

换到计算机世界的概念,我们被称为程序员/码农 ,如果想让计算机这些秘书去执行一些操作,例如在屏幕上输出一些内容或者自动绘制一个小猪佩奇图像等,就需要去给计算机下达指令。学习编程就是在学习给计算机秘书下达指令的过程而已。

1.1.3 程序和程序的关系

C: 从上面我们理解了程序的两种含义,它们之间是否存在什么关系呢?其实计算机中的程序绝大多数都是因为现实中的某些流程/程序,很是麻烦,耗时或者产生一些资源的浪费(纸张),所以在有了计算机帮助之后,我们人类就将现实生活中的这些程序,以计算机中的程序表现出来了。例如: 在线挂号,在线购物,在线选课、OA系统等。

一句话可以阐述这个关系: 我们编程就是将现实生活中的业务程序移植到计算机中,以计算机指令的形式表现出来。

C: 了解完程序的概念,那这些程序指令我们是怎么告诉计算机的?口头告诉?脑电波交流?显然不是,那我们写自然语言来告诉计算机要做什么?不好意思的是,计算机并不能看懂,它只能看懂二进制(0 1这种数制)。早期的计算机从业者就是在敲打0 1来告诉计算机需要做什么,但是对于我们人类来讲,这一堆0110阅读起来太难了,所以后期的发展中,我们用自然语言定义了一些特殊的语法,再通过一个”翻译官”(编译器)帮我们翻译给计算机看,这样就能实现计算机来执行我们的指令,而且我们自己也能看懂自己写的是什么。 上述提到的特殊语法就是编程语言,也被称为计算机语言。[ 摘自:百度百科 ]

1.2.1 主流的编程语言

C: 编程语言太多了,怎么定义语法的都有。这也很正常,就好像当今世界,自然语言都千奇百怪呢。所以我们不需要去过多的关注偏门的”小语种”,只需要去关注一下当今IT编程领域的主角们即可。[ 参见TIOBE: ]

下图是知名排行榜的统计数据,类似的网站有PYPL等。TIOBE排行榜是根据互联网上有经验的程序员、课程和第三方厂商的数量,并使用搜索引擎(如Google、Bing、Yahoo!)以及Wikipedia、Amazon、YouTube统计出排名数据,只是反映某个编程语言的热门程度,并不能说明一门编程语言好不好,或者一门语言所编写的代码数量多少。

在查老师看来,数据还是能说明一些语言的好坏或流行度的。截止目前,即使谦虚一些,我们要学习的Java(爪哇/国内音译加哇,扎哇),它仍然是最热门的编程语言之一。即便在网络上有一些人每天都在喊着不要学Java,要学Python,学C,学PHP,甚至还听过PHP是最好的语言,这种引战言论。事实上呢?哪有什么完美的编程语言?只不过是不同的场景,谁更适合而已。而且处于当今时代的我们,只会一种编程语言已经无法适应快速迭代的互联网应用和企业需要了(全栈)。所以不学哪种编程语言本身就是个”伪命题” 。 尤其对于刚踏入编程领域的小伙伴们来讲,查老师个人认为,Java是一门极其合适的入门和谋生语言!它在理解难度,语法规范,性能,流传广度、社区支持,企业需要和热度等方面都属于领先地位。稍后查老师就给你详细讲讲它的来历和能力。

C: Java是Sun Microsystems(国内译为升阳公司)于1995年推出的高级编程语言。下图是Java的共同创始人之一:詹姆斯·高斯林James Gosling(被誉为Java之父)。2009年,Sun公司被Oracle并购,高斯林离职。截止目前,高斯林加入了亚马逊AWS工作。

下图是Java的Logo(一杯热气腾腾的咖啡,有传言Java也是由于大佬们爱喝印尼爪哇岛的咖啡而得名)。不过这两缕蒸汽是多么像大佬们头上稀疏的秀发。

[ 摘自:周志明《深入理解Java虚拟机第二版》1.3部分 ]

1991年4月,由James Gosling博士领导的绿色计划(Green Project)开始启动,此计划的目的是开发一种能够在各种消费性电子产品(如机顶盒、冰箱、收音机等)上运行的程序架构。这个计划的产品就是Java语言的前身:Oak(橡树)。Oak当时在消费品市场上并不算成功,但随着1995年互联网潮流的兴起,Oak迅速找到了最适合自己发展的市场定位并蜕变成为Java语言。

C: 下图是Java的发展过程,重点关注一下1995年,1998年,2009年和2013年中期即可,了解下它的历史,才能让我们更好的与它"对话和结伴"。

[ 摘自:周志明《深入理解Java虚拟机第二版》1.3部分 ]

VM和Exact VM,其中Exact VM只在Solaris平台出现过;后面两个虚拟机都是内置JIT编译器的,而之前版本所带的Classic VM只能以外挂的形式使用JIT编译器)。

1999年4月27日,HotSpot 虚拟机发布,HotSpot最初由一家名为“Longview Technologies”的小公司开发,因为HotSpot的优异表现,这家公司在1997年被Sun公司收购了。HotSpot虚拟机发布时是作为JDK 1.2的附加程序提供的,后来它成为了JDK 1.3及之后所有版本的Sun JDK的默认虚拟机。

2009年2月19日,工程代号为Dolphin(海豚)的JDK 1.7完成了其第一个里程碑版本。根据JDK 1.7的功能规划,一共设置了10个里程碑。最后一个里程碑版本原计划于2010年9月9日结束,但由于各种原因,JDK 1.7最终无法按计划完成。在JDK 1.7开发期间,Sun公司由于相继在技术竞争和商业竞争中都陷入泥潭,公司的股票市值跌至仅有高峰时期的3%,已无力推动JDK 1.7的研发工作按正常计划进行。为了尽快结束JDK 1.7长期“跳票”的问题,Oracle公司收购Sun公司 后不久便宣布将实行“B计划”,大幅裁剪了JDK 1.7预定目标,以便保证JDK 1.7的正式版能够于2011年7月28日准时发布。

Java SE是基础核心,Java ME和Java EE是核心外的两个分支。无论是走Java ME还是Java EE都需要学习Java SE,我们系列课程的前三小阶段就是在学习Java SE基础。另外以后我们主要从事的分支就是Java EE,典型的产品就是天猫、京东等大型分布式应用。再进阶之后我们还可以进入热门的大数据领域,国内现在比较知名的大数据框架Hadoop就是Java语言编写的,而且现在国内做大数据的人才很多都是由原Java工程师进阶过去的。

还有非常重要的一点,Java程序是跨平台的 ,即Java程序可以运行在任何平台上,不需要做不同系统平台的兼容适配。 “write once , run anywhere.” ,稍后我们编写完第一个Java程序后会介绍一下这句口号及原理。

  1. 因为windows的普及性,在桌面程序开发领域,微软的C#语言更具有优势,开发游戏方面C和C++性能和渲染上也更有优势,Java几乎没有市场。
  2. Java ME已经凉凉,被Android等抢占了市场,不知道你有没有用过诺基亚等老式手机?还记得Java 2D游戏吗?

[ 摘自:周志明《深入理解Java虚拟机第二版》1.1部分 ]

Java不仅仅是一门编程语言,还是一个由一系列计算机软件和规范形成的技术体系,这个技术体系提供了完整的用于软件开发和跨平台部署的支持环境,并广泛应用于嵌入式系统、移动终端、企业服务器、大型机等各种场合 。时至今日,Java技术体系已经吸引了900多万软件开发者,这是全球最大的软件开发团队。使用Java的设备多达几十亿台,其中包括11亿多台个人计算机、30亿部移动电话及其他手持设备、数量众多的智能卡,以及大量机顶盒、导航系统和其他设备。

C: 上面的介绍是否能让你对Java体系有一个初步的认知呢?同学们可能着急想上手编程了吧?还是先耐下性子,听查老师说,在正式开发一个Java程序前,我们还需要认识两个概念,JDK和JRE。

因为Java程序开发过程中,必然要运行程序来测试执行情况,所以JDK内置了一个JRE。

C: 详情请查看查老师的**《初识Java附录 | JDK安装》** 。

3.1 使用记事本开发Java程序

C: 搭建好了环境,接下来开始准备开发一个Java程序吧,下图就是开发步骤。

一个Java程序的开发,需要经过:编写源码,编译源码和运行,这三大阶段。

和查老师来体验一下吧!源代码/源程序:程序的原始指令,由程序员编写

1.首先使用记事本编写源代码文件(Java程序的源代码文件扩展名为.java)。

2.打开cmd命令窗口,进入源代码所在地,使用javac命令编译,生成.class文件。

编写完的源代码,计算机无法执行,因为它只识别二进制,所以我们需要一个翻译官帮助我们去翻译下,这样计算机才能够去识别。翻译官就是编译器,编译之后就会出现一个扩展名为.class的字节码文件(它并非纯二进制文件,是运行于JVM中的一种伪二进制文件),这时才能够被计算机执行。

这样我们就实现了第一个Java程序,我们借助它给计算机下达了一个在屏幕输出Hello World!!!的指令。

为什么我们开始编写的第一个程序要输出Hello World这句话?
实际是因为《The C Programming Language》这本C语言书籍中使用它做了第一个演示程序,非常著名,所以后来的程序员在学习编程或进行设备调试时延续了这一习惯。
一个程序员才懂的冷笑话:一位资深程序员到了退休的年纪,为了给自己的晚年生活增加点乐趣,开始学习书法,在开始学习书法的第一天,资深程序员铺开纸张,大笔一挥Hello World

C: 刚才我们编写了第一个Java程序,尽管背了相关单词,但肯定还是看的云里雾里的。查老师先给你个提醒,现在呢不要求你过多理解它们的含义,只需要知道它的效果和注意事项即可。随着学习的深入,慢慢就会深入认识和理解了,千万别钻牛角尖 ,因为还没给你讲的肯定是因为查老师认为目前还不是太适合你的,欲速则不达

下方是你现在需要记忆的注意事项和规范:

  1. 类名与文件名完全一致,首字母大写(帕斯卡/大驼峰命名法)。
  2. main()方法是程序的入口,四要素必不可少。
  3. 核心语句:System.out.println();从控制台输出信息,S是大写。(Java严格区分大小写)
  4. { 和 }一 一对应,缺一不可。(注意模仿查老师的编写习惯)
  5. 注意要有层级缩进,一行只写一条语句即可。

上面的5条注意事项,其实4条都在强调规范,编码规范非常重要!一个软件的生命周期中,80%的花费都在于维护。几乎没有任何一个软件,在其整个生命周期中,均由最初的开发人员来维护。编码规范可以改善软件的可读性,可以让程序员尽快而彻底地理解新的代码。查老师:“好的代码应该是给人看的,而不是给机器看的。” 更多规范除了模仿查老师平时习惯外,还请查看《阿里巴巴Java开发手册》,在查老师的讲义公众号回复规范手册即可获取最新泰山版下载链接。

C: 其实输出功能,不仅仅只有println()这一个语法,还有去掉了ln之后的print()也可以实现。

如果想让print()实现println()的效果,可以借助转义符。

C: 在Java的编写过程中我们需要对一些程序进行注释,这样除了自己更方便阅读,别人也更好理解我们的程序,所以我们一定要适时的加一些注释,可以是编程思路或者是程序的作用。Java中有三种注释,1.单行注释以 // 开始;2.多行注释以/*开头,以*/结尾;3.JavaDoc(文档注释)注释以/**开头,以*/结尾(文档注释前期了解,后期再掌握)。

3.4 Java虚拟机和跨平台原理

C: 在上方查老师讲Java的能力时就埋了一个伏笔,Java程序是跨平台的,何谓跨平台?查老师给你举个非跨平台的程序例子,下图是百度网盘客户端程序的下载页面,它为了能够运行在不同的平台(系统)上,开发了6套系统(其实是7套,还有一套网页版)。看到这其实你就应该能明白为什么跨平台是一个非常优秀的能力了。

而经过刚才编写完第一个Java程序之后,Java为什么能跨平台?其实在开发步骤中就能找到原因。编译!编译会将源代码转变为字节码文件(伪二进制),而这伪二进制内容未来运行时是运行在JVM(Java Virtual Machine)上的,换而言之,其是因为JVM能跨平台安装,所以Java才能实现跨平台 。由此,Java程序员就可以不用考虑所写的程序要在哪里运行了,反正都是在JVM虚拟机上运行的,JVM会负责将其变成相应平台的机器语言,而这个转变并不是程序员应该关心的。后续的很多优秀程序设计都采用了该思想。

C: 从刚才的学习中,我们清楚了编译是将源代码文件转换为了字节码文件,这字节码文件也是以后我们运行所需的。如果有一天,你的老板给你了一堆字节码文件,让你去借鉴一下内容(源代码),你当然知道字节码文件里是一堆乱码了,所以随着而来的,我们需要它再转换为源代码文件,这就是反编译,我们可以借助工具来更快,更好的批量处理。

编译: 将源文件(.java)转换成字节码文件(.class)的过程称为编译。

反编译: 将字节码文件(.class)转换回源文件(.java)的过程称为反编译。(常用有Jad、FrontEnd、jd-gui)

  • 首先自行敲一遍老师示例的代码(注释量要求不低于40%),并整理笔记,理清整章节思路。
  • 通过记事本编写Java程序,将你最喜欢的两首诗的内容分别打印在屏幕上。
  • Java定义的常用数据类型有哪些?
  • “%” 和 “/” 分别执行什么运算?
  • boolean变量可以取哪些值?
  • “=” 和 “==” 的区别?

第一章节学完了,感觉怎么样?概念是否清楚了?语法是否记住了?

哪有那么容易啊,按以往学生的情况,今天内容不难,但是转头就会忘记。并且小错误很多,所以需要勤加练习,每天查老师都有作业布置,抓紧完成!我们下一章节见!

}

Python工程师学习之旅

Python软件开发基础课程内容

1.掌握计算机的构成和工作原理
3.熟练使用Docker的基本命令
5.使用Python完成字符串的各种操作
7.使用Python创建文件、访问、删除文件

项目实战: 2048 游戏设计、通讯录日程表、飞机大战

}

我要回帖

更多关于 java源码大全 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信