Java编程基础元素-运算符

目录
  • 1 前言
  • 2 算术运算符
    • 2.1 四则运算
    • 2.2 字符串运算符
    • 2.3 一元运算符
  • 3 关系运算符
  • 4 逻辑运算符
  • 5 位运算符
  • 6 码农洞见
    • 6.1 运算符思维导图
    • 6.2 运算符优先级

1 前言

运算符就是在用变量或常量进行运算时,经常需要用到的运算符,Java 提供了丰富的运算符,可分为4类:算术运算符、关系运算符、逻辑运算符和位运算符。

2 算术运算符

2.1 四则运算

算术运算符的用途类似一般数学运算中的加(+)、减(-)、乘(×)和除(/)四则运算,是经常使用的数学运算符。这些算术运算符在Java语言中的用法及功能与它们在传统的数学中的用法及功能相同。四则运算符和数学上的功能一模一样。而求余数运算符“%”用于计算两数相除后的余数,这个运算要求参与运算的两个操作数都必须是整数类型。

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

输出结果:

a=18
b=17
c=15
d=10

2.2 字符串运算符

不过,我们要注意的是加法运算符,在Java中,它除了可以执行数值加的运算,还具有“字符串串接”的功能。

public static void main(String[] args) {
    int x = 6;
    int y = 9;
    String z = "xy";
    System.out.println(z + x + y);
}

输出结果:

xy69

2.3 一元运算符

对于很多表达式而言,运算符前后都会有操作数。但有一类操作符比较特别,它只需要一个操作数。这类运算符称为一元运算符。常见的一元运算符有:+(正号)、 -(负号)、++(自增)、(–)自减

一元减号可以得到数据的负值。一元加号的作用相反,不过它唯一能影响的就是把较小的数值类型自动转换为 int 类型。

public static void main(String[] args) {
    int x = +5;
    int y = -3;
    x++;
    y--;
}

输出结果:

x=6
y=-4

3 关系运算符

关系运算符会通过产生一个布尔(boolean)结果来表示操作数之间的关系。如果关系为真,则结果为 true,如果关系为假,则结果为 false。常见的关系运算符有:==(等于)、!=(不等于)<(小于)、>(大于)、<=(小于等于)和>=(大于等于)

public static void main(String[] args) {
    int a = 10;
    int b = 11;
    boolean result = a == b;
    System.out.println(result);
}

输出结果:

false

4 逻辑运算符

每个逻辑运算符根据参数的逻辑关系生成布尔值 true 或 false。常见的逻辑运算符有3个,即与(&&)、或(||)、非(!)

public static void main(String[] args) {
    boolean a = true;
    int b = 0;
    boolean result = a || b++>0;
    System.out.println(result);    
}

输出结果:

true

5 位运算符

位运算符允许我们操作一个整型数字中的单个二进制位。位运算符会对两个整数对应的位执行布尔代数,从而产生结果。位运算符有&(按位与)、|(按位或)、^(按位异或)、<<(左移)、>>(右移)。

左移运算符(<<)规则

按二进制形式把所有的数字向左移动对应的位数,高位移出(舍弃),低位的空位补零。

语法格式:需要移位的数字 << 移位的次数。例如: 3 << 2,则是将数字3左移2位

计算过程:首先把3转换为二进制数字0000 0000 0000 0000 0000 0000 0000 0011,然后把该数字高位(左侧)的两个零移出,其他的数字都朝左平移2位,最后在低位(右侧)的两个空位补零。则得到的最终结果是0000 0000 0000 0000 0000 0000 0000 1100,则转换为十进制是12。

右移运算符(>>)规则:

按二进制形式把所有的数字向右移动对应位移位数,低位移出(舍弃),高位的空位补符号位,即正数补零,负数补1。

语法格式:需要移位的数字 >> 移位的次数。例如11 >> 2,则是将数字11右移2位

计算过程:

11的二进制形式为:0000 0000 0000 0000 0000 0000 0000 1011,然后把低位的最后两个数字移出,因为该数字是正数,所以在高位补零。则得到的最终结果是0000 0000 0000 0000 0000 0000 0000 0010。转换为十进制是2。

6 码农洞见

6.1 运算符思维导图

6.2 运算符优先级

运算符的优先级决定了存在多个运算符时一个表达式各部分的运算顺序。Java 对运算顺序作出了特别的规定。其中,最简单的规则就是乘法和除法在加法和减法之前完成。程序员经常都会忘记其他优先级规则,所以应该用括号明确规定运算顺序。运算符的优先顺序:

  • 分隔符: [] () ; ,
  • 从右到左结合: ++ – + - ~ !
  • 从左到右结合: * / %
  • 从左到右结合: + -
  • 从左到右结合: << >> >>>
  • 从左到右结合: < > <= >= 
  • 从左到右结合: == !=
  • 从左到右结合: &
  • 从左到右结合: ^
  • 从左到右结合: |
  • 从左到右结合: &&
  • 从左到右结合: ||
  • 从右到左结合: ?:
  • 从右到左结合: = *= /= %= += -=  <<=  >>=  >>>= &= ^= |=

同样优先级的运算符是从左到右计算还是从右到左计算称为运算符的结合性。

到此这篇关于Java编程基础元素-运算符的文章就介绍到这了,更多相关Java元素-运算符内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Java 关系运算符详情及案例(上)

    目录 1.运算符 1:"等于"运算符 (==) 2.运算符 2:"不等于"运算符(!=) 3.运算符 3:"大于"运算符(>) 运算符:构成了任何编程语言的基本构建块.Java 也提供了许多类型的运算符,可以根据需要使用它们来执行各种计算和函数,包括逻辑.算术.关系等.它们根据它们提供的功能进行分类. 运算符类型: 算术运算符 一元运算符 赋值运算符 关系运算符 逻辑运算符 三元运算符 按位运算符 移位运算符 关系运算符:是一组二元运算符,

  • 一定要让你搞懂Java位运算符

    目录 常用的运算符 位运算符 &.|.^ 运算符 ~ 运算符 << 和 >> 运算符 >>> 运算符 有<<<运算符吗 总结 常用的运算符 在Java语言中,官方给我们提供了极为丰富的运算操作,但是常用的,好像也就是算术运算符,例如加.减.乘.除.取余等.还有就是关系运算符大于.小于.等于.不等于等.再或者就是逻辑运算符&&.||.!等,至于位运算符,属实用的不多.用的不多今天为什么拿出来讲呢,首先这可以帮助你很好的去理解

  • Java 关系运算符详情及案例(下)

    目录 1.运算符 4:"小于"运算符(<) 2.运算符 5:大于或等于 (>=) 3.运算符 6: 小于或等于 (<=) 运算符:构成了任何编程语言的基本构建块.Java 也提供了许多类型的运算符,可以根据需要使用它们来执行各种计算和函数,包括逻辑.算术.关系等.它们根据它们提供的功能进行分类. 上篇文章说到了 "等于"运算符 (==)."不等于"运算符(!=)."大于"运算符(>) 这篇文章给大家介绍

  • Java 运算符详情

    目录 1.算术运算符 2.关系运算符 3.逻辑运算符 4.位运算符 5.赋值运算符 6.条件运算符 7.instanceof 运算符 Java 中的运算符与 C 语言基本一致. 1.算术运算符 操作符 描述 例子 + 加法 : 相加运算符两侧的值 A + B 等于 30 - 减法 : 左操作数减去右操作数 A – B 等于 -10 * 乘法 : 相乘操作符两侧的值 A * B 等于200 / 除法 : 左操作数除以右操作数 B / A 等于2 ++ 自增: 操作数的值增加1 B++ 或 ++B

  • 详解JAVA之运算符

    目录 一.算术运算符 二.赋值运算符 三.自增自减运算符 四.关系运算符 五.逻辑运算符 六.三元运算符 七.数据输入 总结 一.算术运算符 运算符:常见的±*/等 表达式:运算符连接起来符合java语法的式子,比如a+b 算术运算符:+ - * / % 注:要想得到小数,里面要有浮点数参与 在print的时候,char和int是根据ASCII码进行转换的 字符串的"+",是字符串连接符,也就是拼接 二.赋值运算符 赋值运算符:a=10,不要说a等于10,而要说将10赋值给变量a 注:

  • Java编程基础元素-运算符

    目录 1 前言 2 算术运算符 2.1 四则运算 2.2 字符串运算符 2.3 一元运算符 3 关系运算符 4 逻辑运算符 5 位运算符 6 码农洞见 6.1 运算符思维导图 6.2 运算符优先级 1 前言 运算符就是在用变量或常量进行运算时,经常需要用到的运算符,Java 提供了丰富的运算符,可分为4类:算术运算符.关系运算符.逻辑运算符和位运算符. 2 算术运算符 2.1 四则运算 算术运算符的用途类似一般数学运算中的加(+).减(-).乘(×)和除(/)四则运算,是经常使用的数学运算符.这

  • Java编程基础测试题分享

    单选题:(每道题目2分) 1. 下列哪个声明是错误的?(B) A.  int i=10; B.  float f=1.1;     //float f=1.1f C.  double d=34.4; D.  byte b=127; long类型的数据加后缀L或者l float类型的数据加后缀F或者f 整数默认是int类型 浮点数默认是double类型 2. 下面哪个不是java中的关键字?(C) A. public B.  true C.  main D.  class 3. 下面程序哪个语句是

  • java编程基础之模仿用户登录代码分享

    上一篇文章我们了解了Java背包问题求解实例代码,接下来我们看看Java中模仿用户登录的相关代码,下面是具体内容. 基于用户从控制台输入模拟的简陋用户登录验证Demo原理: 利用 Scanner 类中 nextLine() 提取用户从控制台输入的字符串信息 利用 String 类的 equals 方法进行用户输入验证 import java.util.Scanner; public class Login { public static void main(String[] args) { //

  • Java语法基础之运算符学习笔记分享

    一.运算符 运算符包括下面几种: 算术运算符赋值运算符比较运算符逻辑运算符位运算符三目运算符 最不常用的是位运算符,但也是最接近计算机底层的. 1.算术运算符 (1)+的几种用法:加法.正数.字符串连接符 (2)除法的时候要注意一个问题:整数相除,只能得到整数.要想得到小数,可以将数据自身*1.0,即将数据自身先转换为浮点型. 2.赋值运算符 符号 = += -= *= /= %= 注:=为基本的赋值运算符,其他的为扩展的赋值运算符 面试题: (1)short s=1, s = s+1; (2)

  • Python编程基础之运算符重载详解

    目录 学习目标 一.运算符重载 (一)概述 (二)加法运算重载符 1.概述 2.案例演示 总结 学习目标 1.掌握运算符重载 2.会定制对象字符串的形式 一.运算符重载 (一)概述 运算符重载是通过实现特定的方法使类的实例对象支持Python的各种内置操作 .例如:+运算符是类里提供的__add__这个函数,当调用+实现加法运算的时候,实际上是调用了__add__方法. 方法 说明 何时调用方法 __add__ 加法运算 对象加法:x+y,x+=y __sub__ 减法运算 对象减法:x-y,x

  • Java编程用两个栈实现队列代码分享

    题目:用两个栈来实现一个队列,完成队列的Push和Pop操作. 队列中的元素为int类型. 经典题,不多说,直接上代码 import java.util.Stack; public class Solution { Stack<Integer> stack1 = new Stack<Integer>(); Stack<Integer> stack2 = new Stack<Integer>(); public void push(int node) { st

  • java编程枚举类型那些事!枚举类型定义和重写枚举的方法

    什么是枚举类型 枚举类型(Enumerated Type) 很早就出现在编程语言中,它被用来将一组类似的值包含到一种类型当中. 而这种枚举类型的名称则会被定义成独一无二的类型描述符,在这一点上和常量的定义相似.不过相比较常量类型,枚举类型可以为申明的变量提供更大的取值范围. 简单的枚举类型定义 假如你希望创建一个颜色库,你可以这样定义枚举类型 enum Color {red, green, yellow, black}; 然后你就可以使用它 Color T = Color.red; if (T

  • Java编程泛型限定代码分享

    泛型 一般 出现在集合中,迭代器中 也会出现! 泛型 是为了 提高代码的 安全性. 泛型 确保数据类型的唯一性. 在我们常用的容器中, 越是单一越好处理啊! 泛型的限定: ? 是通配符 指代 任意类型 泛型的限定上限: <? extends E> 接受 E 或者 E 的子类型. 泛型的限定下限: <?  super   E>  接收  E 或者 E 的父类. 泛型的限定上限 (定义父类 填装子类 类型!) 下面我们看看具体代码示例 package newFeatures8; imp

  • Java编程实现统计数组中各元素出现次数的方法

    本文实例讲述了Java编程实现统计数组中各元素出现次数的方法.分享给大家供大家参考,具体如下: package javatest; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Map.Entry; import java.util.Set; public class NumOfEle { public static void main(String[] ar

  • java网络编程基础知识介绍

    网络基础知识 1.OSI分层模型和TCP/IP分层模型的对应关系 这里对于7层模型不展开来讲,只选择跟这次系列主题相关的知识点介绍. 2.七层模型与协议的对应关系 网络层 ------------ IP(网络之间的互联协议) 传输层 ------------ TCP(传输控制协议).UDP(用户数据报协议) 应用层 ------------ Telnet(Internet远程登录服务的标准协议和主要方式).FTP(文本传输协议).HTTP(超文本传送协议) 3.IP地址和端口号 1.ip地址用于

随机推荐