首页 > 编程语言 >Java运算符(详解)

Java运算符(详解)

时间:2024-09-05 18:22:29浏览次数:10  
标签:Java int System 运算符 ++ 详解 println out

前言:

        Java中运算符有哪些?

        大致分为:

        算术运算符、关系运算符、逻辑运算符、位运算符、移位运算符、条件运算符

接下来,一一分析。

算术运算符:

 基本运算符:

        加减乘除,是最基本的运算符。

例子:

    public static void main(String[] args) {
        int a = 2;
        int b = 5;
        int c = a*b;
        int d = a+b;
        int e = b/a;
        int f = a-b;
        System.out.println(c);
        System.out.println(d);
        System.out.println(e);
        System.out.println(f);
    }

 两个字符串相加,就相当于将两个字符串拼接在一起!

例如:

   public static void main(String[] args) {
        String a = "hello";
        String b = "world";
        System.out.println(a+" "+b);
    }

    

如果两侧的操作数不一致,向类型大的提升!

System.out.println(1+0.2); // +的左侧是int,右侧是double,在加之前int被提升为double

增量运算符:

        该种类型运算符操作完成后,会将操纵的结果赋值给左操作数。

int a = 1 ; a += 2 ; // 相当于 a = a + 2 System . out . println ( a ); // 输出 3 a -= 1 ; // 相当于 a = a - 1 System . out . println ( a ); // 输出 2 a *= 3 ; // 相当于 a = a * 3 System . out . println ( a ); // 输出 6 a /= 3 ; // 相当于 a = a / 3 System . out . println ( a ); // 输出 2 a %= 3 ; // 相当于 a = a % 2 System . out . println ( a ); // 输出 2 (和C语言中的一致)

 自增自减运算符:

++ 是给变量的值 +1 , -- 是给变量的值 -1 。
int a = 1 ; a ++ ; // 后置 ++ 表示给 a 的值加 1 ,此时 a 的值为 2 System . out . println ( a ++ ); // 注意:后置 ++ 是先使用变量原来值,表示式结束时给变量 +1 ,因此输出 2 System . out . println ( a ); // 输出 3 ++ a ; // 前置 ++ 表示给 a 的值加 1 System . out . println ( ++ a ); // 注意:前置 ++ 是先给变量 +1 ,然后使用变量中的值,因此输出 5 System . out . println ( a ); // 输出 5 // -- 操作符给操作 -1 ,与 ++ 含义类似

难点前置++\--和后置++\--的区别一定要区分清楚! 

关系运算符:

        关系运算符主要有六个: ==  !=  <  >  <=  >= ,其计 算结果是 true 或者 false 。(在Java中计算的结果只有两个,和C不同)
int a = 15 ; int b = 20 ; // 注意:在 Java 中 = 表示赋值 // 在 Java 中 == 表示相等 System . out . println ( a == b ); // false System . out . println ( a != b ); // true System . out . println ( a < b ); // true System . out . println ( a > b ); // false System . out . println ( a <= b ); // true System . out . println ( a >= b ); // false

逻辑运算符:

逻辑运算符主要有&&  ||  !(与,或,非),返回值均为boolean类型!

逻辑&&

int a = 1 ; int b = 2 ; System . out . println ( a == 1 && b == 2 ); // 左为真 且 右为真 则结果为真 System . out . println ( a == 1 && b > 100 ); // 左为真 但 右为假 则结果为假 System . out . println ( a > 100 && b == 2 ); // 左为假 但 右为真 则结果为假 System . out . println ( a > 100 && b > 100 ); // 左为假 且 右为假 则结果为假

 逻辑 ||

int a = 1 ; int b = 2 ; System . out . println ( a == 1 || b == 2 ); // 左为真 且 右为真 则结果为真 System . out . println ( a == 1 || b > 100 ); // 左为真 但 右为假 则结果也为真 System . out . println ( a > 100 || b == 2 ); // 左为假 但 右为真 则结果也为真 System . out . println ( a > 100 || b > 100 ); // 左为假 且 右为假 则结果为假

 逻辑 !:

int a = 1 ; System . out . println ( ! ( a == 1 )); // a == 1 为 true ,取个非就是 false System . out . println ( ! ( a != 1 )); // a != 1 为 false ,取个非就是 true
注意逻辑 !不能表示:
int a = 1; System.out.println(!a);( 如果表示成这样会报错! )

位运算符:

        位运算符有:按位取反(~),按位与(&),按位或(|),按位异或(^)。

按位取反(~):

如果该位为 0 则转为 1, 如果该位为 1 则转为 0 .
int a = 0xf ; System . out . printf ( "%x\n" , ~a )

 

按位与(&):

如果两个二进制位都是 1, 则结果为 1, 否则结果为 0。
int a = 10 ; int b = 20 ; System . out . println ( a & b );

按位或(|):

按位或 |: 如果两个二进制位都是 0, 则结果为 0, 否则结果为 1 

int a = 10 ; int b = 20 ; System . out . println ( a | b );

按位异或(^):

如果两个数字的二进制位相同 , 则结果为 0, 相异则结果为 1。
int a = 0x1 ; int b = 0x2 ; System . out . printf ( "%x\n" , a ^ b );  

条件运算符:

条件运算符只有一个 : 表达式 1 ? 表达式 2 : 表达式 3 当 表达式 1 的值为 true 时 , 整个表达式的值为 表达式 2 的值 ; 当 表达式 1 的值为 false 时 , 整个表达式的值为 表达式 3 的值 . 也是 Java 中唯一的一个 三目运算符 , 是条件判断语句的简化写法
// 求两个整数的最大值 int a = 10 ; int b = 20 ; int max = a > b ? a : b ;

标签:Java,int,System,运算符,++,详解,println,out
From: https://blog.csdn.net/m0_75235246/article/details/141891359

相关文章

  • 快速排序(动图详解)(C语言数据结构)
    快速排序:        快速排序是Hoare于1962年提出的一种二叉树结构的交换排序方法,其基本思想为:        任取待排序元素序列中的某元素作为基准值,按照该排序码将待排序集合分割成两子序列,左子序列中所有元素均小于基准值,右子序列中所有元素均大于基准值,然后最左......
  • JSX 语法详解
    在现代前端开发中,React框架因其高效和灵活的特点而备受青睐。作为React的核心组成部分之一,JSX(JavaScriptXML)是一种语法扩展,它允许我们在JavaScript中书写类似HTML的标签。本文将从基础入手,逐步深入地介绍JSX的基本概念、常见问题及易错点,并通过具体的代码示例来帮助大家......
  • (免费源码)计算机毕业设计必看必学 原创定制程序 java、PHP、python、小程序、文案全套
    摘 要信息化社会内需要与之针对性的信息获取途径,但是途径的扩展基本上为人们所努力的方向,由于站在的角度存在偏差,人们经常能够获得不同类型信息,这也是技术最为难以攻克的课题。针对高校知识共享系统等问题,对高校知识共享系统进行研究分析,然后开发设计出高校知识共享系统以......
  • Java多线程
    进程and线程    进程是程序的一次动态执行过程。经历了从代码加载、执行到执行完毕的一个完整过程;(由于CPU的执行速度很快,使得所有的进程像是“同时”执行一样)多线程是实现并发机制的一种有效手段。线程是比进程更小的执行单位,多线程是指一个进程在执行过程中可以产......
  • MySQL 数据类型详解
    MySQL是一种广泛使用的关系型数据库管理系统,它支持多种数据类型以满足各种应用场景的需求。本文将详细介绍MySQL支持的数据类型、它们的使用场景以及实现原理,并通过图示帮助读者更直观地理解。目录简介数值类型整型浮点型定点型日期和时间类型字符串类型字符串二进制字......
  • Java项目: 基于SpringBoot+mysql蜗牛兼职网兼职平台管理系统(含源码+数据库+答辩PPT+
    一、项目简介本项目是一套基于SpringBoot+mysql蜗牛兼职网兼职平台管理系统包含:项目源码、数据库脚本等,该项目附带全部源码可作为毕设使用。项目都经过严格调试,eclipse或者idea确保可以运行!该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用......
  • 新手c语言讲解及题目分享(十七)--运算符与表达式专项练习
    本文主要讲解c语言的基础部分,运算符与表达式的学习,在这一部分中,往往有许多细节的东西需要去记住。当各种运算符一起用时,就会存在优先级的关系,本文末尾有各种运算符的优先级顺序表。参考书目和推荐学习书目:通过网盘分享的文件:C语言程序设计电子教材(1).pdf链接:https://pa......
  • java.lang.ClassNotFoundException: net.logstash.logback.appender.LogstashTcpSocke
    出现以下错误,是因为项目缺少依赖:atorg.springframework.boot.logging.logback.LogbackLoggingSystem.reportConfigurationErrorsIfNecessary(LogbackLoggingSystem.java:189)atorg.springframework.boot.logging.logback.LogbackLoggingSystem.loadConfiguration(Log......
  • java知识点——String类常用方法
    字符串常用方法: 方法描述int字符串.length()获取字符串长度boolean字符串.equals比较字符串内容是否相等boolean字符串1.equalsIgnoreCase(字符串2)不分大小写比较内容String字符串.toLowerCase()将字符串全部转成小写的String字符串.toUpperCas......
  • 如何在Java中实现对象和Map之间的转换
    在Java中,将对象与Map之间转换的需求很常见,特别是在处理JSON序列化和反序列化时。你可以使用不同的方法来实现这一转换,以下是几种常见的方法:1.使用Jackson库Jackson是一个流行的JSON处理库,它可以很方便地将Java对象转换为Map,以及将Map转换为Java对象。依赖(如果使用Maven):<dependency......