`
fox_mt
  • 浏览: 23028 次
  • 性别: 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
分享到:
评论

相关推荐

    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.PDF

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

    ISE IP核使用说明

    很好的ISE IP核说明,写的很好,很详细,很适合初学者的学习

    The document was created with Spire.PDF for Java

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

    Z-Stack ZCL API

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

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

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

    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开发大礼包

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

    NXP Zigbee——ZCL

    例如,所有ZigBee应用程序配置文件都使用ZCL中的基本群集。 ZCL为应用程序提供了通信手段。 它定义了一个头部和有效负载,位于用于消息的协议数据单元(PDU)内部。 它还定义了属性类型(例如整数,字符串等),...

    java生成16位long类型id

    1.获取系统时间 + 随机数,但是由于系统时间前几位是相同的,所以截取几位数字; 2.获取随机数,math的方法,截取几位数字; 3.判重校验

    易语言ZCL_核库函数模块

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

    zcl/se/zcl.message.h

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

    zigbee-cluster-library-specification 2012版和最新版

    两份文档: zigbee-cluster-library-specification Document: 07-5123-06 zigbee-cluster-library-specification Document:ZigBee Document 075123r04ZB 2012

    易语言模块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

    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

    ZCL

    易语言模块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

Global site tag (gtag.js) - Google Analytics