1.基本的算术运算符
5个:+ - * / %
都是双目运算符(两个操作数),其中%要求的两个操作数必须为整数。
2.自增、自减运算符
++ --
注意作为前缀和后缀的用法不同.
3.表达式计算中的数据类型转换
(1)自动类型转换:当参与运算的两个操作数类型不同时,先把低类型的数据转换为高类型,然后再计算。
(2)强制类型转换:当自动类型转换不能满足要求时,用强制类型转换。
比如,float x= 2.5;
是错误的,原因是: 2.5是double类型,赋给低类型的float变量时会丢失部分数据。
改正方法:
float x= (float)2.5;
或
float x= 2.5f;
Math.方法名(参数)
比如,
Math.pow(2,3) //计算2的3次方
Math.sqrt(a) //计算a的开平方值
这两个方法的返回值(即计算结果)都是double类型
关系运算符与关系表达式
\6个: > < >= <= == !=
关系表达式:4<5 3==7 a>b 等
关系表达式的值:true false
结合方向: 从左向右
优先级:> < >= <= 高于 == !=
关系运算符 低于算术运算符、高于赋值运算符
比如,y= 34>7
先计算 34,再判断12>7,最后将false赋给y
逻辑运算符
&& || !
比如,以下是3个逻辑表达式:
h<j || x< y
score>=90&&score<=100
!ture
运算符的优先级与结合方向
(由高到低)
! 、算术运算符、关系运算符、 && 、 || 、赋值运算符
结合方向:逻辑非(!)是自右向左,其他是自左向右
类的定义
类是自定义的复杂的数据类型,对象是类的一个实体/变量。
类的一般结构:
[修饰符] class 类名{
数据成员
方法成员
}
其中,修饰符常用public或者省略;
class是定义类的关键字;
类体包括数据成员和方法成员,数据成员用于描述属性/数据,方法成员用于描述对属性/数据的行为/操作。
比如,以下是描述一个“圆”的类,属性/数据成员包括半径和面积,方法成员包括设置半径和获取面积两个 。
class Circle{
double radius;
double area;
public void setRadius(double r)
{
radius = r;
area = 3.14radiusradius;
}
public double getArea()
{
return area;
}
}
用类定义对象
对象的定义包括声明对象和创建对象两个操作,比如前面我们用过的:
Scanner sc = new Scanner(System.in); //定义一个输入对象sc
Random rd = new Random(); //定义一个随机数变量 rd
Circle c1 = new Circle(); //定义一个圆 c1
通过对象可以使用类的方法,比如:
调用Random类的方法nextInt(),生成一个20以内的整数
int op;
op = rd.nextInt(20);
//调用Circle类的方法setRadius(),设置圆c1的半径和面积
c1.setRadius(5);
//调用Circle类的方法 getArea(),获取圆c1的 面积,并输出
System.out.println(c1.getArea());
数组是引用类型
数组名是一个引用类型的变量,引用给数组分配的一片连续的空间的首地址。
比如,
int[] a={1,2,3}, b={100,200,300};
其中,数组名a保存的是数组元素1的地址,数组名b保存的是数组元素100的地址;换句话说,a是对数组{1,2,3}的引用,b是对数组{100,200,300}的引用。
若执行: a=b;
不是将数组b中的元素逐个赋给a(即数组{1,2,3}中的值并无变化),而是将数组b的引用赋给a,此时a引用的是数组b,即a和b引用的都是数组{100,200,300}。