运算符
算术运算符
关系运算符
布尔运算符
位运算符
赋值类运算符
字符串连接运算符
条件运算符
其他运算符
算符运算符
+ - * / % ++ –
求和 相减 成绩 商 求余数 自加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); //男的
}
}