我要投搞

标签云

收藏小站

爱尚经典语录、名言、句子、散文、日志、唯美图片

当前位置:藏宝阁 > 第一代语言 >

Java 学习笔记:第一章 Java入门

归档日期:07-30       文本归类:第一代语言      文章编辑:爱尚语录

  C语言诞生于1972年,可以称之为现代高级语言的鼻祖,有注明的贝尔实验室发明。C语言是人们追求结构化,模块化、高效率的“语言之花”。在底层编程,比如嵌入式、病毒开发等应用,可以替代汇编语言来开发系统程序。在高层应用,也可以开发从操作系统(Unix/Linux/Wondows都基于C语言开发)到各种软件应用。

  大学生朋友如果大学开这门课请一定认真学习,而不要觉得老套,那是经典;C语言在现代社会流行程度仍然排名前三。

  作为C语言的扩展,C++ 是贝尔实验室于80年代推出的。C++ 是一种混合语言,既可以实现面向对象编程,也可以开发C语言面向过程风格的程序。

  C语言让程序员第一次可以通过结构化的理念编写出易于理解的复杂程序;尽管C语言是一个伟大的语言,但是程序员的代码量达到30000行以上时,程序员就不能很好的从总体上把握和控制这个程序。因此,在80年代初期,很多软件项目都面临无法解决的问题而不能顺利进行。1979 年,贝尔实验室发明了 C++。C++ 最初的名字叫做 “带类的C”,后来才改名叫 C++。国内通用的叫法:C加加,国际通用叫法 C plus plus

  C++ 语言在科学计算、操作系统、网络通信、系统开发、引擎开发中仍然被大量使用。

  由美国 SUN 公司发明于 1995年,是目前业界应用最广泛、使用人数最多的语言,连续多年排名世界第一,可以称之为 “计算机语言界的英语”。

  Java 广泛应用于企业级软件开发、安卓移动开发、大数据云计算等领域,几乎涉及IT所有行业。关于Java 的发展历史和特性,将在后面专门介绍。

  Object-C 通常写作 Objective-C 或者 Obj-C 或者 OC,是根据C语言所衍生出来的语言,继承了C语言的特性,是扩充C的面向对象编程语言。OC主要用于苹果软件的开发。

  Swift,苹果于2014年 WWDC (苹果开发者大会)发布的新开发语言,可与OC共同运行于 Mac OS 和 iOS平台,用于搭建基于苹果的应用程序。

  JavaScript 是一种脚本语言,已经被广泛用于 Web 应用开发;应用范围越来越大,重要性越来越高。目前,流行的H5开发的核心其实就是 JavaScript 语言。

  Python 发明于1989 年,语法结构简单,易学易懂;Python 具有丰富和强大的库。它常被昵称为胶水语言,能够把其他语言制作的各种模块(尤其是C/C++) 二婚轻松地联结在一起。Python 广泛应用于:图形处理、科学计算、web编程、多媒体应用、引擎开发;尤其是在未来大热方向机器学习和人工智能上有非常大的潜力。

  C# 是微软公司发布的一种面向对象的、运行于ramework 之上的高级程序设计语言。C# 在基于 windows 操作系统的应用开发这一领域在 取代C++,占据主导地位。“成也萧何败也萧何”,C# 的微软身份,也成为了发展的阻力,在其他IT领域应用较少。

  世界上第一种高级语言,IBM 公司在1954年提出的,主要用在需要复杂数学计算的科学和工程领域。现在仍然被广泛使用,尤其是工程领域。Fortran 虽然适合编写科学计算方面的程序,但是不适于编写系统程序。

  虽然易学,但功能不够强大,应用到大程序的有效性令人怀疑。已经逐步退出历史舞台。

  于1959年提出。主要用于大量精确处理数据的商业领域中,比如金融、银行。今天,仍然有超过一半的商业软件使用 COBOL 编写。有将近100万人使用 COBOL 编程。

  Pascal的名称是为了纪念十七世纪法国著名哲学家和数学家 Blaise Pascal 而来的 ,它由瑞士 Niklaus Wirth 教授于六十年代末设计并创立的。Pasical 语言语法严谨,层次分明,程序易写,可读性强,是第一个结构化编程语言。由于没有大厂商和政府的支持,只是限于大学教育这一块。

  1991年,James Gosling 在SUN公司的工程师小组想要设计这样一种小型计算机语言。该语言只要用于像电视盒这样的消费类电子产品。另外,由于不同的厂商选择不同的CPU 和操作系统,因此,要求该语言不能和特定的体系结构绑在一起,要求语言本身是中立的,也就是跨平台的。所以,将这个语言命名为 “Green”,类似于绿色软件的意思。后来,改名为Oak,橡树的意思。改名后发现已经有一种语言叫这个名字了,再改名叫 Java。Java 语言发展到今天经历了一系列的过程:

  1998年,JDK1.2,大大改进了早期版本缺陷,是一个革命性的版本,更名为Java2

  跨平台是Java语言的核心优势,赶上最初互联网的发展,并随着互联网的发展而发展,建立了强大的生态体系,目前已经覆盖IT各行业的“第一大语言”,是计算机界 的 “英语”。

  虽然,目前也有很多跨平台的语言,但是已经失去先机,无法和Java强大的生态体系抗衡。Java 仍将在未来几十年成为编程语言的主流语言。

  Java 虚拟机是Java 实现跨平台的核心。事实上,基于Java 虚拟机(JVM)的编程语言还有很多种:

  JavaSE (Java Standard Edition):标准版,定位在个人计算机上的应用。这个版本是Java 平台的核心,它提供了非常丰富的API 来开发一般个人计算机上的应用程序,包括用户界面接口AWT及Swing,网络功能和国际化、图像处理能力以及输入输出支持等。在上世纪90年代末互联网上大放异彩的 Applet 也属于这个版本。Applet 后来为Flash取代,Flash即将被HTML5取代。

  JavaEE 是JavaSE的扩展,增加了用于服务器 开发的类库。如:JDBC是让程序员能直接在Java 内使用的SQL的语法来访问数据库内的数据;Servlet 能够延伸服务器的功能,通过请求-响应的模式来处理客户端的请求;JSP是一种可以将Java程序代码内嵌在网页内的技术;

  JavaME是JavaSE的内伸,包含J2SE 的一部分核心类,也有自己的核心类,也有自己的扩展类,增加了适合微小装置的类库:javax.microedition.io.*等。该版本针对资源有限的电子消费类产品的需求精简核心类库,并提供了模块化的架构让不同类型产品能够随时增加支持的能力。

  这是Java的核心优势。Java在设计时就很注重移植和跨平台性。比如:Java 的 int 永远都是 32位。不像C++ 可能是16,,3,可能是根据编译器厂商规定的变化。这样的话程序的移植就会非常麻烦。

  Java适合网络/分布式环境,为了达到这个目标,在安全性方面投入了很大的精力,使Java可以很容易构建防病毒,防篡改的系统。

  面向对象是一种程序设计技术,非常适合大型软件的设计和开发。由于C++为了照顾大量C语言使用者而兼容了C,使得自身仅仅成为了带类的C语言,多少影响了其面向对象的彻底性!Java则是完全的面向对象语言。

  Java 是 C++ 语法的简化版,我们也可以将Java 称之为 “C+±”。就是指将C++的一些内容去掉;比如:头文件,指针运算,结构,联合,操作符重载,虚基类等等。同时,由于语法基于C语言,因袭学习起来完全不费力。

  Java最初开发阶段,总是被人诟病“性能低”;客观上,高级语言运行效率总是低于低级语言的,这个无法避免。Java 语言本身发展中通过虚拟机的优化提升了几十倍运行效率。不如,通过JIT(Just In Time)即时编译技术提高运行效率。将一些“热点”字节码编译成本地机器码,并将结果缓存起来,在需要的时候重新调用。这样的话,使Java 程序的执行效率大大提高,某些代码甚至接近C++ 的效率。因此,Java低性能的短腿,已经被完全解决了。业界发展上,我们也看到很多 C++ 应用转到Java 开发,很多C++程序员转型为 Java 程序员。

  Java是为 Internet 的分布式环境设计的,因为它能够处理TCP/IP协议。事实上,通过URL访问一个网络资源和访问本地文件是一样的简单的。Java 还支持远程方法调用(RMI,Remote Method Invocation),使程序能够通过网络调用方法。

  多线程的使用可以带来更好的交互响应和实时行为。Java 多线程的简单性是Java 成为主流服务器端开发语言的主要原因之一。

  Java 是一种健壮的语言,吸收了C/C++ 语言的优点,但去掉了其影响程序健壮性的部分(如:指针、内存的申请与释放等)。Java程序不可能造成计算机崩溃。即使Java程序也可能有错误。如果出现某种出乎意料之事,程序也不会崩溃,而是把该异常抛出,在通过异常处理机制加以处理。

  计算机高级语言的类型主要有编译型和解释型两种,而Java 语言是两种类型的结合。

  Java 首先利用文本编辑器编写 Java 源程序,源文件的后缀名为.java;再利用编译器(javac)将源程序编译成字节码文件,字节码文件的后缀为.class;最后利用虚拟机(解释器,java)解释及执行。

  JVM(Java Virtual Machine)就是一个虚拟的用于执行bytecode字节码的“虚拟计算机”。他也定义了指令集、寄存器集、结构栈、垃圾收集堆、内存区域。JVM负责将Java字节码解释运行,边解释边运行,这样,速度就会受到一定的影响。

  不同的操作系统有不同的虚拟机。Java 虚拟机机制屏蔽了底层运行平台的差别,实现了“一次编译,随处运行”。Java 虚拟机是实现跨平台的核心机制。

  Java Development Kit(JDK)包含:JRE,以及增加编译器和调试器等用于程序开发的文件。

  注意:如果你无法确定你的windows 版本,可以右键点击 “计算机属性”,即可查看系统信息:

  安装过程和普通软件安装没什么区别,霍城中会让你选择JDK和JRE安装目录,采用默认即可。也就是说,通通点击“下一步”就能完成安装。

  环境变量是在操作系统中一个具有特定名字的对象,它包含了一个或者多个应用程序所将使用到的信息。

  Path 是一个常见的环境变量,他告诉操作系统,当要求系统运行一个程序而没有告诉它程序所在的完整路径时,系统除了在当前目录下寻找此程序外,还应到哪些目录下寻找。

  注意:classpath 配置问题:如果使用 JDK1.5 以上就不需要配置这个环境变量!JRE会自动搜索当前路径下的类文件及相关jar文件。

  进入命令行,开始菜单搜索输入 “cmd” 即可,在窗口中输入命令 “java -version”,回车。出现如下结果,则说明JDK安装成功。

  可在 d 盘下建立文件夹mycode,用于保存学习的代码。保存路径建议为:“d:/mycode”。保存为:Welcome.java (文件名必须为 Welcome,大小写也必须一致)。

  解决方案:参考1.4.2 环境变量Path 的配置,细心重新设置Path,配置完成后需要重新输入 cmd 打开命令 行窗口。

  解决方案:打来我的电脑窗口,选择【组织】【文件夹和搜索选项】【查看】,如图所示,去掉 “隐藏已知文件类型的扩展名” 复选框中的对勾,看到文件的实际名为 Welcome.java.txt,将后缀后 .txt 去掉。

  关键字 public 被称作访问修饰符(access modifier),用于控制程序的其它部分对这段代码的访问级别。

  关键字class 的意思是类。Java 是面向对象的语言,所有代码必须位于类里面。

  一个源文件中至多只能声明一个public 的类,其它类的个数不限,如果源文件中包含一个public类,源文件必须和其中定义的public 的类名相同,且以“.java” 为扩展名。

  正确编译后的源文件,会得到相应的字节码文件,编译器为每个类生成独立的字节码文件,且将字节码文件自动命名为类的名字且“.class”为扩展名。

  main 方法是Java 应用程序的入口方法,它有固定的书写格式: public static void main(String[] args){…}

  在 Java 中,用花括号划分程序的各个部分,任何方法的代码都必须以 “{” 开始,以“}” 结束,由于编译器忽略空格,所以花括号风格不受限制。

  Java 中每个语句必须以分号结束,回车不是语句的结束标志,所以一个语句可以跨多行。

  DOS命令已经基本退出普通使用者的历史舞台了,但是仍然有必要掌握几个常用的命令,便于在某些情况下更顺畅的操作程序。

  入门学习时,进行简单的Java程序编写,我们可以使用文本编辑器,比如:记事本。但是,记事本功能不够强大,我们可以考虑使用“更加强大的记事本”,常见的有如下三种软件:

  在我们真正学习开发中,包括以后在企业总从事挼金开发时,一般使用集成开发环境(IDE),如下三种软件的做常见的,尤其是eclipse。我们只选一个作为入门使用,其他两种大家自行举一反三,使用很简单。

  在开发工具匮乏的年代,第一代Java 程序员都是从文本编辑器开始训练自己的代码,从而一步步成为高手,这是一种无奈,而不是一种必须。

  我们认为,现在横在入门初学者最大的障碍在于 “是否能激发兴趣,解决问题,体验到编程的快乐”,而不是讨论是该用记事本还是eclipse集成开发环境。

  是否使用或坚持记事本编程不是成为高手的必要条件,而“激发兴趣,保持兴趣”确是成为高手的必要条件。也基于我们的理念 “快速入门,快速实战”,我们一开始就引入 eclipse ,让初学者更容易的激发兴趣,体验学习的快乐。

  启动时会先出现设置工作空间界面,如图所示。工作空间指Java项目存储的目录,一般代用默认工作空间目录即可。

  在界面左侧的“Package Explorer” 视图中右键单击,在快捷菜单找那个依次选择 new——Java Project,开始新建Java 项目。如图所示。

  新建项目完成,项目结构如图所示。其中 src文件夹用于存源代码。显示JDK版本是 JavaSE-1.8

  我们在上一节建好的Java 项目中,开始开发Java程序。首先,新建一个Java 类。在 src目录下右键单击,建立一个Java 类。如图所示。

  出现新建类的开始界面,如图所示。我们只需要输入类名即可,其他不需要做任何设置:

  在src下面出现了Welcome.java 文件。点击该文件后,出现该文件的代码变基,我们在开发 eclipse 下的第一个 Java 程序。

  运行该程序:在代码上单击右键后,点击 Run as Java Application。如图所示。也可以使用快捷键 “Ctrl+F11”,直接实现运行。或者直接点击工具栏中的运行按钮。

  eclipse 会自动执行javac进行编译,并且会将编译错误直接给出提示,一目了然,非常便于我们调试。

  在eclipse 视图里我们只看到了src目录,eclipse隐藏了bin目录。进入我的电脑,打开Java 项目目录,我们可以看到src 和 bin目录:

  Java基础语法 一个Java程序可以认为是一系列对象的集合,而这些对象通过调用彼此的方法来协同工作。类、对象、方法和实例变量的概念如下。对象:对象是类的一个实例,有状态和行为。例如,一条猫...博文来自:weixin_40686681的博客

  1.1常用基础常识:①:Dos命令dir列出当前文件下的文件及文件夹md创建目录rd删除目录cd进入指定目录cd..退回到上一级目录cd\退回到根目录del删除文件cls清除屏幕上所有的显示exit退...博文来自:Java肖帝的博客

  java语言是sun公司推出一个面向对象的程序设计语言。最初的名字是OAK,1995改名为javajava语言编写的程序既是编译型的,又是解释性的,程序代码经过变异之后转换为一种称为Java字节码的中...博文来自:xixi

  Java学习已经开始了,以下内容为本人课堂总结及感想。1.Java发展历史   Java的前身是1991年由Sun公司开发的Oak语言,主要用于交互式电视等家用电器类小型系统的开发。1993年交互...博文来自:THG_TERCEL的博客

  **java运作方式与解释**Java的运行,Java执行编写代码然后通过编辑器将Java源代码程序编译成Java字节码文件(.class)jvm:虚拟机jdk:开发者使用的工具包JRE:是使用Jav...博文来自:Chao_的博客

  基本数据类型也叫值类型。引用数据类型--引用类型This。只能出现在方法中,this代表当前对象的引用。匿名对象:new类名()Anonymous:匿名Object有索引的对象:可以通过索引,反复操作...博文来自:boss_way的博客

  ——前言——各位CSDN的朋友大家好,我目前正在从零基础开始学习Java编程语言。我将把我的学习过程在我的博客中记录下来,方便获取和比较学习成果,提升自己的编程水平,并期望在未来成为一名合格的程序员。...博文来自:PMZeroA

  前言:   由于要发表论文,需要对论文进行排版,一般大家都是用word进行编写,最近在知乎看到大家推荐使用Ctex中文套件来编排,于是就决定尝试一下这个强大的文字排版写作工具。在这个过程中,我根据自己...博文来自:行歌

  Java入门第二季Java中的static使用之静态方法1、静态方法中可以直接调用同类中的静态成员,但不能直接调用非静态成员。如果希望在静态方法中调用非静态变量,可以通过创建类的对象,然后通过对象来访...博文来自:火山

  一、基本概念1、Web开发的相关知识静态Web:指任何时间访问内容都一致的Web界面(哪怕界面有动画,只要内容不变都属于静态页面)动态Web:指访问内容随时间改变的Web界面(一般涉及到与数据库交互)...博文来自:aliyacl的博客

  本答案为本人个人编辑,仅供参考,如果读者发现,请私信本人或在下方评论,提醒本人修改一.选择题:1.C解析:java为了安全,中并没有引入C语言的指针概念.2.AD解析:B:Java先通过javac编译...博文来自:细雪扶风

  Java学习笔记总结java基础复习1、抽象类可以有构造器,可以有一个非抽象的父类2、垃圾回收机制回收的是堆里面的内存,栈里面的数据自动入栈自动出栈3、引用类型的数据在堆当中,内存中操作的只有栈,ne...博文来自:猫宁

  1.1.1、javaweb应用1、javaweb应用:是在web容器上运行的web资源构成的集合。2、javaweb应用开发:是基于javaee框架的,需要由该框架的容器和组件支持下完成。3、容器:最...博文来自:的博客

  本人记忆差,整理这个思维导图,相当于较认真的看了一遍,整个思维导图,基本上就是对原文的拷贝。有了层级关系。和本人自己的一些理解。由于思维导图弄出来的图片大于100M了。所以就放出源文件,更方便的阅读查...博文来自:代码有毒的博客

  1.Java语言是跨平台的,程序由jvm来执行,不是直接由操作系统来执行。Java语言是面向对象的语言,编程的最基本单元是class类,类里面可以写成员变量或者直接赋初值,成员方法,构造方法。类一般都...博文来自:m0_37043120的博客

  一、课前提问  本地变量、成员变量、类变量?   本地变量:localvariable,还叫局部变量              哪些是本地变量?方法中的变量以及方法的参数              本...博文来自:zqq3436的博客

  黑马程序员JAVA学习笔记1美国Sun公司1995年1.2计算机基础知识十进制数据转成二进制数据:使用除以2获取余数的方式:辗转相除法字节1个数字0或1为1字节最小的存储单元,右键文件属性可查看文件字...博文来自:VAN

  模式识别概述1模式识别2模式识别的几个步骤3三个任务4多项式拟合概率论1基本概念2概率密度模式识别概述1、模式识别使用算法自动发现数据中的规律,并利用这些规律实现回归、分类等任务。例如手写数字识别(M...博文来自:yhyhbo的博客

  1.Java虚拟机、Java编译器和Java解释器JVM:JVM有自己完善的硬件架构,如处理器、堆栈(Stack)、寄存器等,还具有相应的指令系统(字节码就是一种指令格式)。JVM屏蔽了与具体操作系统...博文来自:的博客

  1.机器学习的概念机器学习是这样一门学科,它致力于研究如何通过计算的手段,利用经验来改变系统自身的性能。在计算机系统中,“经验”通常以“数据”的形式存在。因此,机器学习所研究的主要内容,是关于在计算机...博文来自:Never-Giveup的博客

本文链接:http://kuenergyclub.com/diyidaiyuyan/793.html