基础复习

来源:互联网 发布:免费下载源码的网站 编辑:程序博客网 时间:2024/05/19 02:23

常量

常量就是不可改变的数值

大概分为以下六种:

           1.整数常量。包括所有整数
               对于整数有四种表现形式:
               二进制,0、1,满2进1
               八进制,0-7,满8进1,从0开头表示
               十进制,0-9,满10进1
               十六进制,0-9,A-F,满16进1,用0x开头表示。


           2.小数常量。包括所有小数


           3.布尔常量。较为特有,只有两个数值,true false
, true false同时是关键字
            
           4.字符常量。将一个数字字母或符号用单引号(‘’)标识,“单引号里只能放单个数字,字母,符号,一个也没
 有不可以”
            
           5.字符串常量。将一个或多个字符用双引号("")标识


           6.null常量。只有一个数值就是null

不同进制的表现形式

   二进制的数据表现形式:二进制加0b
   八进制的数据表现形式:八进制加0
   十进制的数据表现形式:十进制无标示
   十六进制的数据表现形式:十六进制加0x,x不分大小写。10到15分别用a到f表示,不分大小写

任意进制到十进制的转换

“系数*基数^权次幂”
           十进制             10
           二进制             2
           八进制             8
           十六进制           16
                        例:十进制转十进制:
              12345=1*10^4+2*10^3+3*10^2+4*10^1+5*10^0
                   =10000+2000+300+40+5
                   =12345

十进制到任意进制的转换

“除积到取余”
           十进制           10
           二进制            2
           八进制            8
           十六进制          16
                     例:        37 除10=3余7
                                 3再除10=0余3 
                                    所以为37
                                 37 除2=18余1
                                 18再除2=9余0 
                                  9再除2=4余1 
                                  4再除2=2余0
                                  2再除2=1余0
                                  1再除2=0余1
                                  所以为100101  

8421码  

                 1        1        1        1       1         1        1        1
              1*2^7  1*2^6  1*2^5  1*2^4  1*2^3  1*2^2  1*2^1  1*2^0
               128       64      32     16       8        4        2         1

变量

内存中的一个存储区域
        该区域有自己的名称(变量名)和类型(数据类型)
        该区域的数据可以在同一类型范围内不断变化

用来不断存放同一类型的常量,并可以重复使用

数据类型 变量名=初始化值

变量的作用范围(一对{}之间有效)

数据类型

分为基本数据类型和引用数据类型

基本数据类型:分为四类八种

        byte  占1个字节,取值范围是—128到+127
        short 占2个字节,取值范围是—2^15到+2^15+1
        int   占4个字节,取值范围是—2^31到+2^31+1,整数默认数据类型
        long  占8个字节,取值范围是—2^63到+2^63+1
        float 占4个字节,单精度,没有指定大小
        double占8个字节,双精度,浮点型默认数据类型
        char  占2个字节,取值范围是0到65535
        boolean占八分之一个字节只有true和false

引用数据类型:

      接口和数组

练习

class Demo1 {            public static void main(String[] args) {byte b=100;short s=1000;int i=10000;long l=1234567890000L;//如果long的值大于int范围必须在数值结尾加L,注意尽量大写,否则容易看成数字1//浮点类型float f=11.2f;//此处数值后如不加f(不分大小写),会报错,因为小数数据类型默认为double,所以会损失精度double d=11.2;//字符类型char c1='a';char c2='0';char c3='中';//字符中可以储存有汉字,因为Java是unicode编码,char占用两个字节,而汉字也是两个字节//布尔类型boolean b1=true;boolean b2=false;//System.out.println(l);}}
使用变量注意事项
class Demo2 {public static void main(String[] args) {int i=10;i=20;                   //这是一个赋值动作,可以把初始化值覆盖掉System.out.println(i);int x;                     //变量使用前必须赋值,System.out.println(x);int a,b,c;               //一条语句可以声明多个变量a=10;b=20;c=30;System.out.println(a);System.out.println(b);System.out.println(c);}}

自动类型提升与强制类型转换

class Demo3 {public static void main(String[] args) {/*int i=100;byte b=30;              //自动类型提升(隐式转换)i=i+b;System.out.println(i);*/int i=100;byte b=50;b=(byte)(i+b);        //强制类型转换System.out.println(b);}}
变量相加与常量相加的区别
 class Demo4 {public static void main(String[] args) {byte b,b1,b2;b1=3;b2=4;b=b1+b2;       //此处报错,原因是b1,b2 是byte类型变量,在运算中自动提升为int类型,                       //因为b1,b2变量原因,Java无法获取其具体值1b=3+4;        //3,4是两个常数,Java有一个常数优化机制,在编译时直接将常数相加结果算出并赋值//问这两种编译哪种会报错?System.out.println(b);}}

 数据类型转换之默认转换
     byte,short,char -- int -- long -- float -- double
    
   float和long它们底层的存储结构不同。
    float表示的数据范围比long的范围要大
         long:2^63-1
         float:3.4*10^38 > 2*10^38 > 2*8^38 = 2*2^3^38 = 2*2^114 > 2^63-1

 字符char可以存储一个中文汉字吗?为什么呢?
    可以。因为Java语言采用的是Unicode编码。Unicode编码中的每个字符占用两个字节。
    所以,Java中的字符可以存储一个中文汉字

字符和字符串参与运算

'0'--------48

'a'--------97

'A'--------65

class Demo5 {public static void main(String[] args) {System.out.println("Hello World!"+'a'+1);//任何数据用+和字符串相连接,会产生新的字符串
}}


0 0
原创粉丝点击