运算符
一.算数运算符
加 + ,减 - ,乘 * ,除 / ,取余 % 两个不同类型的变量进行运算,那么结果是什么类型? 结果是精度更高的类型,也就是表示范围更大的类型. 如果 + 对字符串做运算,那么就代表连接字符串的意思. 自增+1运算符 ++ 语法: n++ / ++n 对变量n自身+1 自减-1运算符 -- 语法: n-- / --n 对变量n自身-1 整数相除,结果只能是整数. 如果是浮点数相除,结果会是精确结果(浮点数) 整数类型 直接做 加减乘除 结果都是整数 整数 与 浮点数加减乘除 结果是浮点数
二.复合运算符
加等 += ,减等 -= ,乘等 *= ,除等 /= ,取余等 %= int a = 1; a = a + 1; (等同于 a += 1) 复合运算符会自动进行类型的转换.
三.比较运算符
比较表达式的结果(返回值)是boolean类型,
结果只能是true(真/是/对)或者false(假/否/错).
大于 > ,大于等于 >= ,小于 < ,小于等于 <= ,相等 == ,不等 !=
比较两个值的大小关系,由比较运算符组成的表达式,我把它称之为比较表达式.
比较表达式的结果(返回值)是boolean类型,
结果只能是true(真/是/对)或者false(假/否/错).
判断两个字符串是否相等用equals,不要用==
四.三目运算符
语法: 变量 = 比较表达式(true或false) ? 值1 : 值2; 如果表达式的结果为true,那么就把值1赋值给变量,反之把值2赋值给变量. 练习1: 有两个变量a和b,取出变量中较大的一个 int a = 1, b = 2; int c = a > b ? a : b; System.out.println(c); 输出c等于2
五.逻辑运算符
* 与/并且 &&: 左右两边填写两个boolean类型的值,都为true 则 最后结果为true. 只要有一个为false,最后结果为false,一假即假. * 或 || 左右两边填写两个boolean类型的值,只要有一个为true,则结果为true. 都为false,则结果为false,一真即真. * 非 ! 一目运算符,直接取反. 逻辑运算符是对其他的关系(比较表达式)表达式进行运算. 练习: 判断一个变量n是不是1到10之间的数. 思路: 判断变量n是不是大于等于1 并且 小于等于10. int n = 4; boolean result = n >= 1 && n <= 10; 练习2: 判断一个数 是不是3和5的倍数. 思路: 判断变量a能不能同时被3和5整除,a对3求余是不是等于0 并且 对5取余是不是也等于0. int a = 5; boolean b = a % 3 == 0 && n % 5 == 0;
六.位运算符
左移 << ,右移 >> ,异或 ^ ,与 & ,或 / && 和 & 的区别 &&代表逻辑运算符'与',&代表位运算符'与',也可以当做逻辑运算符. 都当逻辑运算符的时候,它俩有区别: && 有短路的机制,如果第一个表达式的结果已经是false,那么后面的结果不会被计算. || 和 | 与上面的&& 和 & 同理.