JAVA运算符
计算机的最基本用途之一就是执行数学运算,作为一门计算机语言,Java也提供了一套丰富的运算符来操纵变量。
我们可以把运算符分成以下几组:
算术运算符、关系运算符、位运算符、逻辑运算符、赋值运算符、其他运算符
算数运算符
注意:
1. ++变量:变量自己加1。
2. --变量:变量自己减去1。
3. 变量++:先进行运算,运算完成之后变量自己加1。
4. 变量–:先进行运算,运算完成之后变量自己减1。
public class note {
public static void main(String[] args) {
int a = 1;
int b = 2;
int c = 3;
int d = 4;
System.out.println(a++);
System.out.println(++b);
System.out.println(c--);
System.out.println(--d);
}
}
输出结果:1 3 3 3
关系运算符
位运算符
public class Test {
public static void main(String[] args) {
int a = 60;
int b = 13;
int c = 0;
c = a & b;
System.out.println("a & b = " + c );
c = a | b;
System.out.println("a | b = " + c );
c = a ^ b;
System.out.println("a ^ b = " + c );
c = ~a;
System.out.println("~a = " + c );
c = a << 2;
System.out.println("a << 2 = " + c );
c = a >> 2;
System.out.println("a >> 2 = " + c );
c = a >>> 2;
System.out.println("a >>> 2 = " + c );
}
}
输出结果:
a & b = 12
a | b = 61
a ^ b = 49
~a = -61
a << 2 = 240
a >> 2 = 15
a >>> 2 = 15
逻辑运算符
//==符号判断的是内存地址 String(为常量) 关系运算符得到的是布尔值
// String a1="zz";
// String a2="zz";
// System.out.println(a1==a2);
// 逻辑运算符&& || ! & |
// &&和&都是表示与,区别是&&只要有一个条件不一样就是不满足,
//如果第一个条件就是不满足就不判断后面的条件。而&要对所有的条件都进行判断。
// if ((2!=2)&&(1==1)){
// System.out.println("true");
// }else {
// System.out.println("false");
// }
三元运算符
格式:数据类型 变量名 = 布尔类型表达式?结果1:结果2
练习题:比较数字大小
// 三元运算符(? : 条件表达式 如果条件为真 ? 则值为 X : 否则值为 Y)
// 比较a1 a2 a3的大小(方法一)
// int a1=180;
// int a2=185;
// int a3=190;
// int max1=(a1>a2?a1:a2);
// int max2=(max1>a3?max1:a3);
// System.out.println(max2);
// (方法二)
// int max=(a1>a2?a1:a2)>a3?(a1>a2?a1:a2):a3;
// System.out.println(max);
// 通过创建对象,使用对象名调用方法
// TestDay02_02 t=new TestDay02_02();
// t.add(2,3);
/**
*方法二中的调用方法
*/
package com.fjr;
public class TestDay02_02 {
// 修饰符+返回类方法名+参数列表{
// 方法体
// }
// void表示该方法没有返回值
public void add(int a,int b){
int c=a+b;
System.out.println(c);
// return c;(报错,因为void是没有返回值)
}
public void x(int a1,int a2,int a3){
int max=(a1>a2?a1:a2)>a3?(a1>a2?a1:a2):a3;
System.out.println(max);
}
public static void main(String[] args) {
TestDay02_02 m=new TestDay02_02();
m.x(180,185,190);
}
}
赋值运算符
public static void main(String[] args) {
int a = 3;
int b = 3;
int c = 3;
int d = 3;
int e = 3;
a += 5;
System.out.println(a);
b -= 5;
System.out.println(b);
c *= 5;
System.out.println(c);
d /= 5;
System.out.println(d);
e %= 5;
System.out.println(e);
}
输出结果:8 -2 15 0 3