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
网友评论