java 运算符

 

运算符是一种特殊的符号,表示数据的运算、赋值和比较

算术运算、赋值运算、比较运算、逻辑运算、位运算(开发用的少,源码中有存在)、三元运算

运算符 运算 类别 结果
+ +3 3
- b=4;-b -4
+ 5+5 10
- 6-4 2
* 3*4 12
/ 5/5 1
% 取模(取余数) 7%5 2
++ 前加加自增在前,先运算后取值 a=2;b=++a a=3;b=3
++ 后加加自增在后,先取值后运算 a=2;b=a++ a=3;b=2
-- 前减减自减在前,先运算后取值 a=2;b=--a a=1;b=1
-- 后减减自减在后,先取值后运算 a=2;b=a-- a=1;b=2
+ 字符连接运算 "He"+"llo" "Hello"

 

加减乘除的示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
class  AriTest
{
    public static void main(String[] args)
    {
        int num1 = 12;
        int num2 = 5;
        int result1 = num1 / num2;  //除法运算
        System.out.println(result1);
        int result2 = num1 - num2;  //减法
        System.out.println(result2);
        int result3 = num1 * num2 ;  //乘
        System.out.println(result3);
        int result4 = num1 + num2;   // 加
        System.out.println(result4);
    }
}
编译后运行
---------- java ----------
2
7
60
17
 
输出完成 (耗时 0 秒) - 正常终止

  示例2,使计算过为浮点型

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
class  AriTest
{
    public static void main(String[] args)
    {
        int num1 = 12;
        int num2 = 5;
        int result1 = num1 / num2;  //除法运算
        System.out.println(result1);
        int result2 = num1 - num2;  //减法
        System.out.println(result2);
        int result3 = num1 * num2 ;  //乘
        System.out.println(result3);
        int result4 = num1 + num2;   // 加
        System.out.println(result4);
        double result5 = (double)num1 / num2;   //浮点型结果为2.41
        System.out.println (result5);
    }
}
---------- java ----------
2
7
60
17
2.4
 
输出完成 (耗时 0 秒) - 正常终止

  取模

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
class  AriTest
{
    public static void main(String[] args)
    {
        int num1 = 12;
        int num2 = 5;
        int result1 = num1 / num2;  //除法运算
        System.out.println(result1);
        int result2 = num1 - num2;  //减法
        System.out.println(result2);
        int result3 = num1 * num2 ;  //乘
        System.out.println(result3);
        int result4 = num1 + num2;   // 加
        System.out.println(result4);
        double result5 = (double)num1 / num2;   //浮点型结果为2.41
        System.out.println (result5);
        int result6 = num1 % num2;     //   取模
        System.out.println (result6);
     
    }
}
---------- java ----------
2
7
60
17
2.4
2
 
输出完成 (耗时 0 秒) - 正常终止

  前加加;后加加

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
class  AriTest
{
    public static void main(String[] args)
    {
        int num1 = 12;
        int num2 = 5;
        int result1 = num1 / num2;  //除法运算
        System.out.println(result1);
        int result2 = num1 - num2;  //减法
        System.out.println(result2);
        int result3 = num1 * num2 ;  //乘
        System.out.println(result3);
        int result4 = num1 + num2;   // 加
        System.out.println(result4);
        double result5 = (double)num1 / num2;   //浮点型结果为2.41
        System.out.println (result5);
        int result6 = num1 % num2;     //   取模
        System.out.println (result6);
        int a1 = 10;
        int b1 = ++a1;// 前加加,先运算后赋值
        System.out.println(b1+","+a1);
        int a2 = 10;
        int b2 = a2++;// 后加加,先赋值后运算
        System.out.println(b2 +"," + a2);
     
    }
}
---------- java ----------
2
7
60
17
2.4
2
11,11
10,11
 
输出完成 (耗时 0 秒) - 正常终止

  注意点

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
class  AriTest
{
    public static void main(String[] args)
    {
        int num1 = 12;
        int num2 = 5;
        int result1 = num1 / num2;  //除法运算
        System.out.println(result1);
        int result2 = num1 - num2;  //减法
        System.out.println(result2);
        int result3 = num1 * num2 ;  //乘
        System.out.println(result3);
        int result4 = num1 + num2;   // 加
        System.out.println(result4);
        double result5 = (double)num1 / num2;   //浮点型结果为2.41
        System.out.println (result5);
        int result6 = num1 % num2;     //   取模
        System.out.println (result6);
        int a1 = 10;
        int b1 = ++a1;// 前加加,先运算后赋值
        System.out.println(b1+","+a1);
        int a2 = 10;
        int b2 = a2++;// 后加加,先赋值后运算
        System.out.println(b2 +"," + a2);
        //注意
        short s1 =  10;
        s1 = s1+1;// 编译不过
         
        System.out.println(s1);
    }
}
---------- javac ----------
AriTest.java:27: 错误: 不兼容的类型: 从int转换到short可能会有损失
        s1 = s1+1;// 编译不过
               ^
1 个错误
 
输出完成 (耗时 0 秒) - 正常终止

  建议一下两种方式

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
class  AriTest
{
    public static void main(String[] args)
    {
        int num1 = 12;
        int num2 = 5;
        int result1 = num1 / num2;  //除法运算
        System.out.println(result1);
        int result2 = num1 - num2;  //减法
        System.out.println(result2);
        int result3 = num1 * num2 ;  //乘
        System.out.println(result3);
        int result4 = num1 + num2;   // 加
        System.out.println(result4);
        double result5 = (double)num1 / num2;   //浮点型结果为2.41
        System.out.println (result5);
        int result6 = num1 % num2;     //   取模
        System.out.println (result6);
        int a1 = 10;
        int b1 = ++a1;// 前加加,先运算后赋值
        System.out.println(b1+","+a1);
        int a2 = 10;
        int b2 = a2++;// 后加加,先赋值后运算
        System.out.println(b2 +"," + a2);
        //注意
        short s1 =  10;
        //s1 = s1+1;// 编译不过
        s1 = (short)(s1+1);
        System.out.println(s1);
    }
}
---------- java ----------
2
7
60
17
2.4
2
11,11
10,11
11
 
输出完成 (耗时 0 秒) - 正常终止

  或者

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
class  AriTest
{
    public static void main(String[] args)
    {
        int num1 = 12;
        int num2 = 5;
        int result1 = num1 / num2;  //除法运算
        System.out.println(result1);
        int result2 = num1 - num2;  //减法
        System.out.println(result2);
        int result3 = num1 * num2 ;  //乘
        System.out.println(result3);
        int result4 = num1 + num2;   // 加
        System.out.println(result4);
        double result5 = (double)num1 / num2;   //浮点型结果为2.41
        System.out.println (result5);
        int result6 = num1 % num2;     //   取模
        System.out.println (result6);
        int a1 = 10;
        int b1 = ++a1;// 前加加,先运算后赋值
        System.out.println(b1+","+a1);
        int a2 = 10;
        int b2 = a2++;// 后加加,先赋值后运算
        System.out.println(b2 +"," + a2);
        //注意
        short s1 =  10;
        //s1 = s1+1;// 编译不过
        //s1 = (short)(s1+1);
        ++s1;//
        System.out.println(s1);
    }
}
---------- java ----------
2
7
60
17
2.4
2
11,11
10,11
11
 
输出完成 (耗时 0 秒) - 正常终止

  或者

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
class  AriTest
{
    public static void main(String[] args)
    {
        int num1 = 12;
        int num2 = 5;
        int result1 = num1 / num2;  //除法运算
        System.out.println(result1);
        int result2 = num1 - num2;  //减法
        System.out.println(result2);
        int result3 = num1 * num2 ;  //乘
        System.out.println(result3);
        int result4 = num1 + num2;   // 加
        System.out.println(result4);
        double result5 = (double)num1 / num2;   //浮点型结果为2.41
        System.out.println (result5);
        int result6 = num1 % num2;     //   取模
        System.out.println (result6);
        int a1 = 10;
        int b1 = ++a1;// 前加加,先运算后赋值
        System.out.println(b1+","+a1);
        int a2 = 10;
        int b2 = a2++;// 后加加,先赋值后运算
        System.out.println(b2 +"," + a2);
        //注意
        short s1 =  10;
        //s1 = s1+1;// 编译不过
        //s1 = (short)(s1+1);
        s1++;// 这样写不会改变他的数据类型
        System.out.println(s1);
    }
}

  前减减;后减减

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
class  AriTest
{
    public static void main(String[] args)
    {
        int num1 = 12;
        int num2 = 5;
        int result1 = num1 / num2;  //除法运算
        System.out.println(result1);
        int result2 = num1 - num2;  //减法
        System.out.println(result2);
        int result3 = num1 * num2 ;  //乘
        System.out.println(result3);
        int result4 = num1 + num2;   // 加
        System.out.println(result4);
        double result5 = (double)num1 / num2;   //浮点型结果为2.41
        System.out.println (result5);
        int result6 = num1 % num2;     //   取模
        System.out.println (result6);
        int a1 = 10;
        int b1 = ++a1;// 前加加,先运算后赋值
        System.out.println(b1+","+a1);
        int a2 = 10;
        int b2 = a2++;// 后加加,先赋值后运算
        System.out.println(b2 +"," + a2);
        //注意
        short s1 =  10;
        //s1 = s1+1;// 编译不过
        //s1 = (short)(s1+1);
        s1++;// 这样写不会改变他的数据类型
        System.out.println(s1);
        int s2 = 15;
        int s3 = --s2;
        System.out.println(s3);
        int s4 = 15;
        int s5 = s4--;
        System.out.println(s5);
    }
}
---------- java ----------
2
7
60
17
2.4
2
11,11
10,11
11
14
15
 
输出完成 (耗时 0 秒) - 正常终止

  

 

  

 

posted @   烟雨楼台,行云流水  阅读(185)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 葡萄城 AI 搜索升级:DeepSeek 加持,客户体验更智能
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏
历史上的今天:
2019-07-18 nginx 反向代理memcached、websocket及nginx文件方面的优化
2019-07-18 nginx 缓存
点击右上角即可分享
微信分享提示