#复习上节#
——变量在使用前,必须赋值
——赋值时,不能将表示范围大的变量值赋值给表示范围小的变量,只能强制类型转换;赋值是否成功,取决于数值类型
1.当有若干变量参与运算时,结果的类型,取决于这些变量中,表示范围最大的那个变量类型
比如参与运算的变量有int,double,short,那么最后的结果类型是——double!
eg. int a = 1;
int b = 2;
int c = a / b;
输出 c == 0;//而非预期的0.5。a和b都是int类型,数学上来说应该是0.5,但是0.5并不是int类型。会将结果的小数部分舍弃掉。
eg. double a = 1;
int b = 2;
int c = a/b;
报错了!double a除以int b最后得到的结果是double类型,参与运算的结果类型取决于范围大的那个变量类型,即double。
但是在最后一步赋值到c的时候,不能将double赋值给int,因为double表示范围大于int,不能将范围大的值赋值到范围小的变量。
eg.想要让1/2等于0.5——强制类型转换
int a = 1;
int b = 2;
double c = (double)a/b; //强制类型转换时a本身没有变化。(double)a相当于一个匿名变量
此时输出为0.5
2.余数——取模运算符——%
余数的符号永远与分子的符号相同!
eg.
int a = 5;
int b = 3;
int c = a%b; //余数应该为2
输出:2
eg.
int a = -5;
int b = 3;
int c = a%b; //-5除以3等于-1余-2
输出:-2
eg.
int a = 5;
int b = -3;
int c = a%b;//等于-1余2
输出:2