类结构、进制和变量

来源:互联网 发布:怎么开好淘宝网店 编辑:程序博客网 时间:2024/06/06 09:30

                    

一、       类结构的组成:

1、  单挑语句:如  System.out.println(“hello world!”);

2、  块语句:  一个 {  开始到   }   结束

3、  带标签的块语句     标签   {    }

4、一个   ;    也是一条语句

 

        注意:java是一种若格式语言,

                   空格、换行、制表符 都可以被忽略。

                   单条语句的后面的分号  ;   是与该条语句在一起的。

 

 

二、      进制的问题

 

1.      进制的转化

a.      十进制转化为二进制:

        十进制的数除以2,得到的商和余数,直到商为0, 余数倒序就是该数的二进制码。

所以11的二进制码位1011

 

b.      二进制转化为十进制

2进制的数字从右往左乘以对应的权位相加的到。

同理八进制和十六进制的也是一样的。

        C.二进制转化为八进制

                 二进制数中,从右往左每三个位是在一起,相加起来的数是八进制的数。

                 二进制数中,从右往左每四个位是在一起,相加起来的数是十六进制的数。

 

2、 原码、反码、补码

        a.在计算机中,计算机底层运行的数据都是一补码的形式进行运算的。

        b.正数的原码、反码、补码都是相同的。

        c.负数原码,反码和补码是不一样的。

        如:   -10   原码:10001010  反码:11110101  补码:11110110

                 负数中,反码是原码除符号位之外按位求反,补码为反码+1

3、   1个byte的取值范围

    一个字节最多表示 256个数字:

    最大值: 0 111 1111  127

最小值: 1 000 0000      -128

-1 补码1 111 1111

   -10补码1 111 0110

   -100补码1 001 1100

   -127补码1 000 0001

-128原码1 000 0000   反码  1 111 1111  补码1 000 0000

 

三、     二进制的相关程序和注意事项。

/**

        目的:在程序中使用不同的进制数字

 

        注意:在java语言中,直接输出的是数字,java默认为十进制

       

        java语言中各种数制的表示方法:

                 是通过标志来告诉编译器的,告诉编译器当前是什么进制:

                 1、二进制用  0b或0B来表示   这是JDK 1.7之后的新特性

                 2、八进制用  0

                 3、十六进制  0X或0x

                

                 0x常见于源代码中

*/

class Demo1

{

        publicstatic void main(String[] args)

        {

                 System.out.println(10);//java系统中默认的是十进制数

                 System.out.println(0b10);//当做二进制进行解析,转化成十进制打印

                 System.out.println(010);//当做八进制解析,转成十进制打印

                 System.out.println(0x10);//当做十六进制解析,转成十进制打印

        }

}

运行结果

 

 

四、     变量类型

        a、变量类型:

                 1、基本数据类型

                         整  型:

                                  byte  ------ 1字节 ----- 8bit

                                  short------ 2字节 ----- 16bit

                                  int   ------ 4字节 ----- 32bit

                                  long  ------ 8字节 ----- 64bit

                         浮点型:

                                  float------ 4字节 ----- 32bit

                                  double----- 8字节 ----- 64bit

                         字符型:

                                  char------- 2字节 ----- 16bit ----- 无符号

                         布尔型:

                                  boolean---- 1字节 ----- 只有一个bit进行标志

 

                 2、引用类型

                         "HelloWorld !"

 

     b、精度的自动转化

         由于每个数字的精度都一样,这样在负值的时候就有可能出现一些错误,为了避免出现这些错误,我们不能把高精度的字符类型付给低精度的字符类型,如:short  b= int  a。

       精度的比较

                 byte   <  short    <  int  <    long

        flort   <   double

 

 

/**

        输出不同进制的数

 

        1、当直接使用一个数据时,在内存会给他分配空间

        2、这块内存没有别名

        3、称呼这块内存是通过称呼他的值完成的 ----- 字面值

        4、这块内存没别名,以后不可使用,所以二进制位的表示形式不可以再改变 ---- 常量

 

        final修饰的常量

        1、这块内存有别名

        2、通过别名可以找到内存

        3、这块内存使用final做了特殊标记 ---- 编译器发现试图更改他时,会抛出异常

 

        使用字面值常量:

        没有显示的指定数据类型,如果是整型的,系统默认是分配4个byte

        小数型默认8个byte

        字符型是两个字节

        布尔型一个字节

 

 

*/

class VarDemo01

{

        publicstatic void main(String[] args){

                 //System.out.println(1);

                 //finalbyte b = 1;//声明了一个变量,名字是b,对应的内存的值不可以改变

                 //b= 2;

                 //System.out.println(b);

 

                 //整数

                 System.out.println(100);

                 //小数

                 System.out.println(2.34);

                 //字符型

                 System.out.println('A');

                 //布尔型

                 System.out.println(true);

                

        }

}

 

 

 

0 0
原创粉丝点击