java从入门到起飞(二)——运算符

简介: java从入门到起飞(二)——运算符

前提——运算符概念


    运算符:对常量或者变量进行操作的符号。

    表达式:用运算符把常量或者变量连接起来符合java语法的式子就可以称为表达式。不同运算符连接的表达式体现的是不同类型的表达式。


  • 举例说明:
int a = 10;
int b = 20;
int c = a + b;
• 1
• 2
• 3

     +:是运算符,并且是算术运算符。

     a + b:是表达式,由于+是算术运算符,所以这个表达式叫算术表达式


算数运算符


符号 作用 说明
“+” 参看小学一年级的加法
“-” 参看小学一年级的减法
“*” 参看小学二年级,与“×”相同
“/” 参看小学二年级,与“÷”相同
“%” 取余 获取的是两个数据做除法的余数


注意事项:


  • /和%的区别:两个数据做除法,/取结果的商,%取结果的余数。
  • 整数操作只能得到整数,要想得到小数,必须有浮点数参与运算。

算数运算符代码例子如下:


public class ArithmeticOperatorsExample {
    public static void main(String[] args) {
        int a = 10;
        int b = 5;
        // 加法
        int sum = a + b;
        System.out.println("Sum: " + sum);
        // 减法
        int difference = a - b;
        System.out.println("Difference: " + difference);
        // 乘法
        int product = a * b;
        System.out.println("Product: " + product);
        // 除法
        int quotient = a / b;
        System.out.println("Quotient: " + quotient);
        // 取模
        int remainder = a % b;
        System.out.println("Remainder: " + remainder);
    }
}


字符的“+”操作


拿字符在计算机底层对应的数值来进行计算的。

算术表达式中包含多个基本数据类型的值的时候,整个算术表达式的类型会自动进行提升。

提升规则:

  • byte类型,short类型和char类型将被提升到int类型
  • 整个表达式的类型自动提升到表达式中最高等级操作数同样的类型
    等级顺序:byte,short,char → int → long → float → double

字符串的“+”操作


当“+”操作中出现字符串时,这个”+”是字符串连接符,而不是算术运算。

例:“yangsimo”+ 666 的结果为:yangsimo666

在”+”操作中,如果出现了字符串,就是连接运算符,否则就是算术运算。当连续进行“+”操作时,从左到右逐个执行。

例:1 + 99 + “年大米” 的结果为:100年大米


赋值运算符


符号 作用 说明
“=” 赋值 a=10,将10赋值给变量a
“+=” 加后赋值 a+=b,将a+b的值给a
“-=” 减后赋值 a-=b,将a-b的值给a
“*=” 乘后赋值 a*=b,将a×b的值给a
“/=” 除后赋值 a/=b,将a÷b的商给a
“%=” 取余后赋值 a%=b,将a÷b的余数给a


注意事项:

    扩展的赋值运算符隐含了强制类型转换。

赋值运算符代码例子如下:


自增自减运算符


符号 作用 说明
“++” 自增 变量的值加1
“–” 自减 变量的值减1


注意事项:


  • ++和-- 既可以放在变量的后边,也可以放在变量的前边。

  • 单独使用的时候, ++和-- 无论是放在变量的前边还是后边,结果是一样的。

参与操作的时候,如果放在变量的后边,先拿变量参与操作,后拿变量做++或者–。

参与操作的时候,如果放在变量的前边,先拿变量做++或者–,后拿变量参与操作。

例:


int a=5;      //a=5
int b=++a;    //a=6  b=6
int c=a++;    //a=6  c=5


关系运算符

符号 说明
“==” a==b,判断a和b的值是否相等,成立为true,不成立为false
“!=” a!=b,判断a和b的值是否不相等,成立为true,不成立为false
“>” a>b,判断a是否大于b,成立为true,不成立为false
“>=” a>=b,判断a是否大于等于b,成立为true,不成立为false
“<” a<b,判断a是否小于b,成立为true,不成立为false
“<=” a<=b,判断a是否小于等于b,成立为true,不成立为false


注意事项:


关系运算符的结果都是boolean类型,要么是true,要么是false。

千万不要把“==”误写成“=”。


逻辑运算符


符号 作用 说明
“&” 逻辑与 a&b,a和b都是true,结果为true,否则为false
" | " 逻辑或 a
“^” 逻辑异或 a^b,a和b结果不同为true,相同为false
“!” 逻辑非 !a,结果和a的结果正好相反


 在数学中,一个数据x,大于3,小于6,我们可以这样来进行表示:3<x<6。在Java中,需要把上面的式子先进行拆解,再进行合并表达。


拆解为:x>3 和 x<6

合并后:x>3 && x<6

&&其实就是一个逻辑运算符。

我们可以这样说,逻辑运算符,是用来连接关系表达式的运算符。

当然,逻辑运算符也可以直接连接布尔类型的常量或者变量。


短路逻辑运算符


符号 作用 说明
“&&” 短路与 作用和&相同,但是有短路效果
" || " 短路或 作用和


注意事项:


  • 逻辑与&,无论左边真假,右边都要执行。
    短路与&&,如果左边为真,右边执行;如果左边为假,右边不执行。
  • 逻辑或|,无论左边真假,右边都要执行。
    短路或||,如果左边为假,右边执行;如果左边为真,右边不执行。

三元运算符


  • 格式:关系表达式 ? 表达式1 : 表达式2;
  • 范例:a > b ? a : b;


计算规则:


        首先计算关系表达式的值

        如果值为true,表达式1的值就是运算结果

        如果值为false,表达式2的值就是运算结果

例子:


public class ConditionalOperator {
   public static void main(String[] args) {
     int x = 10;
     int y = 5;
     int z = x>y ? 100 : 50; 
     System.out.println(z); // 100
   }
}


运算符优先级

为什么要学优先级


 Java是一种广泛使用的编程语言,其中运算符是语言中的重要组成部分。Java运算符的优先级非常重要,影响着表达式的运算顺序。理解Java运算符的优先级可以帮助开发者编写更高效、更易于维护的代码。


优先级



例如以下代码,先算括号中的,后算加法:


public class Test {
  public static void main(String[] args) {
    int a = 10;
    int b = 20;
    int c = 30;
    System.out.println(a + (b * c));
  }
}

  Java中的面向对象运算符包括方法调用、属性访问和继承等。面向对象运算符按照优先级从高到低的顺序执行。例如,如果调用一个对象的方法,则方法将按顺序执行,直到方法执行完毕。同样地,如果访问对象的属性,则属性的值将被更新,直到方法执行完毕。

   在Java中,运算符的优先级从高到低依次为:算术运算符、逻辑运算符、位运算符和面向对象运算符。本文将深入理解Java运算符的优先级。


总结

   以上是 Java 中常见的一些运算符及其用法。在实际编程中,可以根据需要选择适当的运算符来实现所需的运算和操作。大家在学习运算符过程中对任意一个运算符不理解的可以私聊博主,我会一一给大家解答!

目录
相关文章
|
10天前
|
Java
Java运算符
Java运算符
39 12
|
11天前
|
Java 程序员 UED
Java中的异常处理:从入门到精通
【9月更文挑战第23天】在Java编程的世界中,异常是程序执行过程中不可避免的事件,它们可能会中断正常的流程并导致程序崩溃。本文将通过浅显易懂的方式,引导你理解Java异常处理的基本概念和高级技巧,帮助你编写更健壮、更可靠的代码。我们将一起探索如何捕获和处理异常,以及如何使用自定义异常来增强程序的逻辑和用户体验。无论你是初学者还是有一定经验的开发者,这篇文章都将为你提供有价值的见解和实用的技巧。
30 4
|
1月前
|
Java 测试技术 程序员
Java零基础(23) - Java赋值运算符,了解一下!
【9月更文挑战第2天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
44 11
|
2月前
|
算法 Java 开发者
Java 编程入门:从零到一的旅程
本文将带领读者开启Java编程之旅,从最基础的语法入手,逐步深入到面向对象的核心概念。通过实例代码演示,我们将一起探索如何定义类和对象、实现继承与多态,并解决常见的编程挑战。无论你是编程新手还是希望巩固基础的开发者,这篇文章都将为你提供有价值的指导和灵感。
|
23天前
|
Java 程序员
Java中的异常处理:从入门到精通
在Java编程的世界中,异常处理是保持程序稳定性和可靠性的关键。本文将通过一个独特的视角—把异常处理比作一场“捉迷藏”游戏—来探讨如何在Java中有效管理异常。我们将一起学习如何识别、捕捉以及处理可能出现的异常,确保你的程序即使在面对不可预见的错误时也能优雅地运行。准备好了吗?让我们开始这场寻找并解决Java异常的冒险吧!
|
1月前
|
Java 测试技术 开发者
Java零基础(24) - Java条件运算符,了解一下!
【9月更文挑战第3天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
21 0
|
2月前
|
Java 程序员 UED
Java 中的异常处理:从入门到精通
【8月更文挑战第31天】在Java编程的世界中,异常处理是保持应用稳定性的重要机制。本文将引导你理解异常的本质,学会如何使用try-catch语句来捕获和处理异常,并探索自定义异常类的魅力。我们将一起深入异常的世界,让你的代码更加健壮和用户友好。
|
2月前
|
Java 数据库连接 开发者
Java中的异常处理:从入门到精通
【8月更文挑战第31天】 在编程世界中,错误和异常就像是不请自来的客人,总是在不经意间打扰我们的程序运行。Java语言通过其异常处理机制,为开发者提供了一套优雅的“待客之道”。本文将带你走进Java异常处理的世界,从基础语法到高级技巧,再到最佳实践,让你的程序在面对意外时,也能从容不迫,优雅应对。
|
2月前
|
Java 开发者
Java 中的异常处理:从入门到精通
【8月更文挑战第31天】在Java的世界中,异常处理是保持程序健壮性的基石。本文将带你探索Java异常处理的奥秘,从基本的try-catch语句到深入理解自定义异常和最佳实践。你将学会如何优雅地处理错误,确保你的代码不仅能够面对意外情况,还能从中恢复。让我们一起开启这段旅程,掌握让程序更加稳定和可靠的技巧吧!
|
5月前
|
安全 Java
从零开始学习 Java:简单易懂的入门指南之不可变集合、方法引用(二十六)
从零开始学习 Java:简单易懂的入门指南之不可变集合、方法引用(二十六)
下一篇
无影云桌面