java编程之旅第三章——变量上(变量概述和数据类型概述)

来源:互联网 发布:mac这么下载阿里旺旺 编辑:程序博客网 时间:2024/05/16 14:39

前言:

  其实在熟悉数据类型之前应该先了解一下计算机底层的运算(我们的课程安排是这样的),包括进制的概述,进制之间的转换(二进制,八进制,十进制,十六进制)等等,但是由于那些比较晦涩难懂,本人水平有限,而且在以后的java学习中暂时用不到 ,所以先不进行介绍。

 变量

 1、概述:上一章我们了解了一下什么是常量,与此对应的还有变量,下面让我们来了解一下什么是变量。



     what:在程序执行过程中,其值在某个范围内可以发生改变的量(例如电脑的价钱),理解起来就是数学中的未知数;
     why:用来不断存储同一个类型的常量,并可以不断重复使用。
  

 2、定义变量的格式:

(1)数据类型 变量名 = 变量值;//(注意:格式是固定的 ,以不变应万变)


 3、变量的初始化:

(1)以苹果的价钱举例

               上午的苹果比较新鲜卖10元/kg,但是到了下午就变成了7元/kg,那么10就是变量的初始化值。套用上边的格式就是:

int(数据类型) a(变量名) = 10(初始化值);
代码实现:int a = 10;

System.out.println(a);//输出结果为10

       这样我们就完成了变量初始化,格式中出现的数据类型我们下面讲,另外"="是一个赋值运算符,与数学中的意义不一样

         (2)还有第二种定义格式,也很常见这里简单介绍下

            int a;//声明
            b2 = 100;//赋值
            System.out.println(b2);//使用//输出结果:100


 数据类型:

   1、数据类型概述:

         java是一种强类型的语言,这就意味着必须为每一个变量声明一种类型。在java中,一共有八种基本类型,其中有四种整型,2种浮点型,一种用于表示Unicode编码的字符类型char和一种用于表示真假值的boolean类型(参考java技术卷1第九版)。


   2、数据类型的分类

    * A:基本数据类型

    * B:引用数据类型(类,接口,数组)(以后讲)


          2.1、基本数据类型

         A:区别 在内存中分配的空间大小不同,从而导致它表示的数据范围不同


         B:4类8种
           整数
            * byte 占1个字节//8个开关,8个二进制位 1byte = 8bit
            * short 占2个字节
            * int 占4个字节0
            * long 占8个字节 其后加L或l标识

        * 浮点数
        * float 占4个字节 其后加F或f标识3.3f  
            * 32个二进制位
            * 1位符号位
            * 8位代表指数位 
            * 23位尾数位0.9999999
            * 0000000000 - 111111111  0 - 255
            * IEEE 754   0 255 特殊的值
            * 1 - 254  - 127
            * 1 - 127 = -126
            * 254 - 127 = 127 
   
        * double 占8个字节
        * 字符
            * char 占2个字节  0 - 65535

   注:英文字符和中文字符都是占两个字节。

        * 布尔型:boolean
            * 这个数据类型代表一个比特的信息,但它的“大小”不是精确定义的东西. 
            * 布尔类型的数据只有两个true和false
注:计算机中最底层是用二进制表现的,最基本单位为bit。具体换算如下:
byte b 
1B = 8bit;
1KB = 1024B;
1MB = 1024KB;
1GB = 1024MB;
1TB = 1024GB;
注意:long类型在定义的时候  初始化值哪里需要加上后缀L(l),建议写大写;
        float类型在定义的时候  初始化值哪里需要加上后缀F(f);


编译器在处理整数类型的时候,它会将你的常量做一一个判断,
如果这个常量范围在int范围内,就不报错,然后在去判断这个常量数据在不在

你定义的那个数据类型的范围内,如果在就不报错.


C:默认情况下:

             * 整数是int类型

             * 浮点数是double类型


 2.2:练习:定义不同类型的数据;  



      class DataTypeDemo {
public static void main(String[] args) {
//定义变量格式  
byte b  = 10;
System.out.println(b);
short s = 100;
        System.out.println(s);
int i = 1000 ;
System.out.println(i);
//int i2 = 100000000000;//错误: 过大的整数: 100000000000 
//原因:整数默认是int类型,100000000000超出了int类型范围
long l = 100000000000L;//错误: 过大的整数: 100000000000
        System.out.println(l);

long l2 = 12345L;
        System.out.println(l2);

//float f = 12.34;// 错误: 可能损失精度
//原因:浮点数默认是 double类型的
float f = 12.34f;
System.out.println(f);


double d = 23.345;
        System.out.println(d);


//字符类型
char c = ' ';
char c2 = 'A';
char c3 = 'b';
char c4 = '3';
        System.out.println(c);


//布尔类型
boolean flag = true;
   System.out.println(flag);

3.注意事项:

       a:作用域问题

变量定义在哪一级大括号中,哪个大括号的范围就是这个变量的作用域。
相同的作用域中不能定义两个同名变量。


b:初始化值问题.没有初始化值不能直接使用

举例:
int a ;
System.out.println(a);//会报错,必须对其初始化赋值


c:在一行上建议只定义一个变量,可以定义多个,但是不建议

举例;int a,b,c;
     int d;int e;
0 0
原创粉丝点击