算术运算符
关系运算符
布尔运算符
位运算符
赋值类运算符
字符串连接运算符
条件运算符
其他运算符
+ - * / % ++ –
求和 相减 成绩 商 求余数 自加1 自减1
一个表达式当中有多个运算符,运算符有优先级,不确定的加小括号,优先级得到提升。
public class Java_01{ public static void main(String[] args){ int i = 10; int j = 3; System.out.println( i + j); //13 System.out.println( i - j); //7 System.out.println( i * j); //30 System.out.println( i / j); //3 System.out.println( i % j); //1 // 以下以++为例子 int k = 10; k++; //++运算符可以出现在变量后「单目运算符」 System.out.println(k); //11 int y = 10; // ++运算符可以出现在变量前面「单目运算符」 ++y; System.out.println(y); //11 //小结: ++i 和i++ 结束,该变量值都自加1 int a =100; int b = a++; System.out.println(a); // 101 System.out.println(b); // 100 先对变量进行赋值,在进行运算。 int m = 20; int n = ++m; System.out.println(m); //101 System.out.println(n); //101 先进行自加1运算,再进行赋值操作。 int xx =500; System.out.println(xx); int e = 100; System.out.println(e); //100 System.out.println(e ++); //100 System.out.println(e); //101 System.out.println(++ e); //102 } }
public class Java_01{ public static void main(String[] args){ int s = 100; System.out.println(++s); //101 System.out.println(s); //101 System.out.println(s--); //101 System.out.println(s); //100 System.out.println(s++); //100 System.out.println(s); //101 System.out.println(s--); //101 System.out.println(s--); //100 System.out.println(s--); //99 System.out.println(s); //98 }
关系变量符 比较的 是 变量中 保存的值 的关系大小的比较。
/* 关系运算符: > 大于 < 小于 >= <= == 等于 != 不等于 注意区分: = 是赋值运算符,==是关系运算符 关系运算符的运算结果一定是布尔类型: True 或 Flase */ public class Java_01 { public static void main(String[] args) { int a = 10; int b = 10; System.out.println( a > b); // false System.out.println( a >= b); // true System.out.println( a < b);// false System.out.println( a <= b);// true System.out.println( a == b);// trie System.out.println( a != b);// false } }
/* 逻辑运算符 & 逻辑与 两边算子都是true,结果才是true。 | 逻辑或 两边的算子只要有一个是true,结果就是true。 ! 逻辑非 取反,false取反就是ture, !true取反就是false。(属于单目运算符) ^ 逻辑异或 两边算子不一样,结果为true。 && 短路与 || 短路或 逻辑运算符特点: 1.逻辑运算符 要求 两边的算子都是布尔类型, 并且 逻辑运算符的最终结果也是 布尔类型、 2.短路与 和 逻辑与 最终结果一样,只不过 短路与 存在短路现象。 短路或 和 逻辑或 最终结果一样,只不过 短路或 存在短路现象。 */ public class Java_01 { public static void main(String[] args) { System.out.println(5>3 & 5>2); //true System.out.println(5>3 & 5>6); //false System.out.println(5>3 | 5>6); //true System.out.println(true & true); //true System.out.println(true & false); //false System.out.println(true | true); // true System.out.println(true | false); // true System.out.println(!false); // true System.out.println(!true); // false System.out.println(true ^ true); //false System.out.println(true ^ false); //true System.out.println(false ^ false); //false //逻辑与 和 短路与 int x = 10; int y = 12; //逻辑与 System.out.println(false & ++x <y); //false System.out.println(x); //11 int x1 =10; int y1 = 12; //短路与 System.out.println(false && ++x1 <y1); //false System.out.println(x1); //10 后面表达式没有运算,因为前面的第一个条件已经判断false } }
/* java中的 + 号运算符: 1. 加法运算,求和 2. 字符串的连接运算 当+运算符两边都是数字,一定进行加法运算。 当+运算两边只要有一个是字符串,一定会进行字符串连接,结果也是字符串。 数字+数字 = 数字 数字+字符串 = 字符串 在一个表达式中可以出现多个+ */ public class Java_01 { public static void main(String[] args) { System.out.println(10+20); //求和 30 System.out.println(10+20+30); //求和 60 System.out.println(10+20+"30"); //字符串 3030 System.out.println(10+(20+"30"));//字符串 102030 System.out.println("10+20=30"); //字符串 10+20=30 int a = 10; int b = 20; int c; c = a+b; System.out.println("10+20=" +a+b); // "10+20 = 1020" System.out.println(a + "+" + b + "=" + c); // "10+20=30" //引用类型String //string是sun在javase中提供的字符串类型 //string.class字节码文件 // int i = 10; // int基本数据类型,i变量名,10是int类型的字面值。 // String s = "abc"; // string是引用数据类型,s变量名,"abc"是string类型字面值 // String ss = 10; //编译错误,类型不兼容 String username = "zs"; //定义string类型变量,起名username,赋值"zs" System.out.println("登陆成功,欢迎"+username+"回来");//登陆成功,欢迎zs回来 } }
/* 三元/三目运算符/条件运算符 语法规则: 布尔类型?表达式1:表达式2 当布尔表达式的结果为true时候,执行表达式1;为false,执行表达式2。 */ public class Java_01 { public static void main(String[] args) { //布尔类型变量 boolean sex = false; //下面编译报错,因为"xx"不是一个完成的语句 // sex?"男":"女" char c = sex?'男':'女'; // System.out.println(c); sex = true; c = sex?'男':'女'; // 男 System.out.println(c); //语法错误,编译报错,结果可能是string,也可能是char,但是前面不能用char来接收数据 // char c1 = sex?"男":'女'; //报错 System.out.println(sex?'男':"女"); //男 String s = sex?"男的":"女的"; //字符串 System.out.println(s); //男的 } }