zoukankan      html  css  js  c++  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中不支持

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

    【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? 我目前感觉有点奇怪。上面的程序执行的结果如下所示:

      这里我知道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);

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

    【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);

      运行结果如下图所示:

    【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);

      运行结果如下图所示:

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

    【Java整型数小结】

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

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

    【Java double数据和float数据】

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

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

  • 相关阅读:
    【jsp】怎么在jsp文件中引入静态文件(.js .css)
    【MyBatis】MyBatis之分页
    【MyBatis】MyBatis之如何存储NULL
    【MyBatis】MyBatis之如何配置
    【MyBatis】MyBatis之别名typeAliases标签的使用
    【Spring】SpringMVC之详解AOP
    【Spring】SpringMVC之REST编程风格
    【Spring】SpringMVC之上传文件
    【Spring】SpringMVC之拦截器
    【Spring】SpringMVC之异常处理
  • 原文地址:https://www.cnblogs.com/volcanol/p/2824169.html
Copyright © 2011-2022 走看看