0x8000 0000l java_【Java】_2_Java程序入门第一课

首先说一下,为什么学习Java。主要是因为要用到这个东西,现场有一个设备,ABB的板型仪,里面用的是Java做的后台 ,利用Java服务器与

DSP芯片做数据采集分析功能,DSP进行高速数据采集,然后用Java做数据分析。所以需要想学习这个东西,来了解DSP和Java通讯,以及和Win32

平台通讯的一些相关内容。

【Java外壳类】

我感觉这个Java和C#有点类似,首先什么也不管,就需要定义一个类。我们首先来看这个类。

1 /*

2 This program test the basic data type

3

4 1、boolean

5 2、byte

6 3、short

7 4、int

8 5、long

9 6、float

10 7、double

11 8、char

12

13 */

14

15

16

17 public class IntTest //因为Java是纯面向对象的程序设计语言,所有的可执行代码均需要在类中,

18 //因此这里必须定义一个类.

19 //这里类作为一个加载“程序逻辑”的“容器”

20

21 {

22 public static void main(String[] args) //Java中所有的函数都属于某个类,因此main方法需要一个”外壳类“

我们看到这个东西,与C++还是不一样的。

【Java boolean类型】

在Java中提供了一种表示逻辑结果的数据类型:boolean

public class IntTest //因为Java是纯面向对象的程序设计语言,所有的可执行代码均需要在类中,

//因此这里必须定义一个类.

//这里类作为一个加载“程序逻辑”的“容器”

{

public static void main(String[] args) //Java中所有的函数都属于某个类,因此main方法需要一个”外壳类“

{

//首先测试boolean类型

boolean YesOrNo=true;

if(YesOrNo)

System.out.println("Yes");

我们可以看到,这里布尔类型与C语言中的布尔类型非常类似,但是有一点不同的是,C语言中“非零即True,零等价于False”, 而在Java中不能这样认为,因为Java中不支持

布尔类型和其他类型间的转换。这一点必须注意。如下图所示:

b78b1a1f52d8aa7c3ee83b6ca8267d32.png

【Java byte类型】

在Java中提供了一种单字节大小的数据类型:byte;这种数据类型,用来表示小数值时比较有效,节省内存空间;但是不利于CPU处理。

//测试byte类型

byte OverFlow=(byte)300;

System.out.println(OverFlow); //因为在Java中byte表示的大小从 -128 ~ 127 共256个状态,同时

//进行type cast时会进行截取,所以这里输出是 44

OverFlow=300 & 0xFF;

System.out.println(OverFlow); //可以看到在整型数据转换时,可以根据存储特点进行处理,与C语言类似

System.out.println("The max value of byte is:" + 0x7F);

System.out.println("The min value of byte is:" + ~0x7F); //可以看到这里有点特殊,在C语言中提供了宏来表示max和

//min值,在Java中有没有呢?

通过测试我们发现,byte的数值范围规定是: ~0x7F - 0x7F; 而且这里还可以像C语言中一样进行数值截取; 我不知道大家怎样看待

强制类型转换,我感觉用 “按位与” 更能体现计算机的计算机制。

这里有一点值得探讨一下,为什么-256是~0xFF呢,而且~0x7F是-128? 我目前感觉有点奇怪。上面的程序执行的结果如下所示:

efa6fd2d05ed9c45508070c1369f39bd.png

这里我知道Double类型提供了一些常量: Double.POSITIVE_INFINITY、Double.NEGATIVE_INFINITY、Double.NaN来表示最大值

最小值和无穷大,但是byte有没有提供这样的类库支持呢?

【Java Short类型】

short类型与C语言中16位的有符号short类型一致,表示的值的范围:-327687 ~ 32767. 如下所示:

//测试short类型

short shortTestVar=0x7FFF;

System.out.println("The max value of short is:"+ shortTestVar);

System.out.println("The min value of short is:"+ ~shortTestVar);

这段代码运行的结果如下图所示:

5d952fd404542e6e2bc129570dfb1f2a.png

【Java int类型】

int类型与C语言中有符号int类型一致(32位的int型),表示值的范围是: 0x80000000 ~0x7FFFFFFF(计算机内表示法);

//测试int类型

int intTestVar=0x80000000;

System.out.println("The max value of int is:"+ ~intTestVar);

System.out.println("The min value of int is:"+ intTestVar);

运行结果如下图所示:

825dbaae2040fa8471ef84be5530557a.png

【Java long类型】

long类型与C语言中long int类型一致, 表示的值范围是:0x8000 0000 0000 0000 ~ 0x7FFF FFFF FFFF FFFF(计算机内表示法).

//测试long数据类型

long longTestVar=0x8000000000000000L;

System.out.println("The max value of long is:"+ ~longTestVar);

System.out.println("The min value of long is:"+ longTestVar);

运行结果如下图所示:

b460b0b53efa4141093fc38604209414.png

long数据类型有一点需要说明:那就是如果要表示一个long型的整数,则必须在数字后面加上一个“L”。

【Java整型数小结】

Java中没有无符号数的概念,所有的整形数据均是有符号数;这一点是与C/C++不一样的地方,需要注意。

默认情况下整型字面值是int类型的;这一点很重要,否则容易出错;如下图示:

f193d31f3bb8dc12012d6fe6da0788fc.png

【Java double数据和float数据】

float数据占用4字节,而double数据占用8字节;同时float数据类型的有效位数是6~7位;double有效位是15位;在没有特别说明的情况下,浮点

数字面值是double型的;如果要表示float型的浮点数字面值,则需要在字面值后面加F,如: 3.1415926F。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值