中企动力 > 商学院 > java入门基础教程
  • ?

    Java基础教程,第二讲,Java语法和基础变量

    左靖

    展开

    转载自百家号作者:程序员补给栈

    学完此次课程,我能做什么?

    学完此次课程,我们可以实现第一个Java入门程序,并且了解Java的语法以及基本数据类型。

    学习此次课程,需要多久?

    5-10分钟

    课程内容

    老规矩,先看入门程序:

    如何运行入门程序? 先使用 javac + 文件名 + 扩展名(.java) 把java代码编译为二进制文件 文件名.class,然后使用 java + 文件名运行。如下图:

    通过入门程序,总结以下几点语法或者规范:

    1.Java程序区分大小写,system 和 System 不同。

    2.Java是面向对象的编程,所有文件都是类。

    3.类名必须以字母开头,不能使用关键字,长度无限制,但是便于可读不要太长,最好让人看到类名就知道类的作用。

    4.建议使用驼峰命名方式,即每个单词的首字母大写FirstSample,HelloWorld,Person。看起来像骆驼的驼峰,因此得名。

    5.单行注释使用// 多行注释 和php相同,和python不同。

    6.程序都是从main()方法开始执行,和c语言一样。

    7.每行代码使用冒号分割(;),不可以像Python一样省略。

    数据类型

    Java是一种强类语言,也就是说必须为每一个变量声明一种类型,不能像Python或者PHP那样无需定义随手就用。我个人还是比较喜欢严格的声明方式,虽然麻烦,但是程序更加的严谨和安全。

    1.整型

    Java提供四种整型。

    int类型使用频率最高,超过20亿的数据量需要使用long类型,byte和short适用于对内存需要严格控制的程序使用。

    2.浮点类型

    浮点类型,通俗说就是带小数点的数字,Java提供两种浮点类型:

    double类型也叫双精度类型,实际应用中大部分都是double类型,float类型带后缀(f或F),double类型带后缀(d或D),当没有任何后缀,如:3.14 默认为double类型。

    3.char类型

    char类型,用于表示单个字符,使用单引号括起来,如:'a'。强烈建议不要在程序中使用char类型,除非要处理UTF-16代码单元,最好的做法是将字符串作为抽象数据类型处理。

    4.boolean类型

    布尔类型只有两个值,ture和false,用于判断逻辑条件。

    小结

    通过学习,我们实现了第一个Java程序,关于访问修饰符,static,void的概念大家可能还不太了解,后面我们会慢慢说到,现在记住就好。另外数据类型非常重要,需要大家掌握。

    接下来学习什么?

    接下来我们学习一下变量的定义,以及如何初始化,还有各个类型之间如何转换。

  • ?

    如何快速学习Java?

    Hebe

    展开

    点击上方“CSDN”,选择“置顶公众号”

    关键时刻,第一时间送达!

    【CSDN编者按】在各大编程语言学习榜单上,Java的入门难度不言而喻。除了要科学选择一门适合自己的编程语言,还有没有快速入门的方法呢?近期,我们整理了来自Quora上来自网友的回答,希望给予更多参考。

    回复一:

    1. 学习语言基础

    很显然,掌握语言基础是第一步。如果你不了解基础知识,那么你就不知道自己是否做错了或者接下来该怎么做。当然,这并不是要求你把所有的基础知识都记住,比如所有的 Java关键字、核心概念或者基本编码技术等。我希望你能够阅读以下链接的内容,即使在初次阅读时并不能理解全部内容,也希望你把全部内容看一遍。

    https://docs.oracle/javase/tutorial/java/nutsandbolts/上面两个链接不是介绍 Java 基础知识的唯一链接。你可以通过谷歌搜索出很多类似的链接。

    当你第一次阅读完成上面两个链接的内容时,请再次重新阅读,不要漏掉任何部分。这一次,之前无法理解的内容可能就能够理解了,你能够自己将各种概念联系起来。如果有些内容你仍然无法理解,请继续重复该步骤,再次阅读,直到你真正掌握核心概念。不要担心理解的对错,只要把它们联系起来就好。记得做好笔记,因为笔记能够记录你的 Java 学习曲线。

    2. 开始编写一些小程序

    如果你确信自己对大多数的基础知识和概念足够熟悉,并且能够以某种方式将它们联系起来,那么你就可以进行下一步了,你可以开始尝试编写一些非常基本的 Java 程序,比如打印 hello world、实现简单的加减法,等等。

    当你开始动手编写程序时,请记住,前几个程序对你来说可能会困难重重。但是一旦挺过去,接下来即使这些问题再次出现,你也能轻松解决。

    你可能会遇到很多困难,起初你可能都无法独自完成 hello world 程序并使其正确运行。这时,你应当毫不犹豫打开谷歌然后搜索类似的程序。不要简单复杂这些代码,首先应该读懂代码,然后自己动手手动输入到你的 IDE 中,并解决由于输入的错误语法而导致的编译错误。如果仍然不成功,就再次借助谷歌寻求帮助。谷歌搜索是程序员的良师益友,你应该好好利用它。

    多编写几个程序,首先尝试自己独立编码,遇到问题再通过谷歌寻求帮助。我列举了一些基本的 Java 程序,很适合初学者。

    显示文本信息。显示1到50的数字列表,每个数字独立一行。找出两个数字中的最大值和最小值。使用多种方法交换两个数字。编写一个计算器程序,使之能够进行数字的加减乘除运算。创建两个类,练习重载和重写。在程序中使用数组。以上程序只是带你入门,让你能够编写一些基本的 Java 程序。这个列表可以更长,你可以添加更多的项目到这个列表中,为其他初学者创建更多的入门程序。记住,善用谷歌,它会让你学习编程的过程如虎添翼。

    3. 使用 Java API 编写高级程序

    当你完成了大部分的基础程序编写,并且掌握了基本的编程技巧之后,就可以进行下一步了。我会建议你努力学习 Java 集合和 Java IO 内部的 API。你需要熟悉这些 API 提供的各种类和接口,并利用它们来创建程序。需要注意的是,你应该查找已经存在的 API 和方法来实现功能,而不是自己实现这些逻辑。你的任务是熟悉这些 API,因此你只能够在这些已有的 API 中寻求解决方案。

    同样,我列出了几个基本的程序供你参考。之后,你可以编写更多的程序,尽可能多地使用 JAVA 提供的 API 和类。

    从控制台接收输入并打印。

    从文件系统中读取文件并在控制台中打印文件内容。

    创建一个新文件并在文件中写入数据。

    从 URL 中读取数据并对其内容进行一些搜索将元素存储在列表中,然后遍历它。

    使用 HashMap 存储随机的键值对,然后用多种方式遍历它。

    对集合元素进行搜索和排序。

    在这一阶段你编写的程序越多,就会获得更多的信心。熟练使用这些 API 之后,请进入下一节接受更加艰难的挑战吧。

    4. 编写桌面程序和 Web 应用

    通过这一步的学习,面对任何Java 面试你都能够信心满满,当你讨论 Java 相关的话题时也能够充满自信。你需要至少编写一个 Java 桌面或者 GUI 应用程序,比如计算器,然后再编写一个 Web 应用程序,比如医院管理程序。在前面的学习中,你已经掌握了最基本的 Java 知识,现在你需要去探索,然后编写出这两个应用程序。

    你可以向 Java 专家、有经验的朋友、同事或者其他比你强的人寻求帮助。在搜索解决方案和学习基本概念时,阅读优秀资料。此外,还可以购买一些相关的书籍。总之,用一切方法把这两个应用程序做好。集中精力,哪怕几周甚至几个月的时间,也要把这两个程序做好。

    我可以向你保证,当你最终完成这两个练习时,谈到 Java 你会获得空前的自信。更重要的是,它可以帮助你养成不惜一切代价完成一项任务的好习惯。这种持之以恒的态度对你职业生涯的长远发展是非常重要的。

    5. 阅读和参与优秀的 Java 博客与论坛

    完成上述四个步骤之后,我相信你在 Java 方面已经获得足够的自信,你可以去帮助其他的初学者。遇到初学者时,尽量帮他们解决问题,即使这会花费你一定的时间。比如 Stack Overflow 这样的论坛,程序员们经常在这里学习、分享或者进行职业规划。你可以从别人的错误中学习,开拓思想,并提升自己的思维能力。

    事实上,这一步就像无限循环,只要有时间你都应该持续下去。看到你的成长我会非常欣慰。

    以上就是我关于学习 java 的最佳方式的想法。如果你碰巧同意我的意见,请发表评论。如果不同意,请提出你的建议。如果你的建议够好,我会欣然采纳。

    回复2:

    参加 OCJP 认证是一个很好的学习 Java 的途径。当你从零开始学习开发 Java 应用程序时, 网上提供了大量有用的资源。

    你可以去创业公司和跨国公司实习,实战是最好的学习方式: https://hasjob.co/?q=internship

    搭建 Java 开发环境:

    想要编写 Java 程序,首先需要搭建开发环境。

    有用的 Java IDE: 1. Eclipse - Eclipse Luna 2. Netbeans - 欢迎来到 NetBean 3. IntelliJ IDEA

    Java 在线学习资源:

    Java 教程:https://docs.oracle/javase/tutorial/Vogella Eclipse、Android、Java 培训和支持Mkyong Java Web 开发教程Java 参考书:

    深入浅出 Java: Java 傻瓜编程: Java 编程参考 - 最新版面试问题:

    Java 面试内幕指南Java 面试问题集锦熟悉基础知识之后,请继续使用第三方库进行编程练习。学习计划、组织、模块化以及代码重用。编码标准:

    http://cleancode.sourceforge/wwwdoc/codingRules.html论坛:

    StackOverflow CodeRanch其他一些有用的资源:

    编程实践与竞赛在线计算机编程编程竞赛SPOJ编程实践Euler 项目TopCoder网站, 世界上最大的开发社区CodeforcesHackerEarth BetaHackerRankLeetCode教程LearnStreetGeeksforGeeks代码学校Bit TwiddlingCS 97SI:编程竞赛简介CSE 博客 - 定量、数学、cse 拼图数学苹果、谷歌、Facebook、亚马逊和微软的技术面试问题汇总黑客网站好教程 - 最新教程编程社交QuoraStack OverflowCareerCup 面试问题GitHubGeeklist 必读自学编程十年提高编程技能的10个网站Stack Overflow 上排名靠前的编程书籍: http://linkis/————— 推荐阅读 —————

  • ?

    写给自学者的入门指南

    如花

    展开

    在 IT 工程师和培训机构多如牛毛的时代,拜师学艺并不难。但自学编程对于毫无基础的同学来说却可能是个问题,相信有过类似经历的朋友都有一把辛酸泪和一肚不吐不快的体会。让我们从一个故事说起…

    故事

    某君在一个普通大学读着自己不喜欢的专业,以打游戏、刷段子和睡觉度日,突然有一天想学点什么。学编程好像挺酷,而且听说IT行业充满了机会,没准一不小心就和大佬一起“改变世界”了。

    那么第一个问题来了,他该选择什么语言?

    是世界上最好的语言 PHP?还是语言之母的 C?幸好还知道个编程语言排行榜,找到一看、几十种不带重样,这要逼死天秤座的小朋友。选 PHP 吧?上非诚勿扰都要被灭灯,而且就只能做个网页。万般纠结之后我们选 C 吧,听起来既高级又底层,说不准还能考个计算机二级。

    接下来得干正事儿了。在这个便捷的网络时代,自学可选择的方式非常丰富。除了在网络上收集资料、阅读干货外,某君还向一些前辈咨询了自学的方法。

    网络上流传的编程学习方式有:

    看书(这是最容易想到的方法)

    观看视频教程

    阅读官网文档

    读源码

    到大学蹭课或者报名培训(不知道还算不算自学,没交学费都算吧?)

    某君又得纠结一番了,大学蹭课和培训并不一定有合适条件,且不符合自学的气质;观看视频教程,前辈们觉得比较low;阅读官网文档和源码,这不适合初学者。总得来说看书算是比较中肯的方法,至于看什么书呢,前辈推荐了《C Primer Plus》,据说是学习C语言的经典之作。

    好吧,不再纠结,直接啃这本大部头,虽然有人说看原版好一些,但是实在能力有限、还是看中文版吧。一口气花了一周时间读完这本书,果然是经典,变量、语句、条件判断甚至指针都知道怎么回事了。

    某君决定按照书中的说法实践一下了,于是打开了记事本,折腾很久装了GCC,把书上的第一个例子抄了下来,在控制台的小黑窗输出了“Hello World”,成就感满满。决定上手写点高级的的东西一试身手,合上书。咦,为什么会报错?哦,原来少个分号。不禁陷入思考:为什么学了两个月还是只能在这个黑窗口算算秋水仙数?网友还说要看官网文档、要读源码、要看英文原版,我一样都不能做到,我一定是能力不够,编程果然是天才做的事情……

    正经话

    上面的故事是我编的,但其中的纠结却是自学者或多或少都经历过的。实际上,IT从业者并不像传说中那样需要天才般的智商,要点在于能否找到合适的入门途径,再加上一点点坚持和思考。比较可惜的情况是一些人没能找到适合自己的学习方法,并在纠结和碰壁后失去信心,然后沮丧的认定自己并不适合干这行。学编程很多时候就是一个趟坑的过程,但不是每一个坑都有必要趟,写这篇文章的目的是希望能够帮助初学者尽量少趟一些坑。

    IT世界的地图

    初学者遇到的一个典型问题是对IT世界没有一个大的图景。比如大多数的Java书籍,教完你基础语法知识和秋水仙数的求法后就结束了,并没告诉你接下来能干什么。我曾经为此感到非常困惑,学完Java SE后做了一个非常简陋的GUI demo,就失去了后续的Java学习方向,带着对Java的偏见,这成为了我一段令人沮丧的学习经历。关于这个话题一本书可能都不够,简单来说,我尝试从计算机科学知识和技术实践两方面来聊聊成为一名IT工程师需要具备哪些东西。

    计算机科学基础

    首先初学者要具备一些非常基础的知识,这些知识在你踏上工作岗位后能被实际的用到,比如计算机运行原理、网络的传输、常用数据结构和算法等。这部分属于计算机科学,也是应该被计算机专业本科课程涵盖的,不要伤心错过了大学本科的相关课程,我会分享一些有用的资源。

    这里我罗列了一些计算机专业的学生一般需要学习的课程,当然每个学校专业设计都不一样,甚至采用的教材名字也不一样,仅供参考。大学计算机科学课程往往包括:《高等数学》、《离线数学》、《电子电路》、《数据结构》、《程序设计》、《计算机组成原理》、《编译原理》、《计算机网络》、《软件工程》、《数据库原理》等。有些学校会有一些额外的课程,例如《通信原理》、《汇编语言》、《线性代数》、《C语言》、《Java 语言》等。

    图片来源于网易计算机专业的课程体系

    尽管IT行业知识更迭非常快,但是基础知识并不容易过时,因此有大量的资料可以选择。可以选择从计算机经典丛书系列开始,比如佛罗赞和莫沙拉夫的《计算机科学导论》,甚至可以阅读一些计算机科普类读物例如《穿越计算机的迷雾》。另一种直观的方式是观看大学精品课和去跟慕课课程,比较推荐的有几个:

    中国大学精品开放课程,高等教育出版社的精品课程项目,有全国大量的名校授课视频和课件

    中国大学MOOC ,这个是中国大学MOOC和网易合作的,提供了上文附图中计算机课程体系中所有课程

    果壳网的MOOC学院,主打翻译全球名校的优秀课程,比如斯坦福的《编译原理》和MIT的《Python》

    从知识到实践

    除此之外,还需要了解实际应用于设计软件或者开发网站中的实践类知识,包括某个特定语言以及周边的库、框架和工具等。 我们可以把特定需求中用到的语言、库和框架以及其他的工具称为技术栈,在技术选型上通常也是被这样考虑的,HR常常会根据技术栈来寻找需要的工程师。比如需要学习SSH 三大框架和Java的Java技术栈;为服务器web开发而生的PHP技术栈;在移动开发领域流行的IOS、安卓技术栈等。当然这里面有一些重合和共用的技术也需要学习,比如版本管理器Git、SVN就是每个合格的工程师需要去学习的。

    换句话说,大学课程主要定位在上面说到的计算机科学基础知识,而市面上的培训机构主要是告诉你在怎么在实际工作中运用,所以大学和培训机构都有他们的价值。

    想要更加详细的了解这部分内容,这里有一些开源的技能图谱可以参考:

    图片来自: http://skill-map.stuq.org/

    如何挑选你的兵器?

    在介绍完计算机领域的大致图景后,就需要选择一门合适的编程语言,一个较为形象的例子是把编程语言比喻成兵器,因为我们深知编程语言对于工程师而言是实实在在的工具,我们不是为了学它而学,学编程不仅仅是学语言特性,一般来说我们也不用知道赋值语句像“茴香豆蔻”的“茴”字有四种写法。

    当然语言之争从来没有停止过,如果把编程语言比喻江湖武器的话十分有趣。

    C语言是M1式加兰德步枪,很老但可靠。

    C++是双截棍,挥舞起来很强悍,很吸引人,但需要多年的磨练来掌握,很多人希望改用别的武器。

    Perl语言是燃烧弹,曾经在战场上很有用,但现在很少人使用它。

    Java是M240通用弹夹式自动机枪,有时它的弹夹是圆的,但有时候不是,如果不是,当你开火时,会遇到NullPointerException问题,枪会爆炸,你就会被炸死。

    JavaScript是一把宝剑,但没有剑柄。

    — 来自网络

    老实来讲IT行业的最终目的是交付可用的软件,编程语言也是适应市场的。这对于初学者或许有些残酷,在工作中我们发现最好的语言是用来处理工作任务或者构建合适的应用,并不是出于爱好或者某种Geek精神。

    对于初学者而言,在选择合适的入门语言时至少需要考虑两点:

    是否能适用于构建你想要的应用。如果你的目标是创建一个运行在IPhone上的APP,那么最好选择 Object C 或者 Swift,学习web开发可以选择PHP 或者JAVA。实际上我们仍然可以用汇编做出网页,但是这样做成本高昂。

    是否容易学习,在满足第一点的条件下请尽量选择容易学习的语言。容易不仅仅指语法简单,包括环境搭建、部署等都需要考虑在内,以及能不能容易找到好的学习资料,因此尽可能的选择主流语言。

    别忘了非常重要的一点,学习编程语言还包括平台提供的API,比如Win 32 之于C++/C#/VB,以及周边的库和框架(这些库、框架和工具能在上面说的技术图谱中找到)。IT历史上甚至出现框架和库引领编程语言走向的情况:JQuery 和Angular 改变了前端开发的思想; Rails 抢走了Ruby的名气;而SSH三大框架一度代表了Java世界。

    最后我为初学者整理了一个流行编程语言和用途的表:

    另外还需要注意的是开发工具,可以选用IDE和有代码提示的编辑器,但尽量不要在这上喋喋不休,这就像用来盛放你锋利兵器的架子,用着顺手就行,也不推荐使用纯文本编辑器,这看起来像赤手空拳。 推荐一些编辑器和IDE

    挑选合适的资料和有效的阅读

    对初学者而言,我仍然推荐好的视频教程,虽然我已经听到不下5个人声称是靠阅读官方文档或者看源码学会编程的,而且认为观看视频教程见效太慢。但这个思想对初学者很危险,不得不承认阅读文档和源码能更准确找到自己想要的信息,这对深入技术原理非常有用,但视频能比文字传达出更丰富的内容,有更直观的演示和细致的讲解,我想没有比这个更适合初学者了。

    除了上面提到的精品课程和慕课教程,国内有像网易云课堂,国外有lynda这种在线学习视频网站,甚至在优酷和土豆都能找到足够的教程资源。

    如果选择了阅读技术类书籍,我们来聊聊怎么有效的阅读一本技术书籍。

    读IT类书籍和读考试类书籍的方式不同,初学者需要选择更接地气、并且能告诉你最终能做出什么案例的书籍。你不需要通读整本书,而是需要搭建好和书中版本一致的环境,然后把书中的每行代码敲入电脑,观察这些代码怎样被运行,在遇到问题时去请教朋友或者到搜索引擎中寻找解决办法,直到示例程序能被正确运行。

    可能一个月才能读完一本书,但慢点并没什么坏处,敲过一遍的代码才能算是你的,否则永远存在于纸上的代码清单中。对于关键的概念和知识点,可以在阅读的同时做一些笔记,去尝试使用思维导图来做你的笔记吧,这让你的笔记跟上你的思考,并形成一个知识网络。

    自我激励

    自学无疑是寂寞的。编程学习耗时较长,如何保证在这个阶段能坚持下去?

    我们知道很多人都能对游戏产生强烈的兴趣、愿意为之投入时间,这其中的秘密就是游戏的奖励规则。杀死一个怪物就能得到一些金币,通过完成任务获得满足感,通过关卡的设计产生持续吸引力,进而形成正向的反馈。

    其实学习编程也一样,实现一小段程序并运行,足以让人感到成就感和满足,借鉴这个简单的心理学技巧,定期给自己设定一些有实际意义但是不太难的目标和任务。太难会让人失去耐心,太简单又很无聊,最好设定一个跳起来刚好摸得着的任务。每完成一个目标就给予自己奖励,可以是完成任务的成就感,也可以是其他的物质奖励。

    这个时候一个代办记事的清单就可以帮上忙了,可以是一个to do list的软件,或者自己手写一张卡片贴到墙上,关键在于不要忘了在任务达成后给予自己适当的奖励。

    图片来源:https://appadvice

    那如果真的遇到一些麻烦的任务呢,如何顺利解决而不至于丧失信心?笛卡尔在《方法论》一书中告诉了我们研究复杂问题的方法和步骤:

    尽量将其分解为多个比较简单的小问题,一个一个地分开解决

    将小问题从简单到复杂排列,先从容易解决的问题着手

    子问题被解决后,进行联调测试,看是否能协同运行

    在敏捷开发这种工程思想中我们正是这样做的,我们需要把业务需求进行拆分然后评估工作量,不仅可以直观的看到任务进展,手上的工作也不会看起来庞大得难以完成。

    最后多说几句

    非科班出身的工程师入门是有一定痛苦的,不像武侠世界里面的名门正派弟子,也没有机缘遇到骨骼精奇的世外高人,如何选择合适自己的学习方式并自我管理是很重要的一方面。没有任何Low的学习方式,只要直接而又高效,而且要能达到我们的目的就好。以我为例,从大专学校毕业并没有机会参加本科课程,曾经也在网上攫取各种视频教程,去别的学校蹭课,甚至带上礼物去一个老师那里登门拜访补课。

    另一方面是如何上桌,吃上编程这碗饭。学习的成果如果无处施展便成为屠龙之技,参加一些开源项目和一些公益活动,谁不喜欢一个热心的人呢。也可以尝试去实现自己的一些idea,当做一个小项目来开发,有了一些项目实践后去找一个公司实习会容易的多。

    我不知道算是有幸还是不幸经历了这一个过程,矫情一点来说是有一些曲折,但是我知道“聪明”从来不是这个行业的门槛。引用流行于知乎的一句老话“以大多人的努力程度,还轮不到拼天赋的程度”,在Thoughtworks有大量优秀的工程师,从他们身上我能看到聪明不是学习编程成功的关键,坚持和勤于思考才是。

  • ?

    零基础学Java怎么学?Java视频教程哪里有?

    秘密

    展开

    零基础学Java怎么学?Java视频教程哪里有?下面跟着千锋一起来看看吧!

    身为Java自学的践行者,经历了从入门到放弃再到奋起直追的此起彼伏的过程,因为一开始的懵懂无知,总是活跃在各个社区平台,碰到一些推荐书籍和视频教程就会通通收藏,因为没有一定的鉴别能力,之后就导致了这样一个结果,网盘中的资料都填满了,但真正想看的时候真的不知道哪个Java视频教程更好一些?

    很不幸的是,懵懂杂乱中我看了好几个版本的Java视频教程,客观评价一下,都说马士兵老师和毕向东老师的视频比较经典,但看了之后,年份太过久远了,很多现在企业所需的技术都没讲,还有就是很多重要的知识也没讲全,想要更完整的了解这个知识点,还需要自己去找其他资料。

    之后我又看了千锋老师的Java视频教程,首先从时间上就深得我心,更新时间很近,再看了一下里面的内容,一些现在企业所需的技术都有涉及,老师也讲的很仔细,每一个知识点都讲的很清晰,关键是非常合我自己的胃口,老师诙谐幽默的讲课方式让我感觉本就枯燥的技术知识忽然有了生命力,可以支撑我一直学下去。

    不知道你们是怎样的,我是觉得能让我学下去,知识点讲的比较清晰,而且每一个技术都能跟当代企业所需对号入座,这个相对来说很重要,而且千锋Java视频里面穿插的实战教程也很给力。

    如果要自学Java技术的话,实话说,光依靠Java视频教程并不是一个明智的选择。我们可以以视频教程为我们的主力学习工具,辅助书籍来加深我们对Java技术的深入理解。对了,还有重要的一点是要形成自己的学习路线规划,罗列我们要学习的技术点,环环相扣。

    刚开始看千锋老师的Java视频教程的时候,也就是我们刚刚入门的时候,可能会出现这样一个状况,我们好不容易看懂的代码,但是轮到自己实践开始敲代码的时候就会卡壳,脑子里没思路,一些知识记忆也不是很牢,不知道怎么用。遇到这种情况,我的建议是:可以就把老师的代码仔细读几遍,或者直接照着老师的代码抄一遍。然后,再自己独立的敲几遍。

    学习Java技术,你会经历这样一个里程,从死记硬背到模仿修正再到独立敲代码,形成自己的代码思想。罗马不是一天建成的,Java技术也一样,需要更多时间的沉淀和更多项目的实战练习,才能学有所成。

  • ?

    小白入门Java应掌握哪些内容?

    不眠客

    展开

    近年来对Java人才的需求愈发迫切,很多人看中这一点,那么小白入门Java应该选择什么样的课程更好入门学习呢?应该包含这些内容:

    1、Java基础。对于学员来说,这一部分可能稍显多余,但正所谓温故而知新,只有深入了解才能打牢基础。通常来说,Java的学习内容是从基本的概念学习,随后会要学习变量,基本数据类型,进制,转义字符,运算符,分支语句和循环语句等,以达到训练基础语法和逻辑能力的目的。

    2、JavaWeb的学习。Web前端开发基础和框架、Servlet和JSP在Web后端的应用、Web后端开发相关专题、MVC和分层架构以及项目开发流程及CASE工具的使用等。

    3、Java框架。框架是程序中另一种存储数据的方式,比直接使用数组来存储更加的灵活,在项目中应用十分广泛。你需要了解框架整合开发(SSH/SSS)、RESTful架构和移动端接口设计、第三方接口和在线支付功能、网站安全和Spring Security应用实战、复杂用户交互处理和Spring Web Flow的应用、MyBatis的应用和SSM整合。

    4、Java+云数据。亿级并发架构演进、Linux基础、搭建tomcat环境以及大数据开发云计算等高级Java教程,是Java技术的高端知识。其中穿插项目实战演练,企业真实项目供学员应用学习,进行知识体系的“二次学习”。

    只有紧贴市场潮流技术的课程,才能培养出满足企业需要的技术人员。

  • ?

    Java小白学习指南

    邓一江

    展开

    Java工程师学习指南(入门篇)

    最近有很多小伙伴来问,Java小白如何入门,如何安排学习路线,每一步应该怎么走比较好。今天我们要讲的是,小白同学如何入门Java。很多朋友都需要更加基础,更加详细的学习路线。

    先声明一点,文章内容不会详细到每一步怎么操作,只会提供大致的思路和方向,给大家以启发,如果真的要一步一步指导操作的话,那至少需要一本书的厚度啦。

    本文所述的方法不一定适合所有人,如有错误敬请谅解。

    java中文网

    01

    前期准备工作

    开发环境搭建

    这一步我们往往会直接跳过,但既然是面向小白的教程,这里就提一下吧。首先你需要一台电脑,然后安装好JDK和JRE,JDK提供的是Java开发工具,也就是一些必备的jar包,JRE则是Java的运行环境组件,我们熟悉的JVM就在这里面。

    安装好这两个东东之后,一般还要配置一下环境变量,否则有一些目录可能无法被正确找到。

    IDE选择和安装

    IDE指的就是本地开发编辑器,没有了它,你就只能直接在记事本这类工具里敲代码了。IDE最大的好处就是整合了大量的工具和功能模块,让你非常轻松地完成开发。

    以前大家都用eclipse,不过eclipse已经不流行了,现在我推荐你直接用intellij idea作为你的第一个代码编辑器。如果是用过eclipse的同学,基本上也可以无痛切换。

    intellij idea可以直接在官网上下载,试用版30天,如果想要永久使用,网上也有一些办法滴。

    关于jar包

    jar包是什么,其实就是将一堆class格式文件打包,Java中把它称为jar包,这些jar包在编译器中能被直接识别,让开发者使用。

    对于新手来说,可能只需要用到JDK自带的一些API,但是如果你要引用外部jar包,可能就会遇到一些困难了。对于idea来说,导入外部jar包有两种办法,一种是手动导入jar包,一种是使用maven。后者会在Java Web相关的文章中讲起。

    手动导入jar包其实也不难,你需要先下载好jar包,然后在对应的项目下选择导入jar包即可,具体的方法这里就不展开说了,因为在网上都找得到。

    02

    学习Java基础的几种方法

    了解基础语法

    学习一门语言,最开始要做的事情就是学习它的语法。我最早学习Java语法是在Runoob,这个网站可以让你对任意一门语言完成最快速的语法入门,当然,这只是相当于你浏览了一遍基础语法。

    想要真正掌握Java语言基础,光看基础语法还远远不够,我在大三第一次接触Java课程,听老师讲面向对象三大特征听得一头雾水,连数组的初始化方式都理不清楚,但这些内容都是我们需要掌握的。所以,为了学好Java基础,我们还需要看视频或者看书进行学习。

    看视频

    视频的话,可以网上找一些Java基础课程 。大家也都知道,现在Java的培训班非常多,基本上学的东西也都大同小异,不过它们的有些课程还不错,大家有渠道的话也可以去看一看。

    看视频的好处是你可以更好地接收知识,同时也会耗费你更多实践,所以,有时候你也可以选择看书。

    看书

    看书的话,对于小白来说不推荐太复杂的书,比如《Java编程思想》这种书,新手千万不要看。我个人建议,你只需要先看看《Java入门到精通》这种类型的书就足够了,因为这个部分的学习只是为你后面的学习开个头,你以后可能还要回过头来重新研究这些内容。

    现在市面上介绍Java基础的书籍实在太多了,质量参差不齐,内容同质化严重,笔者看过的其实也不多。给大家一个建议,你只需要挑一两本书来看即可,这里推荐两本最简单的吧,《head first java》和《Java从入门到精通》。

    看博客

    这里再推荐另一种学习方式,就是看博客,博客比起书籍来说,更适合对于某个技术点的学习,你可以很容易地在网上找到这个知识点相关的原理,实现方法,以及代码范例。

    如果你看一些比较基础的文章,可以到Runoob等网站上查看。如果你有一个很明确的知识点想要学习,相信搜搜引擎会给你更好的答案。

    代码实践

    除此之外,一般的Java书籍或者视频课程都会要求你相应完成一些练习题,这部分内容你需要自己在电脑里使用IDE完成。

    在IDE里,你可以很好地熟悉Java语言的使用,基本代码的实现,同时可以尝试各种各样的API,并且测试一些语言特性,比如继承,封装,多态等等。

    另外,这也是你熟悉IDE的一个好机会,因为在公司里做开发可能要用到IDE各种各样的功能,提前熟悉好IDE绝对是有益无害的。

    03

    Java入门必备知识点梳理

    在Java入门阶段,你可能需要接触到以下这部分知识,不管你是从通过哪种方式学习,这些内容都是你学习Java基础时绕不过的重点。

    Java基础知识

    这部分内容是你必须要掌握的内容,在入门阶段你需要把这些基础打扎实,以便于在学习后面的内容时可以更上一层楼。

    如何把基础打扎实呢,最好的办法就是在IDE上把书上或者视频上的每个例子都实现一遍,当然有的时候你也可以自己写一些有意思的例子。

    1 基本数据类型

    比如int,double,char,以及其包装类。

    熟悉基本数据类型的使用,了解每种类型所占的字节数,以及它们和包装类之间的相互转换。

    2 流程控制

    比如for循环,if else,while循环等等

    如果是学过c语言的同学,这部分可以跳过了。

    3 字符串类型String的使用

    字符串类型是Java中很重要的类型,它不是基本数据类型,但却很常用,熟悉和实践String相关的api,开始你对字符串的学习吧。

    4 数组

    数组的初始化方式有哪些,二维数组应该怎么写,把数组当成方法参数又该怎么处理?

    5 类和对象

    Java中最重要的两个概念:类和对象,它们有什么用呢,有什么区别和联系呢,请在代码中实践它们吧。

    Java核心技术

    对于这部分内容,我相信很多小白只能了解它们的基本使用方法,但是并不明白其背后的一些原理:比如为什么接口和抽象类有这些区别,多态的意义是什么,为什么要有反射。

    新手在学习这部分内容时,只需要知道怎么用就可以了。当然,你最好把这些特性都实现一遍,以加深印象。

    至于为什么有这些特性,这些特性背后的原理是什么,不是我们现在讨论的内容,这些内容我们将在初级和中级篇中讲述。因为,要了解这些原理,你得了解JVM,了解并发技术的基础,了解网络基础,甚至更多。显然,这不是你现在能做到的。

    1 接口和抽象类

    写一些接口,同时写一些实现类去实现这些接口,并且了解一下为什么我们需要接口,为什么子类需要实现接口里的方法。

    同理,去实现一些抽象类吧。然后,看看它和接口有什么不同。

    2 继承,封装和多态

    如何理解继承,子类和父类之间有什么联系呢。

    封装是一种保护代码的方式,有哪些方式可以实现封装呢。

    多态一般分为重载和重写,它们分别怎么使用?

    3 异常处理

    Java中的异常处理主要用于捕获和处理错误,请你写一些try catch代码块去捕获错误吧。

    4 集合类

    集合类是我们经常需要打交道的东西,List,Map,Set等等,赶快去熟悉API,然后写一些测试例子吧。

    5 IO输入流和输出流

    IO输入流和输出流可以操作文件,网络数据等内容,如何在Java代码中完成这么复杂的操作呢,其实只需要简单的几个api就可以了。

    6 多线程

    为了让系统资源最合理地分配和调度,我们需要多线程,多线程会让程序变得有趣,也会带来很多问题,使用Thread和相关API,去尝试这些有趣的事情吧。

    可选内容:

    1 反射(了解即可,不是入门必须)

    2 枚举类型和泛型(了解即可,不是入门必须)

    3 网络通信(了解基本的socket使用即可,需要网络基础)

    4 数据库操作(了解基本的JDBC即可,需要数据库基础)

    04

    总结

    总而言之,对于一个Java小白来说,入门Java可以分为这几步:

    1 首先搭建好Java开发环境

    2 通过Runoob等一些网站熟悉Java的基本语法

    3 通过看书看视频等方式熟悉Java基础知识,通过代码实践加深理解

    4 通过看书看视频等方式初步了解Java核心技术,通过代码实践加深理解。

    本文主要是为大家提供一个学习的思路,以及推荐一些学习方法,如果你能够按照这样的步骤去学习,并且配合上一些适合你自己的学习方法来完成学习计划,相信你可以很好地完成对Java的入门。

  • ?

    Java基础知识教程培训,零基础入门时下最火的语言Java

    左三德

    展开

    今天回家之后看了零基础入门Java语言的网课,感慨颇深。今晚开始重拾Java,让自己不留遗憾。为大家分享我在其他平台整理搜集的Java基础01,陆续每天都会整理分享。想学习的小伙伴们一起进步吧!

    曾经Java是我的专业课,自己没有好好学,毕业了工作了也后悔了,这个社会很现实,怎么着都可以活下去,但是生活质量的高低就取决于个人能力了。

    01.Java基础知识点(上)

    1.关键字:被Java语言赋予了特殊含义,用做专门用途的字符串(单词)

    特点:关键字中所有字母都为小写

    保留字:现有Java版本尚未使用,但以后版本可能会作为关键字使用。自己命名标记符时要避免使用这些保留

    字 byValue、cast、future、 generic、 inner、 operator、 outer、 rest、 var 、 goto 、const

    2.标识符: Java 对各种变量、方法和类等要素命名时使用的字符序列称为标识符

    (凡是自己可以起名字的地方都叫标识符。)

    标识符定义规则:由26个英文字母大小写,0-9 ,_或 $ 组成;

    数字不可以开头;

    不可以使用关键字和保留字,但能包含关键字和保留字;

    Java中严格区分大小写,长度无限制;

    标识符不能包含空格;

    尽量做到见名知意。

    3.Java命名规范:

    包名:多单词组成时所有字母都小写:xxxyyyzzz

    类名、接口名:多单词组成时,所有单词的首字母大写:XxxYyyZzz

    变量名、方法名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写:

    xxxYyyZzz

    常量名:所有字母都大写。多单词时每个单词用下划线连接:XXX_YYY_ZZZ

    4.变量:

    变量的概念: 内存中的一个存储区域

    该区域有自己的名称(变量名)和类型(数据类型)

    Java中每个变量必须先声明,后使用

    该区域的数据可以在同一类型范围内不断变化

    使用变量注意: 变量的作用域:一对{ }之间有效

    初始化值

    定义变量的格式:数据类型 变量名 = 初始化值

    变量是通过使用变量名来访问这块区域的

    5.程序的执行过程:

    6.变量的分类:

    按数据类型分类:

    按声明的位置的不同分类:

    7.Java数据类型介绍:

    7.1)整数类型:byte、short、int、long

    Java各整数类型有固定的表数范围和字段长度,不受具体OS的影响,以保证java程序的可移植性。

    java的整型常量默认为 int 型,声明long型常量须后加‘l’或‘L’

    7.2)浮点类型:float、double

    与整数类型类似,Java 浮点类型也有固定的表数范围和字段长度,不受具体OS的影响。

    Java 的浮点型常量默认为double型,声明float型常量,须后加‘f’或‘F’。

    浮点型常量有两种表示形式:

    十进制数形式:如:5.12 512.0f .512 (必须有小数点)

    科学计数法形式:如:5.12e2 512E2 100E-2

    7.3)字符类型:char

    char 型数据用来表示通常意义上“字符”(2字节)

    字符型常量的三种表现形式:

    字符常量是用单引号(‘ ’)括起来的单个字符,涵盖世界上所有书面语的字符。

    例如:char c1 = 'a'; char c2 = '中'; char c3 = '9';

    Java中还允许使用转义字符‘\’来将其后的字符转变为特殊字符型常量。

    例如:char c3 = ‘\n’; // '\n'表示换行符

    直接使用 Unicode 值来表示字符型常量:‘\uXXXX’。其中,XXXX代表一个十六进制整数。

    如:\u000a 表示 \n。

    char类型是可以进行运算的。因为它都对应有Unicode码。

    7.4)布尔类型:boolean

    boolean 类型适于逻辑运算,一般用于程序流程控制:

    if条件控制语句;

    while循环控制语句;

    do-while循环控制语句;

    for循环控制语句;

    boolean类型数据只允许取值true和false,无null。

    不可以0或非 0 的整数替代false和true,这点和C语言不同。

    8.基本数据类型转换:

    自动类型转换:容量小的类型自动转换为容量大的数据类型。数据类型按容量大小排序为:

    注: 有多种类型的数据混合运算时,系统首先自动将所有数据转换成容量最大的那种数据类型,然后再进行计算。

    byte,short,char之间不会相互转换,他们三者在计算时首先转换为int类型。(默认结果为int类型)

    当把任何基本类型的值和字符串值进行连接运算时(+),基本类型的值将自动转化为字符串类型。

    强制类型转换:自动类型转换的逆过程,将容量大的数据类型转换为容量小的数据类型。使用时要加上强制

    转换符(()),但可能造成精度降低或溢出,格外要注意。

    注:通常,字符串不能直接转换为基本类型,但通过基本类型对应的包装类则可以实现把字符串转换成

    基本类型。 如: String a = “43”; int i = Integer.parseInt(a);

    boolean类型不可以转换为其它的数据类型。

    9.ASCII 码;Unicode 编码;UTF-8介绍:

    9.1)ASCII 码:

    在计算机内部,所有数据都使用二进制表示。每一个二进制位(bit)有 0 和 1 两种状态,因此 8 个二

    进制位就可以组合出 256 种状态,这被称为一个字节(byte)。一个字节一共可以用来表示 256 种不

    同的状态,每一个状态对应一个符号,就是 256 个符号,从 0000000 到 11111111。

    ASCII码:上个世纪60年代,美国制定了一套字符编码,对英语字符与二进制位之间的关系,做了统一

    规定。这被称为ASCII码。ASCII码一共规定了128个字符的编码,比如空格“SPACE”是32(二进制

    00100000),大写的字母A是65(二进制01000001)。这128个符号(包括32个不能打印出来的控

    制符号),只占用了一个字节的后面7位,最前面的1位统一规定为0。

    缺点: 不能表示所有字符。

    相同的编码表示的字符不一样:比如,130在法语编码中代表了é,在希伯来语编码中却代表了

    字母Gimel ()

    9.2)Unicode 编码

    乱码:世界上存在着多种编码方式,同一个二进制数字可以被解释成不同的符号。因此,要想打开一

    个文本文件,就必须知道它的编码方式,否则用错误的编码方式解读,就会出现乱码。

    Unicode:一种编码,将世界上所有的符号都纳入其中。每一个符号都给予一个独一无二的编码,使用

    Unicode 没有乱码的问题。

    Unicode 的缺点:Unicode 只是一个符号集,它只规定了符号的二进制代码,却没有规定这个二进制代

    码应该如何存储:无法区别 Unicode 和 ASCII:计算机无法区分三个字节表示一个符号还是分别表示三个符号。

    9.3)UTF-8

    UTF-8 是在互联网上使用最广的一种 Unicode 的实现方式。

    UTF-8 是一种变长的编码方式。它可以使用 1-6 个字节表示一个符号,根据不同的符号而变化字节长

    度。

    UTF-8的编码规则:

    * 对于单字节的UTF-8编码,该字节的最高位为0,其余7位用来对字符进行编码(等同于ASCII码)。

    *对于多字节的UTF-8编码,如果编码包含 n 个字节,那么第一个字节的前 n 位为1,第一个字节的第n+1 位为0,该字节的剩余各位用来对字符进行编码。在第一个字节之后的所有的字节,都是最高两位

    为"10",其余6位用来对字符进行编码。

  • ?

    java从入门到精通学习时间大概多长

    尘小春

    展开

    许多学生在学习 java课程时,反复询问 java从入门到精通 学习时间大概多长、 java从入门到精通 半年能不能学的会、 java从入门到精通需要几个月等问题。那接下来小编就跟大家就一起讨论一下这个问题:

    首先 java从入门到精通 学习时间大概多长需要看自己个人的吸收能力,不同的人接受能力不同,自然学习时间长短不同。现在有些机构开设的课程时间有四个月、半年不等,这要看自己的基础情况。基础比较好的可以参与四个月或者半年的课程,为了缩短 java从入门到精通 的时间, 你需要有一个清晰系统的学 java 习路线,从基础语法入手,然后是 面向对象,数据储存等等,还有JavaWeb,还有 Struts2、 Oracle、 Hibernate4.x 、Spring4.x 等。

    学完这些, java从入门到精通 你相当于已经完成了入门 , 对 java开发技术有了敲门砖。但是对于 java从入门到精通 的第二阶段精通来说,现在出来工作好几年的人都不敢说自己精通呢,因为 java技术 就是不断进步,不断更新的。所以这就需要我们不但学习,不断充实自己的 java知识库,只有这样你才能不断进步。

    你可以去买一些大学用的基础书来自学或者网上找些java教程【小编这里还是不建议自学】。只有不断的积累和练习,你学习 java从入门到精通 的时间才会大大缩短,也能很好的找准自己的技术定位,找到满意的工作。

    小编推荐一个学java的学习裙,可以在秋秋中搜索“java新手学习指南”排名第一个的就是我的2000人交流学习qun,验证消息写“百家”就可以,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!

  • ?

    aide之Java简单基础入门教程

    Gale

    展开

    本系列教程主要是讲Android开发,关于JAVA内容只是偶尔会普及一下知识,不会重点讲解,JAVA是一门很广泛的语言,不只是在安卓上面,所以关于JAVA方面的知识还是建议在其他地方看一下教程(推荐腾讯课堂、慕课网),本社区以后可能也会考虑推出JAVA系列教程

    废话少说了直接进入本节课的内容

    1、Java 程序的构成

    一个Java程序可以认为是一系列对象的集合,而这些对象通过调用彼此的方法来协同工作

    1.1 对象(object)对象是类的一个实例,有状态和行为。例如,一条狗是一个对象,它的状态有:颜色、名字、品种;行为有:摇尾巴、叫、吃等

    1.2 类(class)类是一个模板,它描述一类对象的行为和状态

    1.3 方法(method)方法就是行为,一个类可以有很多方法。逻辑运算、数据修改以及所有动作都是在方法中完成的

    1.4 实例变量每个对象都有独特的实例变量,对象的状态由这些实例变量的值决定

    下面来看一下JAVA的hello world吧

    publicclassHelloWorld{ publicstaticvoidmain(String[] args) { System.out.println("Hello World!"); }}

    在这里的 Hello World 中只涉及了类、方法和语句。该 Java 程序定义了一个类 HelloWorld,该类的名字与 .java 文件的名字相同,其中的 main 方法是程序的入口,而“打印”这个功能是由一个语句实现,即:System.out.println("Hello World!");

    下面两点有关 Java 的书写方式:

    Java 中的语句必须要以 ; 结尾(英文的分号)

    用大括号{}来整合语句,形成程序块,通过程序块,我们可以知道程序的不同部分的范围,比如类从哪里开始,到哪里结束。

    2、JAVA关键字

    Java 的关键字对 java 的编译器有特殊的意义,他们用来表示一种数据类型,或者表示程序的结构等,关键字不能用作变量名、方法名、类名、包名。

    Java 关键字有如下表所列,目前共有50个Java关键字,其中,"const"和"goto"这两个关键字在Java语言中并没有具体含义。同学们先有个印象,具体含义我们将在后续的内容中详细讲解

    JAVA关键字大全

    访问控制privateprotectedpublic类,方法和变量修饰符abstract class extends final implements interface native newstatic strictfp synchronized transient volatile程序控制breakcontinuereturndowhileifelsefor instanceof switchcasedefault异常处理try cathc throw throws包相关import package基本类型boolean byte chardoublefloatintlongshort null truefalse变量引用super thisvoid保留字gotoconst

    3、Java 标识符

    Java 语言中,类、变量、常量、方法都需要名字,我们统统称之为 Java 标识符

    标识符是用来给类、对象、方法、变量、接口和自定义数据类型命名的

    关于 Java 标识符,有几点需要注意的:

    Java 标识符由数字,字母A-Z或者a-z和下划线_美元符号$组成所有的标识符都应该以字母A-Z或者a-z,美元符$或者下划线_开始,首位不能是数字关键字不能用作标识符在 Java 中是区分大小写的

    4、命名规则

    在 Java 中,还有一些约定俗成的命名规则,希望同学们在写代码的时候都能遵循这些规则:

    4.1 类和接口名每个字的首字母大写,含有大小写,例如,MyClass,HelloWorld,Time 等

    4.2 方法名首字符小写,其余的首字母大写,含大小写,尽量少用下划线,例如,myName,setTime 等,这种命名方法叫做驼峰式命名

    4.3 常量名基本数据类型的常量名使用全部大写字母,字与字之间用下划线分隔,对象常量可大小混写,例如,SIZE_NAME

    4.4 变量名可大小写混写,首字符小写,字间分隔符用字的首字母大写,不用下划线,少用美元符号,给变量命名是尽量做到见名知意

    命名过程中尽量做到见名知意,方便后期查看和修改代码,也方便其他人员的阅读。

  • ?

    第一天 Java基础入门【悟空教程】

    屈松

    展开

    第一天 Java基础入门【悟空教程】

    精心收集整理的教程笔记

    第01天 Java基础入门

    第1章 计算机基础

    1.1 计算机

    计算机(computer)俗称电脑,是现代一种用于高速计算的电子计算机器,可以进行数值计算,又可以进行逻辑计算,还具有存储记忆功能。是能够按照程序运行,自动、高速处理海量数据的现代化智能电子设备。由硬件系统和软件系统所组成,没有安装任何软件的计算机称为裸机。

    1.2 计算机应用的领域(了解)

    1.2.1 科学计算

    科学计算也称数值计算。计算机最开始是为解决科学研究和工程设计中遇到的大量数学问题的数值计算而研制的计算工具。例如,人造卫星轨迹的计算,房屋抗震强度的计算,火箭、宇宙飞船的研究设计都离不开计算机的精确计算。就连我们每天收听收看的天气预报都离不开计算机的科学计算。

    1.2.2 数据处理

    在科学研究和工程技术中,会得到大量的原始数据,其中包括大量图片、文字、声音等信息处理就是对数据进行收集、分类、排序、存储、计算、传输、制表等操作。

    1.2.3 自动控制

    自动控制是指通过计算机对某一过程进行自动操作,它不需人工干预,能按人预定的目标和预定的状态进行过程控制。例如,无人驾驶飞机、导弹、人造卫星和宇宙飞船等飞行器的控制,都是靠计算机实现的。

    1.2.4 计算机辅助设计

    计算机辅助设计(Computer Aided Design,简称CAD)是指。借助计算机的帮助,人们可以自动或半自动地完成各类工程设计工作。目前CAD技术已应用于飞机设计、船舶设计、建筑设计、机械设计、大规模集成电路设计等。在京九铁路的勘测设计中,使用计算机辅助设计系统绘制一张图纸仅需几个小时,而过去人工完成同样工作则要一周甚至更长时间。可见采用计算机辅助设计,可缩短设计时间,提高工作效率,节省人力、物力和财力,更重要的是提高了设计质量。

    1.2.5 人工智能

    人工智能(Artificial Intelligence,简称AI)是指计算机模拟人类某些智力行为的理论、技术和应用。例如,用计算机模拟人脑的部分功能进行思维学习、推理、联想和决策,使计算机具有一定“思维能力”。我国已开发成功一些中医专家诊断系统,可以模拟名医给患者诊病开方。 还有就是机器人也是计算机人工智能的典型例子。

    1.2.6 多媒体应用

    随着电子技术特别是通信和计算机技术的发展,人们已经有能力把文本、音频、视频、动画、图形和图像等各种媒体综合起来,构成一种全新的概念—“多媒体”(Multimedia)。比如一些flash广告,网页游戏等。

    1.2.7 计算机网络

    计算机网络是由一些独立的和具备信息交换能力的计算机互联构成,以实现资源共享的系统。如在全国范围内的银行信用卡的使用,火车和飞机票系统的使用等。

    1.3 计算机硬件

    计算机硬件(Computer Hardware)是指计算机系统中由电子,机械和光电元件等组成的各种物理装置的总称。这些物理装置按系统结构的要求构成一个有机整体为计算机软件运行提供物质基础。

    计算机通常由CPU、主板、内存、电源、主机箱、硬盘、显卡、键盘、鼠标,显示器等多个部件组成。

    1.4 计算机软件

    计算机软件是使用计算机过程中必不可少的东西,计算机软件可以使计算机按照事先预定好的顺序完成特定的功能,计算机软件按照其功能划分为系统软件与应用软件

    系统软件:DOS(Disk Operating System), Windows, Linux, Unix, Mac,Windows Phone,Symbian Android, iOS

    应用软件:office QQ聊天 YY语音扫雷 LOL

    1.5 软件开发

    软件开发是根据用户要求建造出软件系统或者系统中的软件部分的过程。

    软件开发是一项包括需求捕捉,需求分析,设计,实现和测试的系统工程。

    软件一般是用某种程序设计语言来实现的。通常采用软件开发工具可以进行开发。

    1.6 人机交互方式

    软件的出现实现了人与计算机之间更好的交互。

    交互方式

    图形化界面:这种方式简单直观,使用者易于接受,容易上手操作。

    命令行方式:需要有一个控制台,输入特定的指令,让计算机完成一些操作。较为麻烦,需要记录住一些命令。

    1.7 键盘功能键及快捷键介绍

    1.7.1 键盘功能介绍(详见功能键文档)

    Tab

    Shift

    Ctrl

    Alt

    空格

    Enter

    Window

    上下左右

    PrtSc(PrintScreen)屏幕截图

    1.7.2 键盘快捷键

    Ctrl+A全选

    Ctrl+C复制

    Ctrl+V粘贴

    Ctrl+X剪切

    Ctrl+Z撤销

    Ctrl+S保存

    1.8 常用的DOS命令

    1.8.1 打开DOS命令行的方式

    1:开始--程序--附件--命令提示符

    2:开始--运行—cmd—回车

    3:win+r—cmd--回车

    1.8.2 常用DOS命令

    d: 回车盘符切换

    dir(directory):列出当前目录下的文件以及文件夹

    md (make directory) : 创建目录

    rd (remove directory): 删除目录

    cd (change directory)改变指定目录(进入指定目录)

    cd.. : 退回到上一级目录

    cd\: 退回到根目录

    del (delete): 删除文件,删除一堆后缀名一样的文件*.txt

    exit : 退出dos命令行

    cls : (clear screen)清屏

    1.8.3 通用快捷键

    通用快捷键适用于广泛的环境,在例如Windows的操作系统以及绝大部分的软件中都适用。需要熟练这些

    Ctrl+C 复制选中内容

    Ctrl+V 粘贴

    Ctrl+X 剪切

    Ctrl+A 全选

    Ctrl+Z 撤销操作

    Ctrl+Y 恢复操作(恢复上一步操作)

    Ctrl+S 保存

    第2章 Java概述

    2.1 java简介

    2.1.1 Java语言介绍

    计算机语言:(Computer Language)指用于人与计算机之间通讯的语言。计算机语言是人与计算机之间传递信息的媒介。计算机系统最大特征是指令通过一种语言传达给机器。为了使电子计算机进行各种工作,就需要有一套用以编写计算机程序的数字、字符和语法规划,由这些字符和语法规则组成计算机各种指令(或各种语句)。这些就是计算机能接受的语言。程序员通过这些指令来指挥计算机进行各种工作。计算机语言主要由机器语言、汇编语言、高级语言,组成。机器语言:毋庸置疑是计算机可以直接识别和使用的语言。但是在编程的时候,通常不会选择机器语言,因为机器语言都是由二进制0或1组成的编码。不便于编程人员的记忆与识别。那么汇编和高级语言是编程人员常用的语言.汇编语言:采用英文缩写的标识符,容易识别和记忆。那么为什么不都用汇编语言编程,这就要解释什么是高级语言。高级语言:采用更接近人类的自然语言进行编程,进一步简化了程序编程的过程,所以,大多数编程者会选择高级语言。现在我们讲解的Java语言就是高级语言的一种。2.1.2 Java语言发展史(了解)

    詹姆斯·高斯林(James Gosling) SUN – (Stanford University Network斯坦福大学网络公司) 1995年5月23日,Java语言诞生 1996年1月 JDK1.01997年2月 JDK1.11998年12月 JDK1.2(将Java分成了J2SE,J2EE,J2ME)2000年5月 J2SE1.32002年2月 J2SE1.4(1.4.2版本很多公司在使用)2004年10月 JDK1.5(改名JavaSE5.0,JavaEE,JavaME)2006年12月 JavaSE6.02009年04月20日,甲骨文(Oracle)74亿美元收购Sun。 2011年7月 JavaSE7.0(市场主流版本)2014年3月 JavaSE8.02017年9月 JavaSE9.0java语言的特点是,简单易用、安全可靠、主要面向Internet编程。从问世以来,发展的就非常迅速。 现在市场上绝大多数企业应用采用Java作为编程语言,Java语言应用于服务器开发,智能家居,网站的后台维护,手机应用后台等等。

    SUN公司为了让使用Java语言的开发人员可以针对特定的市场进行开发,SUN公司将Java划分为三个版本,分别是 JavaSE JavaME JavaEE

    JavaSE (Java Platform Standard Edition——Java平台标准版)标准版是为开发普通桌面和商务应用程序提供的解决方案,JavaSE是三个平台最核心的部分,JavaEE和JavaME都是从JavaSE的基础上发展而来的,JavaSE平台包括了Java最核心的类库,包括,如集合,IO,数据库连接以及网络编程等。

    JavaEE(Java Platform Enterprise Edition 企业)企业版,是为了开发企业级应用程序提供的解决方案。JavaEE可以被看做一个技术平台,该平台用于开发、装配以及部署企业及应用程序,其中主要包括Servlet、JSP、JavaBean、JDBC、EJB、WebService等技术。

    JavaME(Java Platform Micro Edition 微型)小型版是为了开发电子消费产品和嵌入式设备提供的解决方案。JavaME主要用于小型数字电子设备上的软件程序的开发。例如,为家用电器增加智能化控制和联网功能,为手机增加新的游戏和通讯录管理功能。此外,JavaME提供了HHTTP等高级Internet协议,是移动电话能以Client/Server方式直接访问Internet的全部信息,提供最高效率的无线交流。

    (Java有这些功能,现在基本退出舞台,由安卓 ios等移动端操作语言替代,安卓和Java的关系大家下去可以去了解一下,简单的说安卓学习也是要必须先学JavaSE的)

    2.1.3 Java技术应用领域

    1.Android应用

    许多的Android应用都是Java程序开发者开发。虽然Android运用了不同的JVM以及不同的封装方式,但是代码还是用Java语言所编写。相当一部分的手机都支持Java游戏,这就使得很多非编程人员都认识了Java。

    2.金融应用的服务器程序

    Java在金融服务业的应用非常广泛,很多第三方交易系统、银行、金融机构都选择用Java开发,因为相对而言,Java较安全。大型跨国投资银行用Java来编写前台和后台的电子交易系统,结算和确认系统,数据处理项目以及其他项目。大多数情况下,Java被用在服务器端开发,但多数没有任何前端,他们通常是从一个服务器(上一级)接收数据,处理后发向另一个处理系统(下一级处理)。

    3.网站

    Java在电子商务领域以及网站开发领域占据了一定的席位。开发人员可以运用许多不同的框架来创建web项目,springmvc,Struts2.0以及framework(框架,三个主要部分: 服务端、客户端和Linux驱动)。即使是简单的servlet,jsp和以struts为基础的网站在征服项目中也经常被用到。例如医疗救护、保险、教育、国防以及其他的不同部门网站都是以Java为基础来开发的。

    4.嵌入式领域

    Java在嵌入式领域发展空间很大。在这个平台上,只需130KB就能够使用Java技术(在只能卡或者传感器上)。

    5.大数据技术

    Hadoop(Apache05年开发分布式系统基础架构)以及其他大数据处理技术很多都是用的Java,例如Apache的技术Java的HBase(一个分布式的、面向列的开源数据库,HBase是Apache的Hadoop项目的子项目)和Accumulo(是一个可靠的、可伸缩的、高性能的排序分布式的 Key-Value 存储解决方案,基于单元访问控制以及可定制的服务器端处理)以及ElasticSearch(ES是一个基于Lucene并采用Restful API 标准的高可扩展性和高可用性的实时数据分析的全文检索工具。)说没有Java就没有大数据一点也不为过。

    6.高频交易的空间

    Java平台提高了这个平台的特性和即时编译,他同时也能够想C++一样传递数据,正是由于这个原因,Java成为程序员编写交易平台的首选语言,虽然性能不比C++,但开发人员可以避开安全性,可移植性和维护性等问题。

    7.科学应用

    Java在科学应用中是很好的选择,包括自然语言处理。最主要的原因是因为Java比C++或者其他相对安全性、便携性、可维护性以及其他高级语言的并发性更好。

    2.1.4 Java语言特点

    Java应用广泛,受到大众的欢迎,其根本原因是Java语言的众多突出优点(优点肯定是与其他高级语言相比较得来的)

    介绍几个主要的特点

    2.1.4.1 简单:

    Java看起来设计的很像C++,但是为了是语言小和容易熟悉,设计者把C++语言种许多可用的特征去掉了,这些特征是一般程序员很少使用的,例如:Java不支持go to语句,代之以提供break和continue语句以及异常处理。Java还剔除了C++的操作符过载(重载overload)和多继承特征,并且不使用主文件,免去了预处理程序。因为Java没有结构,数组和串都是对象,所以不需要指针。Java能够自动处理对象的引用和间接引用,实现自动的无用单元收集,(垃圾回收机制)使用户不必为存储(内存)管理问题烦恼,能把更多的时间和精力花在研发上。

    2.1.4.2 面向对象:

    Java是一个面向对象的语言,对程序员来说,这意味着要注意应用数据和操作数据的方法(method),而不是严格地用过程来思考。在一个面向对象的系统中,类(class)是数据和操作数据的方法和集合。数据和方法一起描述对象(object)的状态和行为。每一对象是其状态和行为的封装。类是按一定体系和层次安排的,使得子类可以从超类继承行为。在这个类层次体系中有一个根类,它是具有一般行为的类。Java程序是用来组织的。

    为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字implements)。Java语言全面支持动态绑定,而C++语言只对函数使用动态绑定。

    Java还包括一个类的扩展集合,分别组成各种程序包(package),用户可以在自己的程序中使用。例如,Java提供产生图形用户接口的类(java.awt包),这里awt是抽象窗口工具集(abstract windowing tookit)的缩写,处理输入输出的类(java.io包)和支持网络功能ç...

java入门基础教程

所有视频需要登录后,才能观看

请先登录您的帐号,即可完整播放,如果您尚未注册帐号,请先点击注册。