第1周 计算
1.0 计算机与编程语言
计算机如何解决问题
当我们想使用一个应用的时候,第一反应肯定是去app市场找,找不到的话再尝试自己写一个。
学习编程语言,主要目的不在“自己写一个程序”,而是能够理解计算机是怎么工作的、计算机擅长做什么样的事情、计算机能做什么事情。
抽象思维:所有的程序,流程都很简洁;只是输入输出数量多少、处理的复杂或简单
1.3 浮点数计算
整数与浮点数
整数 | 浮点数 | |
---|---|---|
类型 | int | double |
举例 | 10 | 10.0 |
读入方式 | int foot = in.nextInt() | double inch = in.nextDouble() double inch = in.nextInt() |
除法 | 整数除法是模运算 | 当浮点数和整数放到一起运算时, Java会将整数转换成浮点数,然后进行浮点数的运算。 |
计算误差 | 整数能进行精确计算2-1=1 | 浮点数计算有误差1.2-1.1=0.99999987 |
运算符优先级
- 括号()的优先级最高
- 单目运算符:只有一个算子的运算符:+、-;优先级最高
int a = 10;
int b = -10;
System.out.println(a*-b);
//10 * -(-10) = 100
- 结合关系:一般自左向右;单目±和赋值=自右向左 /// 赋值优先级最低
result=a=b=3+c; //3+c算好 => b => a => result
result=2;
result=(result=result*2)*6*(result=3+result);
//先算(result=result*2) => result = 4
//再算(result=3+result) => result = 7
//赋值result = 4*6*7
//结果为result = 168
强制类型转换: (类型)值
把浮点数变成整数:
int i = 32/3.0; ❌
int i = (int)(32/3.0) ✅
强制类型转换不改变原来的值,只是酸楚的一个新的值作为结果拿出来
int foot;
foot = (int)30/3.0;❌ //只把30转换了
foot = (int)(30/3.0);✅ //把结果转换