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

从零开始学java-(三)for ZCL:java基本数据类型

阅读更多

上一篇文章最后我们留了几个问题,下面来解答,并解释一下为什么!       

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

     如果你做了修改,根据每个人修改的不同,javac编译的时候得到的错误信息也不同

    遇到错误信息了,不要紧张,hi起来,你掌握知识的机会来了,我随便修改了一下,得到了下面的错误信息

 

首先看有几个错误,根据信息,提示: 1个错误。然后看错在哪里了:HelloWorld.java:3这个3是错误所在的行数,不过可能不准。只能作为参考,错误:后边的信息是详细错误信息,我的错误是因为system的s写了小写,java找不到这个东西,由此也可以看出,java是区分大小写的,这个要注意!

在此。顺便说一句,java语言有一整套标准的开发规范,遵循这个规范,写出的代码会整洁,易读,具体的规范这里不赘述,大家可以在网上搜搜。

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

这个问题没什么好回答的。自己去试试就什么都知道了

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

这个问题,我有个失误,没说问清楚,是/***/之间的中文是干嘛的。这中间就是java的注释,注释的作用顾名思义,对java代码进行解释说明,有注释的代码更加易读,便于理解。那么java的注释方式有哪些呢?

一共有三种:// ; /***/ ; /**/

大家自己去寻找每种注释方式的含义和不同。 

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

答:肯定是不行的,原因跟第一题一样,因为区分大小写啊

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

答:就是用在程序语言中的变量或者常量进行运算时使用的符号。其实我们小时候就学过一些了,加减乘除等等。具体我们后面会一一讲解,这里同时引出了两个概念,变量和常量,对此,先不做解释,大家记住就可以。

6,什么叫数据类型?

答:数据类型的概念并不复杂,很简答:数据的类别。为什么会这么突兀的提及数据类型这个概念呢?因为java是一门强数据类型语言,在任何变量声明时,都要指定该变量的为一种数据类型。

好了,问题解决了,下面我们进入正题,数据类型;问题6中海油一个小疑问,java中有哪些数据类型呢?‘

总体来说,java中的数据类型可以分为两种:基本数据类型;对象数据类型

对象数据类型本次不讨论,后面我们会逐渐接触,今天我们来了解下基本数据类型,java的基本数据类型分为八种:byte; int; short; long; char; float; double; boolean

其中前四个数属于整型,第五个是字符型,第六七个是浮点型,最后一个是布尔型

接下来我们就来说一说这些基本类型都是什么样的,通过编写简单的代码来逐渐了解java 的8个基本数据类型;

在介绍基本数据类型之前,先来了解一个概念:数制

数制简单来说就是数的进制,类似四舍五入,不过没那么粗狂,

说白了几进制就是逢几进一,

程序开发经常会用到进制,普遍的就是 二进制,八进制,十六进制,为什么没说十进制。。因为我不说你也知道。。从小用到大的东西了

下面简单说下这几进制

二进制特征就是两个数字组成 0和1,运算时逢二进一;例如:10000001,

八进制特征就是由八个数字组成 0到7,运算时逢几进一自己想吧。。。我就不多说了。例如:014,0726. !!注意,八进制是以0开头,所以很容易混淆。建议少使用

十六进制,填空,由___个数字组成,由多少到多少?

答案是16个数字。钱十位是0-9,那后六位怎么办?。总不能用10-15吧,很明显不是,记得使用a-f代表者6个数,以0x为前缀,字母是不区分大小写的

刚才说了,byte,short,int,long是整型,那么什么是整型,望文生义,那就是证书类型了

基本类型1:byte

 byte也叫字节型,用一个字节来表示整数,这就有个困难了,一个字节多大?计算机只能识别0和1,所以计算机用的二进制,而我们用了二进制,那就会死的很惨了,所以我们使用的类型最后都会转换成01,一个字节就是八位二进制,范围介于-2的7次方~~~2的7次方-1之间,也就是-128~~127,后面介绍范围就不算了,算了数太大。谁也记不清楚。

好,先来个段程序,瞧一瞧

public class LearnByte{

public static void main(String[] args){

byte realByte = 22; //十进制

byte eByte = 022; //八进制

byte teByte = 0x22; //?这是几进制

System.out.println("realByte " + realByte);

System.out.println("8Byte  " + eByte );

System.out.println("16Byte " + teByte );

}

}

看看编译,运行之后的结果;



 很奇怪,什么和我们写的不一样呢?18和34是怎么来的?看看每个变量的后面,分别是我们声明的数据的进制,不管是几进制,输出的时候,java给我们转换成了十进制

这里要说一句,前文说过java是强类型语言,声明变量之前要指定类型,刚才我们的小程序写到

byte readlByte = 22;

类型  变量名 = 变量值

刚才编译的时候有没有报错呢?注意,我们保存的文件名和程序里面public class [这里]  的名字必须是样的,否则编译会错误,这就好比是你的身份证和你是1对1的,你拿了别人的身份证肯定上不去车。

这是语法的要求,切记,更多语法内容后面详细介绍。

 

基本类型2:int

 int类型比short要大。猜猜有多大?是了,int型是用4个字节表示数值,那范围就大了,在-2的31次方到2的31次方-1之间,算一算有多大?

老规矩,上程序,看结果

public class LearnInt{

public static void main(String[] args){

int realInt = 22; //十进制

int eInt = 022;//八进制

int teInt = 0x22;//?这是几进制

System.out.println("realInt " + realInt);

System.out.println("eInt  " + eInt);

System.out.println("teInt " + teInt);

}

}

结果在此:



 这就不多解释了。

基本类型3:short

 short类型用两个字节表示整数,数制的范围可想而知比byte大的多,这可不是两倍的关系,我们来看看范围 -2的15次方到2的15次方-1,怎么样,大多了吧!不解释,上程序

public class LearnShort{

public static void main(String[] args){

short realShort = 22; //十进制

short eShort = 022; //八进制

short teShort = 0x22; //?这是几进制

System.out.println("realShort " + realShort);

System.out.println("eShort " + eShort);

System.out.println("teShort " + teShort);

}

}

javac LearnShort.java 编译,运行,结果如下

     结果和byte一样,因为我们给的数值一样,同样的被转换成了十进制

基本类型4:long

 long类型比int还要大,是8个字节,这就老大了。-2的63次方到2的63次方-1之间,够大了不?

从byte到long,找找规律。

上代码,看结果,

public class LearnLong{

public static void main(String[] args){

long realLong = 22L; //十进制

long eLong = 022L;//八进制

long teLong = 0x22L;//?这是几进制

System.out.println("realLong " + realLong);

System.out.println("eLong  " + eLong);

System.out.println("teLong " + teLong);

}

}



 

注意了,这个程序和前面的程序有什么区别?除了数据类型,文件名字不一样之外?在变量值后面有个L,这个L就是他的特殊之处,当然不写也不会报错,不过最好是写上,一面造成误解

好了,整数类型都说完,怎么能少了字符呢

基本类型5:char

 char也叫字符类型,两个字节长度,有一个值得我们注意的是,字符型的数据的值是用单引号括起来的。看仔细了啊, 可不是双引号,双引号那是字符串,是对象类型,后面才会讲呢,而且,字符型的数据只能表示单个字符,超过一个字符了,那就不是字符型数据了,看程序:

public class LearnChar{

public static void main(String[] args){

char one = '中';

char two = '国';

System.out.println("字符+一起回怎么样: " + one + two);

}

}

看结果:



 神奇么?多个字符用+号链接,输出了一行,+号就是一个运算符,先留着,后面慢慢讲

 

好了,接下来就是浮点型了,浮点型,形想象下,浮点。。。。说白了,就是带小数点的数

浮点型分为两种:单精度浮点型,双精度浮点型,来看看他们区别

基本类型6:float

 单精度浮点型占四个字节,有效位数是7位,有效位数包含了小数位,看看程序

public class LearnFloat{

public static void main(String[] args){

float floatOne = 22f;

float floatTwo = 22.0F;

System.out.println("floatOne" + floatOne);

System.out.println("floatTwo" + floatTwo);

}

}

 

看看结果

 

恩?程序里面怎么一个写小f,一个写大F呢,数字后面加个f就代表单精度浮点型数据,所以无所谓大小写了,java也不管了,爱怎么写怎么写,只要不携程e,g就行了。

如果一个浮点型的数,但是声明的时候确没有加F,会出现什么情况呢?这样的话就会被认为是双精度。为什么?我猜是双精度比他大,精确度高。所以你不说,那java就给你来个准的

基本类型7:double

 double就是双进度浮点型,占8个字节,有效位数15位,刚才说了,带浮点,没写f,默认就是双精度,那不让他默认,上来就是双精度怎么写?来来。看看代码

public class LearnDouble{

public static void main(String[] args){

double doubleOne = 22D;

double doubleTwo = 22.0d;

double doubleThr = 22;

System.out.println("doubleOne" + doubleOne);

System.out.println("doubleTwo" + doubleTwo);

System.out.println("doubleThr" + doubleThr);

}

}

 

看结果



 恩,跟想的一样,有一点,我们写了22.输出来是22.0那是因为我们声明的是double类型,没有小数点,系统会默认给我们添加一个

基本类型8:boolean

 终于到了最后一个了,怎么样,内容有点儿多了么?忍住,马上结束了,

boolean就是布尔型,布尔型的值只有两个 是,否,程序不是中国人,不认识是否,那么程序里面怎么表示呢,是:true,否:false。什么情况是用这个东西呢?进行比较的时候,好比我问你,你比刘德华帅么?是你和刘德华的对比,结果要么是 是的,我比他帅,要么是 不是的,我没他帅,那么就是比他帅,就是true,没他帅,就是false,这个根据我问题来的。如果把两个人位置调换,那么结果如何呢?

好了,上代码了?算了,上了那么多,缓缓,大家自己写写boolean的程序,看看,你是不是比刘德华帅!!!

这次就到这里。留作业咯:

1,我们今天写了这么多实例。他们的共同点是什么?

2,知道什么是变量么?我们今天得知识里面有么?哪些是呢?

 

 

 

  • 大小: 12.8 KB
  • 大小: 11.7 KB
  • 大小: 10.2 KB
  • 大小: 10.3 KB
  • 大小: 11.2 KB
  • 大小: 14.5 KB
  • 大小: 10.9 KB
  • 大小: 11.3 KB
分享到:
评论

相关推荐

    从零开始学习Z-Stack

    现在,我们将从零开始,深入探讨Z-Stack的相关知识点。 1. **Z-Stack的基础概念** - **Z-Stack架构**:Z-Stack通常由设备层、网络层和应用层构成,每一层都有特定的任务和功能,确保设备之间的高效通信。 - **...

    Z-Stack ZCL API.PDF

    Z-Stack ZCL API 是德州仪器(Texas Instruments, 简称TI)发布的一份技术文档,主要涉及ZigBee技术中的ZigBee Cluster Library(ZCL)API。ZigBee是一种基于IEEE 802.15.4标准的无线通信协议,常用于个人区域网络,...

    ISE IP核使用说明

    - FIFO(First-In-First-Out):一种数据缓存结构,用于管理数据流的存储和读取。 6. 信号定义: - DIVdiv模块中定义了时钟信号clk、新数据反馈信号nd、运算完成信号rdy、请求信号rfd、被除数dividend、除数...

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

    与其他“XBee API Java-Wrapper”不同,Bekko 具有 ZDO/ZDP 实现和标准化的 APS 数据连接 API。 您可以使用 ZCL 扩展包来实现 ZCL 应用程序。 要求 Java SE 1.4 或更高版本/Java ME CDC 1.1 或更高版本 支持的 ...

    Z-Stack ZCL API

    ### Z-Stack ZCL API 知识点解析 #### 一、引言 ##### 1.1 目的 本文档旨在提供Z-Stack ZigBee Cluster Library (ZCL) API 的详细介绍,帮助开发者理解并利用这些API进行ZigBee设备的应用程序开发。 ##### 1.2 ...

    The document was created with Spire.PDF for Java

    标题 "The document was created with Spire.PDF for Java" 提供了一个关键信息,即文档是使用Spire.PDF for Java工具创建或处理的。Spire.PDF for Java是一款由E-iceblue公司开发的PDF库,它允许Java开发者在应用...

    生成数字的全局唯一Id.zip

    1. **时间戳**(41位):从2015年1月1日(UTC/GMT的00:00:00)开始至未来的毫秒数。这部分可以表示大约69年的时间,足以覆盖大部分业务场景。 2. **工作节点ID**(10位):用来区分不同的工作节点,可以配置为数据...

    日本fanuc system parameter.doc

    - ZPR和ZCL:手动回零后自动设定工件坐标系及是否取消局部坐标系。 - 第一至第四参考点的坐标值:设定参考点的位置,便于工件定位。 5. **行程限位参数**: - 第一至第三行程限位的正向和反向值:定义行程边界,...

    ZigBee中级培训.rar

    - 应用层(APL):讲解ZigBee应用框架,包括ZigBee PRO和ZigBee Cluster Library(ZCL),以及如何实现自定义应用。 3. **ZigBee网络构建** - 设备角色:节点类型如协调器、路由器和终端设备的角色和职责。 - ...

    学习计划模板合集7篇.docx

    - **数据类型、运算符和表达式**:掌握各种数据类型(整型、浮点型、字符型等)、常量和变量的定义与使用方法。 - **控制结构**:顺序、选择(if-else语句)、循环(for、while、do-while)等结构的编写。 - **函数...

    ist的matlab代码-ATC-Best-Practice-Guide:ABAP测试驾驶舱最佳实践指南

    用于检查最重要对象类型的所有文本是否都以德语和英语提供的类。 文件夹“摘录” “片段”文件夹包含支持您使用ATC的代码片段。 Z_SCI_VARIANT_ * 用于清晰显示测试变体的创建报告的来源。 “ Docu”文件夹 “ docu...

    CRM GENIL模型开发

    - **类名**: ZCL_CRM_GENIL_QUERY。 - **超类**: CL_WCF_GENIL_ABSTR_COMPONENT。 - **目的**: 定义一个自定义的组件类来支持后续的复杂查询逻辑。 ##### 2. 维护视图簇 - **T-Code**: SM34。 - **视图簇**: CRMVC_...

    ABAP开发资料,基础学习资料,有兴趣的了解.pptx

    ABAP中的数据类型非常丰富,包括基本类型(如字符型、数值型、日期型等)和复杂类型(如内部表、结构体等)。变量的声明可以通过`DATA`语句来完成,例如: ```abap DATA lv_var TYPE i. " 定义一个整型变量 ``` ##...

    ZCL说明文档

    除了上述内容外,文档还包含了一些编程中会使用的枚举和定义,比如PowerSource和ApplicationProfileType等,这些都为ZigBee设备的开发和使用提供了重要的数据类型和常量定义。 整个文档旨在为开发者提供一套完整的...

    abap-openapi-client:ABAP中的ABAP OpenAPI客户端生成器

    注意:生成的代码当前使用ZCL_OAPI_JSON,建议将实现复制到生成的全局类中的本地类 生成旨在在v702上运行 生成的客户端代码旨在在v702上运行 建筑/开发 prerequsites = 12+ 安装npm install npm test =运行单元...

    蓝桥杯单片机——20 定时器.rar

    蓝桥杯单片机——20 定时器,这个是我学习...模式三:数码管前三位显示-3- 设定的数字开始倒计时,数字为0时蜂鸣器响。 相关链接《蓝桥杯单片机竞赛各模块总结》:https://blog.csdn.net/ZCL__/article/details/1

    蓝桥杯单片机——09 定时器设计秒表.rar

    蓝桥杯单片机——09 定时器设计秒表,这个是我学习蓝桥杯单片机时,通过B站上的各种视频资源整理出来的代码。...相关链接《蓝桥杯单片机竞赛各模块总结》:https://blog.csdn.net/ZCL__/article/details/109250325

    Zigbee之ZCL概览

    ZCL的概念使得设备制造商能够更加专注于他们产品的核心功能,而不必从零开始构建复杂的通信协议。因此,对于任何想要深入了解ZigBee技术,特别是在设备控制和家庭自动化方面有应用需求的人来说,ZCL是一份难得的入门...

    ABAP EXCEL通用类

    例如,通过`READ_CELL`方法可以从指定单元格读取数据,或者使用`READ_TABLE`将整个工作表数据读入到内部表中。 4. **样式和格式** ZCL_EXCEL支持设置单元格的样式,如字体、颜色、边框和对齐方式。这些样式通过...

    zigbee-cluster-library-specification

    ZCL 规定了设备间通信所需的数据格式、命令以及行为规则,从而确保来自不同制造商的设备能够协同工作。 #### 二、文档信息与版权 - **文档编号:** ZigBeeDocument:07-5123-06 - **版本:** Revision 6 Draft ...

Global site tag (gtag.js) - Google Analytics