目录
1.java运算符
运算符介绍
分为算术运算符,赋值运算符,关系(比较)运算符,逻辑运算符,位运算符,三元运算符。
2.算术运算符
算术运算符一览
案例演示:
/与%代码示例与讲解
package com.cypressbox;
public class helloworld {
//编写一个main方法
public static void main(String[] args) {
System.out.println(10 / 4);
//数学里应该为2.5,但由于是int类型除以int类型,得到的也应该是int
//类型,所以小数点后的部分就被省略了
System.out.println(10.0 / 4);
//这里得到的结果是2.5,因为10.0为double类型,double类型除以
//一个int类型,会自动转化为double类型
double d = 10 / 4;
System.out.println(d);
//这里的结果为2.0,因为10/4得到一个int类型的2,再被自动转化
//double类型,也就是2.0
//取模取余使用%符号
//%的本质公式为 a % b = a - a / b * b
System.out.println(10 % 3);
System.out.println(-10 % 3);
System.out.println(10 % -3);
System.out.println(-10 % -3);
}
}
取余结果的运算
%的本质公式为 a % b = a - a / b * b
前++与后++代码示例与讲解
前++:++i先自增后赋值
后++:i++先赋值后自增
package com.cypressbox;
public class helloworld {
//编写一个main方法
public static void main(String[] args) {
int j = 8;
int k = ++j;
//等价于j = j + 1;j = k;
System.out.println(j + " " + k);
int i = 8;
int m = i++;
//等价于m = i; i = i + 1;
System.out.println(i + " " + m);
}
}
这里输出时使用双引号,字符串+一个数值,会转化为字符串
不能使用单引号 ,单引号会被视为字符而不是字符串
例题
规则使用临时变量
结果为:10,20,19,19
print不会换行,println就会换行
3.关系运算符(比较运算符)
结果要么为true要么为false
关系运算符一览
等于是两个等号
案例演示:
T代表true,F代表false
4.逻辑运算符
用于连接多个条件,最终的结果也是一个boolean值。
逻辑运算符一览
逻辑运算符规则
&两个同时为true才是true
|两个有一个为true则为true
!取反,true变false,false变true
^两个不同就为true
&&和&基本规则
对于&&,第一个条件为false后面的条件不再判断
对于&,第一个条件为false后面的条件也会判断
package com.cypressbox;
public class helloworld {
//编写一个main方法
public static void main(String[] args) {
int a = 5;
int b = 10;
if(a < 1 && ++b > 11) {
System.out.println("ok");
}
System.out.println("a的值为:" + a + '\n' +"b的值为:" + b);
}
}
这里b的值仍然为10,因为++b的操作实际上并没有进行,因为a < 1已经判断为false,后面的不会执行。
||和|基本规则
对于短路或,第一个为true不会去判断第二个条件
!取反基本规则与^基本规则
package com.cypressbox;
public class helloworld {
//编写一个main方法
public static void main(String[] args) {
int a = 5;
int b = 10;
System.out.println(a < b);
}
}
练习题
后++先判断,再加1
内存分析法
5.赋值运算符
赋值运算符就是将某个运算后的值,赋值给指定的变量。
赋值运算符特点
assign是分配,指派的意思
复合赋值运算符会进行类型转化,不会报错
6.三元运算符
基本语法
条件表达式为true结果为表达式1
条件表达式为false结果为表达式2
案例演示
package com.cypressbox;
public class helloworld {
//编写一个main方法
public static void main(String[] args) {
int a = 5;
int b = 10;
int result = a > b ? a++ : b--;
System.out.println("result:" + result);
System.out.println("a:" + a);
System.out.println("b:" + b);
}
}
a > b结果为false,会执行后面那个,返回b--,result的值就为b的值,然后b减一,a没有执行a++那个表达式,所以a的值仍为10 。
如果为真会返回并执行前面的那个表达式,而后面的那个表达式则不会执行。
可以用一眼顶真来记啊,一代表真,顶代表是前面的那个值。
练习 :实现三个数的最大值
7.运算符优先级
标签:Java,int,System,运算符,++,println,out From: https://blog.csdn.net/2301_79431343/article/details/138058804