20200612

本文深入讲解Java中的各类运算符,包括算术运算、赋值运算、比较运算、逻辑运算及三元运算符的使用方法与注意事项,帮助初学者掌握核心编程技能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.运算

加减乘除照旧,除法用的时是整除,整数除整数,结果仍是整数,只看商不看余数   10/3=3

取模(取余数):%   只有对于整数的除法,取模运算才有余数的意义   10%3=1

注意:一旦运算中有不同类型的数据,那么结果将会是数据类型范围大的那种

public class Demo02DataType
{
    public static void main(String[] args)
    {
    	int x = 10;
    	double result1 = x + 2.5;
        //int + double --->double + double ---> double
       	System.out.println(result1);//12.5
    }
}

2."+"

  • 对于数值来说,就是加法
  • 对于字符char类型来说,在计算之前,char会被提升成为int,然后再计算。char类型字符和int类型数字之间的对照关系见码表
  • 对于字符串String(首字母大写不是关键字)来说,记号代表字符串连接操作
  • 任何数据类型和字符串连接的时候结果都会变成字符串
public class Demo02DataType
{
    public static void main(String[] args)
    {
    	String str1 = "Hello";
    	System.out.println(str1);//Hello

       	System.out.println("Hello"+"World");//HelloWorld

       	String str2 = "Java";
       	System.out.println(str2 + 20);//java20
        //String + int --->String

       	System.out.println(str2 + 20 + 30);//java2030
        //优先级
       	System.out.println(str2 +(20 + 30));//javva50
    }
}

3.自增运算符“++”,自减运算符“--”

基本含义:让一个变量涨或者降一个数字1

使用格式:写在变量名称之前,或之后 ++num或nmu++

使用方法:

  • 单独使用:不和其他任何操作混合,自己独立成为一个步骤
  • 混合使用:和其他操作混合,例如与赋值或打印操作混合等

使用区别:

  • 在单独使用的时候,前++和后++没有任何区别,也就是++num;和num++;是完全一样的
  • 在混合使用时,如果是【前++】,那么变量立马+1,然后拿着结果再用【先加后用】

                                 如果是【后++】,那么首先使用变量本来的值,再+1【先用后加】

public class Demo02DataType
{
    public static void main(String[] args)
    {
    	int num1 = 10;
    	System.out.println(num1);//10
    	++num1;
    	System.out.println(num1);//11
    	num1++;
    	System.out.println(num1);//12
    	System.out.println("==========");

        //与打印操作混合使用
    	int num2 = 20;
    	System.out.println(++num2);//21
        //前++,先变成21,再打印输出
    	System.out.println(num2);//21
    	System.out.println("==========");

    	int num3 = 30;
        //混合使用,后++,首先使用变量原来的30,然后再+1
    	System.out.println(num3++);//30
    	System.out.println(num3);//31
    	System.out.println("===========");

    	int num4 = 40;
        //和赋值操作混合,前--,变量立马-1变成39,然后将39交给result1
    	int result1 = --num4;
    	System.out.println(result1);//39
    	System.out.println(num4);//39
    	System.out.println("===========");

    	int num5 =50;
    	int result2 = num5--;
        //混合,后--,先把本来50交给result2,再-1
    	System.out.println(result2);//50
    	System.out.println(num5);//49
    	System.out.println("==========");

    	int x = 10;
    	int y = 20;
    	int result3 = ++x + y--;
        //11 + 20 = 31
    	System.out.println(result3);//31
    	System.out.println(x);//11
    	System.out.println(y);//19

    }
}

注意事项:只有变量才能使用自增自减运算符,常量不可发生改变所以不能用

4.赋值运算符

  • +=:  a += 3      相当于 a = a + 3
  • -=:   b  -= 4      相当于 b = b - 4
  • *=:   c  *= 5      相当于 c = c * 5
  • /=:    d  /=6       相当于 d = d / 6
  • %=:  e  %=7     相当于 e = e % 7
public class Demo02DataType
{
    public static void main(String[] args)
    {
    	int a = 10;
    	a += 5;
    	System.out.println(a);//15

    	int x = 10;
    	x %= 3;
    	System.out.println(x);//1

    	byte num = 30;
    	num += 5;
        //num = num + 5
        //num = byte + int
        //num = int
        //num = (byte)int
    	System.out.println(num);//35

    }
}

注意事项:

  • 只有变量才能使用赋值运算符,常量不可以
  • 复合赋值运算符其中隐含了一个强制类型转换

5.比较运算符

>,   <,    >=,    <=

==    比较两边数据是否相等,相等为true

!=     不相等

public class Demo02DataType
{
    public static void main(String[] args)
    {
    	System.out.println(10 > 5);//true

        System.out.println(10 >= 12);//false

        System.out.println(10 == 10);//true

        System.out.println(20 != 25);//true

        System.out.println(20 != 20);//false
    }
}

注意事项:

  • 比较运算符的结果一定是一个boolean值,成立就是true,不成立就是false
  • 如果进行多次判断,不能连着写,数学当中1<x<3,程序中不能这么写

6.逻辑运算符

  • 与(并且)   &&    全都是true,才是true,否则就是false
  • 或(或者)   ||       只要有至少一个是true,就是true,全是false,才是false
  • 非(取反)   !     本来是true,变成false,本来是false,变成true
public class Demo02DataType
{
    public static void main(String[] args)
    {
    	System.out.println(true && false);//false

    	System.out.println(3 < 4 &&10 > 5);//true

    	System.out.println(true || false);//true

    	System.out.println(false || false);//false

    	System.out.println(!true);//false
    }
}

短路作用:与”&&“,或”||“ 如果根据左边已经可以判断得到最终结果,那么右边的代码将不再执行,从而节省一定性能

public class Demo02DataType
{
    public static void main(String[] args)
    {
    	int a = 10;
    	System.out.println(3 > 4 && ++a < 100);
        //3>4为false,右边就不运行了
    	System.out.println(a);//10
    }
}

注意事项:

  • 逻辑运算符智能用于boolean值
  • 与、或需要左右各自有一个boolean值,但是取反只要有唯一的boolean值即可
  • 与、或两种运算符,如果有多个条件,可以连续写:两个条件:条件A && 条件B

                                                                                          多个条件:条件A && 条件B && 条件C

7.三元运算符

  • 一元运算符:只需要一个数据就可以进行操作的运算符,例如:取反!、自增++、自减--
  • 二元运算符:需要两个数据才可以进行操作的运算符,例如:加法+、赋值=
  • 三元运算符:需要三个数据才可以进行操作的运算符

       格式:

       数据类型 变量名称 = 条件判断 ? 表达式A :表达式B;

       流程:二者选其一

       首先判断条件是否成立:如果成立为true,那么将表达式A的值赋值给左侧的变量

                                              如果不成立为false,那么将表达式B的值赋值给左侧的变量

public class Demo02DataType
{
    public static void main(String[] args)
    {
    	int a = 10;
    	int b = 20;
    	int max = a > b ? a : b;
        //判断a > b 是否成立,如果成立将a值给max,不成立将b值给max
    	System.out.println("最大值:"+ max);//最大值:20
    }
}

注意事项:

  • 必须同时保证表达式A和表达式B都符合左侧数据类型要求

       int result = 3 > 4 ? 2.5 : 10; 这是错误写法,左侧是int类型

  • 三元运算符的结果必须被使用

        a > b ? a : b;这是错误写法,结果没有被使用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值