变量和基本数学运算
1. 什么是变量
- 几乎所有的编程语言,都需要变量来临时存储一些需要处理的数据。
- 变量需要先声明(定义),后使用。
- 一个变量只能声明(定义)一次!声明后可重复使用。
Java
是强制类型定义的,就是说:在定义一个变量的时候,需要给出数据类型,比如
int theFirstVariable = 10;
上面int
就是告诉电脑你要定义一个普通整数的变量,theFirstVariable
是这个变量的名字,=
是给变量赋值。因此上面的代码表示
定义一个名叫
theFirstVariable
的int
类型整数变量,并给它赋值10
。
2. 如何定义一个变量
定义一个变量有两种方式: (1) 先声明,后初始化赋值
int a; // 先声明一个叫a的int型变量,未初始化赋值
a = 10; // 再给a赋值为10,因为前面已经声明过a是int型整数,使用的时候就不用写int了。
(2) 同时声明和初始化赋值
int a = 10;
3. 变量可根据需求重复赋值
int a = 10; // 这里a=10
a = 15; // 这里我们重新给a赋值为15。
我们甚至可以这样给变量赋值:
int a = 10; // 创建int型变量a,并令a=10
a = a + 5; // 先计算右边a + 5 = 15(此时a还是等于10),然后将计算结果 15 再赋值给a(a的值被更新为15)
- 编程中,
=
是赋值的意思:将等号右边的值(如果需要,先计算结果),赋给等号左边的变量。
可以自己做实验检验上述结果。
4. 基本数学运算
基本的加减乘除和我们书写数学式子是一样的,在Java中是+ - * /
比如:
- 例1. 计算圆的周长和面积
double radius = 10.;
double PI = 3.14159;
double perimeter = 2 * radius * PI;
double area = radius * radius * PI;
System.out.println("perimeter = " + perimeter); // 这里的加号是连接字符串
System.out.println("area = " +area);
注:因为上面的π是常数,我们可以用Math.PI
来替换π的值, Math.PI
是Java提供的π的值。
double radius = 10.;
double perimeter = 2 * radius * Math.PI;
double area = radius * radius * Math.PI;
//打印结果
System.out.println("perimeter = " + perimeter);
System.out.println("area = " +area);
5. 其他数学运算
(1) 乘方 - Math.pow(底数,指数)
- 例2. 上述求面积的计算可替换为
double area = Math.pow(radius, 2) * Math.PI;
其中,Math.pow(底数,指数)
是Java
提供的求幂的函数,我们这里直接调用了这个方法,并且给出底数(第一个参数)和指数(第二个参数),两个参数都是double
类型的参数,且Math.pow()
计算结束,会返回一个double类型的幂。
(2) 开平方 - Math.sqrt(被开方数)
- 例3. 已知圆的面积,求半径
double area = 10.; double radius = Math.sqrt(area / Math.PI); // 先计算面积除以Pi,然后再开方 // 打印结果 System.out.println("radius = " + radius);
这里,因为开平方只需要一个参数:被开方数,所以我们只需要先将
area
除以$ PI$,再将结果传递给Math.sqrt()
这个函数。
更多运算请查看Java
提供的Math
包。
(3) 求余数
int m = 17 % 3; // 求17除以3的余数
System.out.println(m); // 2
6. 一些奇怪的运算写法
int a = 5; // 先给a赋值为5
a += 3; // 等价于 a = a + 3
System.out.println("calculate 'a+=3' \t a = " + a);
a = 5; // 复原a的值为5
a *= 2; // 等价于 a = a * 2
System.out.println("calculate 'a*=2' \t a = " + a);
int i = 10;
i++; // i 自增 1,类似的写法有++i,与i++有区别
System.out.println("The magic 'i++' \t i = " + i);
i = 10; // 复原i的值为 10
i--; // i 自减 1,类似的写法有--i,与i--有区别
System.out.println("The magic 'i--' \t i = " + i);