一、算数运算符
1、四则运算:
加减乘除余 : +、-、*、/、%
public class helloWorld{
public static void main(String[] args)
{
//定义两个整数类型的变量
int a = 10;
int b = 3;
// +,-,*,/
int c = a + b;
System.out.println(c);
int d = a - b;
System.out.println(d);
int e = a * b;
System.out.println(e);
//int之间做除法是整除
int f = a / b;
System.out.println(f);
float f1 = 10.0f;
//由于f1是float类型,b是int类型,在计算时int类型自动提升为float类型,结果是float
float f2 = f1 / b;
System.out.printf("f2 / b ="+f2);
//取余数
int g = a % b;
System.out.println("\n"+g);
}
}
二、自增自减运算符
1、后加加 注:++和--同理
public class helloWorld{
public static void main(String[] args)
{
//后++
int a = 1;
a++;
System.out.println(a);
int b = 1;
//如果后++和使用这个后加加在一起运算那么使用的时候是加1之前的值,然后变量自身在加1,所以第一个b的输出为1,第二个自身加1,输出为2
System.out.println(b++);
System.out.println(b);
}
}
2、前加加
public class helloWorld{
public static void main(String[] args)
{
//前++
int a = 1;
++a;
System.out.println(a);
int b = 1;
//使用前加加一起运算,使用的是加好1以后的值。输出是2
System.out.println(++b);
}
}
求出C的结果,能更好的理解。
public class helloWorld{
public static void main(String[] args)
{
int a = 1;
int b = 2;
// 1 * 3 + 1 * 3
int c = (a++)*(++b) + (--a)*(b++);
System.out.println("a = "+a); //1
System.out.println("b = "+b); //4
System.out.println("c = "+c); //6
}
}
三、赋值运算符
赋值运算符为 “=”,即等号。
赋值运算符是二元运算符,它的左边必须是变量,不能是常量或表达式。
赋值运算符的含义,是将运算符 “=” 右边的值赋给其左边的变量。
public class helloWorld{
public static void main(String[] args)
{
//等号是赋值
int a = 10;
// += a = a + 10
a += 10;
System.out.println(a);
//定义一个short的变量
short b = 10;
// b = b + 10; 四则运算时有类型提升,像这样会出现错误
b += 10;
System.out.println(b);
short s = 10;
s -= 5; //s = s - 5
System.out.println(s);//5
short s1 = 10;
s1 %= 3; //s1 = s1 % 3
System.out.println(s1); //1
}
}
四、比较运算符
等于: ==
不等于:!=
大于: >
大于等于:>=
小于: <
小于等于: <=
public class helloWorld{
public static void main(String[] args)
{
int a = 10;
int b = 11;
//比较数据类型的结果是boolean类型
boolean result = (a != b);
System.out.println(result); //false
System.out.println(a <= b ); //true
System.out.println(a != b ); //true
System.out.println(a >= b ); //false
}
}
五、逻辑运算符
与:& (只要有一个表达式为false,结果就为false)
public class helloWorld{
public static void main(String[] args)
{
int math = 60;
int china = 89;
//&的作用就是判断两边的表达式是否为true,必须要两个都为true,其结果才为true
boolean resule = (math >= 60) & (china >= 60)
System.out.println(resule); // true
}
}
或:| (只要有一个表达式为真,它的结果就是真true)
public class helloWorld{
public static void main(String[] args)
{
int math = 50;
int china = 89;
//|的作用就是判断两边的表达式是否为true,只要有一个为true, 其结果就是true
boolean resule = (math >= 60) | (china >= 60);
System.out.println(resule); // true
}
}
双与号:&& (作用和单与号一样,只是运行效果不一样)
public class helloWorld{
public static void main(String[] args)
{
int math = 50;
int china = 89;
//单&号不够智能,即使前面的表达式能决定总体结果,后面的表达式依然要计算。
//双与号(断路与),前面的表达式的计算结果能决定总体结果,后面的表达式就不计算
boolean resule = (math >= 60) && (china >= 60);
System.out.println(resule); // flase
}
}
双或号:|| (同上,只要有一个表达式可以决定总体结果,另一个表达式就不参与运算。比较智能)