美文网首页
2018-08-14

2018-08-14

作者: johnny76 | 来源:发表于2018-08-14 20:56 被阅读0次

    Java变量、数据类型、运算符和分支结构

    变量概述

    采用一个方便记忆的名称来代替数据在内存中的实际地址,这个名称就是变量

    一、为什么需要变量 <div class="mdContent">

    什么是内存

    计算机包括显示器,cpu,主板,内存,硬盘等部件。内存是计算机用来保存计算时所需数据的部件。当java 程序运行时,也是通过内存存储这些运行期间的数据。

    内存怎么存数据呢?
    举个生活中的栗子

    客人去宾馆开房,宾馆需要给客人安排一个房间。每个房间有一个唯一的房间号。

    同样道理

    同样道理,为了在内存中存储数据,内存也要为每个数据分配一块空间,每一块空间有一个唯一的地址。

    如何表示数据占用一块空间的大小--s字节

    位是计算机中最小的数据存储单位,每一位只能存0或1。8个2进制位构成一个字节,是存储空间的基本计量单位。一个字节可以存储一个英文字母或者半个汉字。换句话说一个汉字占2个字节存储空间。
    我们存储在计算机中的数据都是按字节来计算占用空间的。比字节大的 大家都听说过 kB, MB, GB, 而这个B 就是字节。每个字节又是由8位0和1组成的。这种只有0和1的数字进制叫二进制。

    二进制和十进制如何转换

    二进制只有0,1两个值,十进制由0 到 9 十个数,那么他们之间怎么转换呢?

    十进制转二进制算法如下

    十进制转二进制 采用 “除2取余,逆序排列”,具体做法:
    用2去除10进制整数,可以得到一个商和余数;再用2去除商,又可以得到一个商和余数,如此进行,直到商为0为止,然后把先得到的余数作为二进制低位,后得到的余数作为二进制高位,依次排列起来。

    二进制转十进制算法如下

    二进制转十进制 从二进制最后一位开始计算,依次列为第0,1,2...位,第n位数乘以2的n 次方,得到的结果相加,就是答案。

    如何表示数据占用一块空间的地址

    内存采用分块存储数据。每一块都相互对立。如果要找到这个数据的话,必须知道这个数据在内存中的地址。但是内存中地址通常用16位进制表示,其取值范围为0x00000000-0xffffffff. 如果让你记忆一两个这种地址还可以,如果有很多这种16位进制地址就很难记忆了。那么如何简化对内存地址的记忆?</div>

    二、什么是变量 <div class="mdContent">

    采用一个方便记忆的名称来代替内存实际地址,这个名称就是变量 </div>

    三、怎么使用变量 <div class="mdContent">

    使用变量包括 声明变量和为变量赋值两部分
    1 声明变量

    语法 数据类型 变量名

    举个栗子
    int i;
    double d;
    char c;
    
    变量名命名规则

    ,或英文字母,或下划线开头,后面可以是,英文字母,下划线及数字的组合;
    Java 中变量名称严格区分大小写;
    在定义名称时,为提高阅读性,名称应该尽量有意义。

    数据类型说明参见数据类型节
    2变量赋值

    语法 变量名 = 值;

    举个栗子
    i=1;
    d=1.1;
    c='A';
    
    步骤1,2可合并为一步
    举个栗子
    int i = 1;
    double d = 1.1;
    char c = 'A';    </div>
    

    四、什么时候 在哪使用变量 <div class="mdContent">

    当需要描述数据的时候,我们就需要定义变量

    举个栗子

    当使用程序计算 1+2=? 的时候,就需要定义三个变量
    int one=1;
    int two=2;
    int result = one + two;</div>

    五、常见错误分析 <div class="mdContent">

    1 变量没有赋值就使用, 例如 i=2;
    2 变量名称重复 例如 int var1=1;
    int var1=2;
    3 变量命名不符合定义规则 例如 int 1var
    </div>

    六、变量小结 <div class="mdContent">

    1 当需要描述数据的时候,需要定义变量
    2 变量命名规则

    数据类型概述

    数据类型描述数据是属于哪一种类的。Java 中包括8种基本数据类型 byte, short, int, long, float, double, boolean, char

    一、什么是数据类型 <div class="mdContent">

    举个栗子

    生活中数据类型包括 文字,数字,图片,声音,视频等种类

    同理

    java中的数据可以分为若干种类型。 Java中包括8种基本数据类型 byte, short, int, long, float, double, boolean, char</div>

    二 变量完整描述<div class="mdContent">

    首先 使用一个名称来简化对一个数据的内存地址的记忆
    其次 使用数据类型描述这个数据属于哪一类数据
    最后 给这个数据一个符合数据类型的值来初始化这个数据
    总结 一个完整的变量包括三部分: 数据类型 变量名称 值

    举个栗子

    int var1=1;
    char var2='A';</div>

    三 JAVA八种基本数据类型<div class="mdContent">

    整数型

    byte 可以用来存储0,1,2 ...;占用一个字节长度存储一个变量;从 -128 到 127 共3位
    short
    int 可以用来存储0,1,2 ...;占用4个字节长度存储一个变量;从-2147483648 到 2147483647 共10位
    long 可以用来存储0,1,2 ...;占用8个字节长度存储一个变量; 共19位

    图1

    浮点型

    float 用来保存小数 3.14;占用4个字节长度存储一个变量;从-3.403E38 到 3.403E38
    double 用来保存小数 3.14;占用8个字节长度存储一个变量;从-1.798E38 到 1.798E38

    图2

    字符型 char

    可以存储 'A', 'b','男' ... 等字符
    占用两个字节存储一个变量
    只能存储长度为1的字符

    逻辑型 boolean

    值只有 true 和 false 两个</div>

    四 数据类型之间的转换<div class="mdContent">

    为什么需要类型转换

    因为计算机对不同的数据类型有不同的保存方式,例如:int(整型)类型,占4位。而double(双精度)类型占8位。当高位转向低位的时候,如果不进行类型转换,就会造成数据溢出。为保护数据信息,需要进行数据类型转换

    类型转换前提条件

    1)两种类型是彼此兼容的
    2)转换的目的类型占得空间范围一定要大于转化的源类型

    类型转换分类

    自动类型转换
    由低字节向高字节自动转换,byte->short->int->long->float->double
    强制类型转换
    由高字节向低字节转换,可能丢失精度。 int a=(int)3.14;

    一、赋值运算符 <div class="mdContent">

    举个栗子

    1.将值赋给变量 int i=10;
    2.将表达式赋值给变量
    int i= 10;
    int b=(i+3)*(i+5);
    。。。等等

    注意此处的(i+3)*(i+5) 就是表达式。表达式往往通过计算一个结果,然后将结果赋给一个变量。
    什么是赋值运算符

    在给某个变量赋值时,使用“=”号赋值,那么“=”就是赋值运算符。通过赋值运算符把某个值赋给变量或者把某个表达式的值赋给变量。表达式就是符号与操作数的结合。
    </div>

    二、算数运算符 <div class="mdContent">

    举个栗子

    int a=1;
    int b=2;
    int c=a+b;
    上述代码中变量c的值就是变量a加上变量b的和。
    程序中的算数运算符与数学中的算数运算符基本一致。所以在使用中应该遵循数学中算数运算符的使用规则,如
    1 先乘除,后加减
    2 有括号先计算括号内的值
    3 除数不能为0

    什么是算数运算符

    算数运算符用在数学表达式中,它们的作用和在数学中的作用一样。下表列出了所有的算数运算符
    表格中假设整数变量A的值为10,变量B的值为20.

    图3

    取余数操作

    如果需要取两个数的余数,那么需要使用“%”来进行计算,

    举个栗子

    获取5和3的余数
    int i=5%3 //获取5除以3的余数,i的值为2

    自赠自减操作
    前自增(++x)前自减(--x)
    前自增自减是先进行自增或自减运算,再进行表达式运算
    举个栗子

    int a=3;
    int b=++a;
    int c=3;
    int d=--c;
    System.out.println("a的值"+a);
    System.out.println("b的值"+b);
    System.out.println("c的值"+c);
    System.out.println("d的值"+d);
    a的值4
    b的值4
    c的值2
    d的值2

    后自增(x++)后自减(x--)
    后自增自减是先进行表达式运算,再进行自增或自减运算
    举个栗子

    int a=3;
    int b=a++;
    int c=3;
    int d=c--;
    System.out.println("a的值"+a);
    System.out.println("b的值"+b);
    System.out.println("c的值"+c);
    System.out.println("d的值"+d);
    a的值4
    b的值3
    c的值2
    d的值3</div>

    三、关系运算符 <div class="mdContent">

    举个栗子

    int a=10;
    int b=20;
    System.out.println("a==b="+(a==b));
    System.out.println("a!=b="+(a!=b));
    System.out.println("a>b="+(a>b));
    System.out.println("a<b="+(a<b));
    System.out.println("b>a="+(b>a));
    System.out.println("b<a="+(b<a));
    其结果为
    a==b=false;
    a!=b=true;
    a>b=false;
    a<b=true;
    b>a=true;
    b<a=false;

    什么是关系运算符

    下表列出了所有的关系运算符
    表格中假设整数变量A的值为10,变量B的值为20.

    图4

    “=”和“==”的区别</div>

    四、运算符优先级 <div class="mdContent">

    算数运算符>关系运算符>逻辑运算符

    练习题 </div>

    1.定义一个变量,类型int,名称 var1


    1. question[int&var1]type[2]filePath[/Demo/com/lanou/var/Var01.java]~
      1.定义三个变量,第一个变量 类型int,名称 var1,值10;第二个变量 类型float,名称 var2,值5.1f;第三个变量 类型float,名称 var3, 将 var1 加上var2 并赋值给 var3。 要求输出var3的值。 [1]:question[int&var1&float&var2&float&var3&15.1f]type[2]filePath[/Demo/com/lanou/dataType/DataType01.java]~

    相关文章

      网友评论

          本文标题:2018-08-14

          本文链接:https://www.haomeiwen.com/subject/cplbbftx.html