`
fox_mt
  • 浏览: 23111 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

从零开始学java-(二)for ZCL

 
阅读更多

    上一章节内容相信已经完全可以被理解,对于结尾处的三个问题,现在来给出答案,并加以解释

问题1:java特点是什么?

答:java的优良特点有很多,如跨平台,面向对象,分布式,多线程,安全性,健壮性,简单性等。后面我们会对这些特性,做详解解释。

 

问题2:java为什么可以跨平台?

答:java之所以可以跨平台,根本原因就是JVM,那么什么是JVM呢?英文全程是 Java Virtual Machine,中文就是java虚拟机,当然这不是我翻译过来的,那英文我也不认识(^.^),java虚拟机是java软件平台的基础,基于不同的操作系统对应不同的java虚拟机。不管什么操作系统,有了这个虚拟机,java的应用程序就可以运行,换句话,java应用程序实际上是依赖虚拟机运行,而每个操作系统都有对应的虚拟机,这就让一处编译,到处运行成为了现实,只因为三个字母:JVM

顺带说一句,java虚拟机,相当于是在物理机上由java虚拟出来的一台机器,这台虚拟机所使用的内存,cpu等等,是向物理机申请。也就是运行java应用的时候,先向物理机申请创建虚拟机的资源,创建虚拟机,然后应用程序在该虚拟机上运行。一个应用程序会创建一个虚拟机,多个应用之间互不影响

 

问题3:jdk是什么?

答:jdk没那么复杂,简单的一句话,jdk是java开发的工具集,里面包含几个工具,可以让我方便的进行开发工作。

 

好了,问题回答完了,我们就进入正题,开始真正的java开发之旅!

不过,开始之前,我们要了解几个概念,和一些工具的作用,根据第一篇文章配置好了环境变量之后,让我们来了解下,开发之前需要准备的东西:

1,java是什么样子的?

java文件是名字[点]java,例如:HelloWorld.java

 

2,什么是字节码,字节码是怎么来的?

字节码是java虚拟机执行的一种指令格式。是有java编译器将java的源文件编译成字节码文件

源文件就是我们应用程序的文件,这里又出现了另一个问题,字节码文件长什么样呢?其实和java文件很想,可以说是亲兄弟,因为他们的名字是一样的,只是后缀不同,就像是同姓不同命,字节码文件的后缀是class,已HelloWorld为例,HelloWorld.java经过编译器,生成HelloWorld.class这就是有java文件到字节码文件的变化

3,在我们安装的jdk的bin目录下都有些什么呢?

看过之后就知道了,里面有很多已exe结尾的可执行文件,太多了,我们看不过来,但是有几个需要我们重点注意:javac; java; javadoc; javap; appletviewer

这几个是我们将要使用的几个工具,最后一个appletviewer是java小应用程序浏览器,我们这里不对其做解释,有兴趣的话可以自己去了解下java 的小应用程序。

下面来解释下这些工具都是干嘛的:

javac:也就上面提到的java编译器,将java 的源代码转换成字节码,生成的文件是什么样的呢?回忆下!!

java:java解释器,用来执行java字节码文件

javadoc:依据java源程序和说明语句生成各种HTML文档

javap:java 的反汇编器,和javac正好相反,作用可想而知,可以自己实现下,将编译之后的文件在反编译回来,看看,得到的是什么。

到此为止,概念已经了解差不多了,开始动手操作了,操作之前,再唠叨一句,现在集成开发工具多的是,优秀的比比皆是,可能你已经知道很多,可能你电脑上已经有了,但是我个人建议,既然是初学,那么就从0开始,暂时放弃集成开发工具,对于我们理解java有很大的帮助了。好了,我们这里的工具就是windows下面的记事本,如果觉得颜色难看,可以使用editplus文本编辑器,或者sublime等

那么,正式开始,命令行,怎么打开,还记得么?windows标志+R,输入notepad,打开记事本

输入如下代码

public class HelloWorld{

/**

第一个java程序

*/

public static void main(String[] args){

System.out.println("HelloWorld!");

}

}

写完之后进行保存,注意保存的时候如图所示

 

 

名称问HelloWorld.java,保存类型为文档类型,编码保持ANSI不变

这里有个问题,就是保存在什么位置,建议单独建立一个文件夹,来存放我们编写java文件,为什么这样呢,后面会介绍,好了,我是保存在D:\java学习下面。

现在我们的java源码文件已经有了,那么我们要做的是把他编程虚拟机认识的字节码,想到什么没有?对了,javac工具,使用方式很简单,在dos窗口,也就是命令行,输入cmd,弹出来的窗口,进入HelloWorld文件在所的目录具体操作为:输入 D:回车,输入cd java学习 回车,到达目录下,输入dir查看文件是否存在,如下如所示



 

文件已经存在了,我们也达到了目标位置

那么开始使用编译工具,javac的用法很简单 javac java源码文件

对于本例就是 javac HelloWorld.java

输入之后,如果没有反应,出现D:\java学习>这就证明编译通过了,这个情况的出现,不知道是该高兴还是难过,高兴的是你太认真了,一个字母的都没错,遗憾的你错过了学习另一个只是的机会,O(∩_∩)O,别担心,我会继续说

编译之后,在看文件下面有什么文件,是不是多了一个class结尾的HelloWorld文件,没错,他就是字节码文件了,我们要运行的就是他

运行工具是哪个?回一下

ok,就是java,java命令和javac命令一样简单易用

java HelloWorld

注意,是HelloWorld,应用程序的名称,不是.class也不是.java

回车,

看看我们得到了什么

 那里就是我们输出的内容,好了,我们的第一个应用程序已经完工,他的功能就是在dos窗口下输出HelloWorld!

 

刚才错过了一个学习知识的机会,那么自己来创造吧,在HelloWorld.java 文件中随便做点儿修改

再编译试试,看看我们会得到什么?

好了,这一篇就到这里了,继续留作业

 

1,修改HelloWrold.java文件编译之后,出现什么?怎么看出现的东西?

2,试一试上面介绍的那几个java开发工具,看看效果?

3,在HelloWorld总有一段中文,这段中文干嘛的?怎么没看到有什么效果呢?

4,编译的时候写成HelloWorld.Java行不行,注意java 的J是大写的?结果是什么?原因呢?

5,什么叫做运算符?现在生活中你知道的运算符有多少?

6,什么叫数据类型?

 

 

 

  • 大小: 33.2 KB
  • 大小: 38.7 KB
  • 大小: 75 KB
分享到:
评论

相关推荐

    Z-Stack ZCL API.PDF

    TI公司的ZCL API函数技术文档。 ZCL = zigbee cluster library.

    Z-Stack ZCL API

    这个应该是zigbee里的开发文档,不知对大家是否有用。

    bekko:ZigBee 应用层(APS、ZCL、ZDP)Java 实现

    纯 Java ZigBee 应用程序框架 Bekko提供用于开发 ZigBee 应用程序的 Java API,并允许用户应用程序与标准 ZigBee 设备进行通信。 与其他“XBee API Java-Wrapper”不同,Bekko 具有 ZDO/ZDP 实现和标准化的 APS 数据...

    zigbee ZCL开发大礼包

    一个是ZigBee Cluster Library 最新版的ZCL文档英文版,一个是Zigbee协议栈的API接口函数手册,二合一,自己找了好久,分享出来给大家,学习zigbee的人很有帮助,zigbee智能家居必看手册

    易语言ZCL_核库函数模块

    易语言ZCL_核库函数模块易语言ZCL_核库函数模块易语言ZCL_核库函数模块

    zcl/se/zcl.message.h

    这是STM32WB系列,基于IEEE 802.15.4的zigbee信息收发头文件zcl/se/zcl.message.h

    易语言模块ZCL_控件类库1.01.rar

    易语言模块ZCL_控件类库1.01.rar 易语言模块ZCL_控件类库1.01.rar 易语言模块ZCL_控件类库1.01.rar 易语言模块ZCL_控件类库1.01.rar 易语言模块ZCL_控件类库1.01.rar 易语言模块ZCL_控件类库1.01.rar

    The document was created with Spire.PDF for Java

    解决生成pdf文件第一页表头产生红色字体: Evaluation Warning : The document was created with Spire.PDF for Java

    Zigbee_ZCL_07-5123-07-ZigbeeClusterLibrary_Revision_7

    2018年2月的新版的ZCL规范,新增和完善各个cluster的描述

    易语言模块ZCL_多线程类1.01.rar

    易语言模块ZCL_多线程类1.01.rar 易语言模块ZCL_多线程类1.01.rar 易语言模块ZCL_多线程类1.01.rar 易语言模块ZCL_多线程类1.01.rar 易语言模块ZCL_多线程类1.01.rar 易语言模块ZCL_多线程类1.01.rar

    易语言模块ZCL_核库函数1.01.rar

    易语言模块ZCL_核库函数1.01.rar 易语言模块ZCL_核库函数1.01.rar 易语言模块ZCL_核库函数1.01.rar 易语言模块ZCL_核库函数1.01.rar 易语言模块ZCL_核库函数1.01.rar 易语言模块ZCL_核库函数1.01.rar

    ZCL

    ZCL

    ZCL_SPEC_R7.pdf

    Zigbee联盟发布的最新版本的ZCL SPEC,可用于查阅zigbee各cluster及下属各中命令和属性,zigbee开发必备工具书.

    ZCL说明文档

    ZigBee Cluster Library User Guide 英文

    NXP Zigbee——ZCL

    ZigBee联盟已经定义了ZigBee集群库(ZCL),其中包含许多可以应用于不同功能领域的标准集群。 例如,所有ZigBee应用程序配置文件都使用ZCL中的基本群集。 ZCL为应用程序提供了通信手段。 它定义了一个头部和有效负载...

    6. ZigBee3.0 基于ZCL通信——开关控制 串口地址控制switch.zip

    ZigBee3.0 基于ZCL通信——开关控制 串口地址控制switch,osal系统,使用IAR 10

    Audio_Report(zcl).rar

    msm8930平台audio驱动的调试介绍

    易语言实例模块——ZCL_多线程类1.01.ec

    易语言实例模块——ZCL_多线程类1.01.ec

    zigbee zcl api

    ZCL是Zigbee1.1(Zigbee2006)协议版本中增加的一个重要的部分。在Zigbee中,一个簇群就是一个容器,在容器中以命令结构体包含了一个或多个属于某个应用剖面的属性/消息,不管应用剖面如何,相同的设备(比如开关)...

    Zigbee之ZCL概览

    讲述zigbee重要特性之ZCL的一份资料。是zigbee联盟做的一份讲义。价值在于比较清楚地阐释了cluster是什么,以及zcl的层次结构。对于入门者而言是难得的规范的参考资料。力荐。

Global site tag (gtag.js) - Google Analytics