返回顶部
首页 > 资讯 > 后端开发 > Python >Java基础之详细总结五种常用运算符
  • 596
分享到

Java基础之详细总结五种常用运算符

2024-04-02 19:04:59 596人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

目录一、算术运算符二、赋值运算符三、比较运算符四、逻辑运算符五、位运算符一、算术运算符 算术运算符的符号通常为:加(+)、减(-)、乘(*)、除(/)、取余(%)、自增(++)、自减

一、算术运算符

算术运算符的符号通常为:加(+)、减(-)、乘(*)、除(/)、取余(%)、自增(++)、自减(--)。

使用int类型的变量和int类型的变量做除法,得到的结果还是int类型;

使用double类型的常量和 int类型的常量做除法,会得到double类型的结果;在使用强制类型double转换可以得到double类型


System.out.println(7 / 2);//3.0
System.out.println((double)(7 / 2));  // 3.0
System.out.println((double)7 / 2);    // 3.5

既然存在除法,那么对于除0这个特殊的数,Java的程序是怎么处理的呢,是否都是异常的报错呢?我们可以执行试一下


// 产生异常:java.lang.ArithmeticException: / by zero
 
int i = 123 / 0;
 
System.out.println(i);
 
 
 
// 产生异常:java.lang.ArithmeticException: / by zero
 
int j = 0 / 0;
 
System.out.println(j);
 
 
 
double k = 123.45 / 2;
 
System.out.println(k); // 61.725
 
 
 
double x = 123.45 / 0;
 
System.out.println(x); // Infinity(正无穷大)
 
 
 
double y = -123.45 / 0;
 
System.out.println(y); // -Infinity(负无穷大)
 
 
 
double m = 0.0 / 0;
 
System.out.println(m); // NaN(Not a number 不是一个数)
 
 
 
double n = -0.0 / 0;
 
System.out.println(n); // NaN(Not a number 不是一个数)
 
 
 
float x = 123.45F / 0;
 
System.out.println(x); // Infinity(正无穷大)
 
 
 
float y = -123.45F / 0;
 
System.out.println(y); // -Infinity(负无穷大)
 
 
 
float m = 0.0F / 0;
 
System.out.println(m); // NaN(Not a number 不是一个数)
 
 
 
float n = -0.0F / 0;
 
System.out.println(n); // NaN(Not a number 不是一个数)
 
 
 
//产生异常:java.lang.ArithmeticException: / by zero
 
int x = 11 % 0;
 
System.out.println(x);
 
 
 
double y = 11.0 % 0;
 
System.out.println(y); // NaN

自增运算符

单独使用自增运算符:不论++放在需要自增的变量的前面还是后面,都会在操作后让变量的值自增1

非单独使用自增运算符:int j = i++; // i: 3 j: 2(一上来先把i的值赋值给j,然后i自己做自增(先赋值再自增));int j = ++i; // i: 3 j: 3(上来先i自己做自增,然后把i的值(自增后的值)赋值给j(先自增再赋值));

这里附加一个练习题:


int i = 2;
 
int j = 3;
 
j = i++ + ++i+i*6;

最后j是多少?(结果是:30)

二、赋值运算符

赋值运算符:=、+=、-=、*=、/=、%=

这个没什么说的只是进行赋值的操作,只是要注意对于非默认数据类型的数据,使用带有算术运算符的赋值运算符时,会自动进行强制类型转换,例如:

byte j = 5;j += 6; // 下句等价于上句 j = (byte) (j + 6);

三、比较运算符

比较运算符:==、!=、>、<、>=、<=;Java中使用 == 表示相等(内容相等)

四、逻辑运算符

逻辑运算符:&、|、!、^、&&、||

&:逻辑与,有一个是false得到的结果就是false

|:逻辑或,有一个是true得到的结果就是true

!:逻辑非,颠倒黑白

^:逻辑异或,类似吸铁石(真假为真,真真为假,假假为假)

&&:逻辑与,如果参与运算的第一个变量或表达式为false,得到的结果就是false,其他的变量或表达式就不去执行;如果多个逻辑与参与运算,以此类推; ||:逻辑或,如果参与运算的第一个变量或表达式为true,得到的结果就是true,其他的变量或表达式就不去执行;如果多个逻辑与参与运算,以此类推;

&和&&区别:&&具有短路的操作,比如第一个表达式是false时,是不会执行第二个表达式(if(s!=null&&s.equal(""))),如果s是null的话使用&就会报错;&可以可以用在位运算符中。

练习题:


int i = 2;
 
int j = 3;
 
System.out.println((++i == 2) && (j++ == 3));

问:最终i 和 j 的值是多少?(i为3,j为3)


int i = 2;
 
int j = 3;
 
System.out.println((++i == 2) & (j++ == 3));

问:最终i 和 j 的值是多少?(i为3,j为4)

五、位运算符

位运算符:&、|、~、^、>>、>>>、<<

规则:(在二进制中)操作的是补码

&:位与,进行操作的两个数的同一位上,有一个是0,该位运算的结果就是0

|:位或,进行操作的两个数的同一位上,有一个是1,该位运算的结果就是1

~:位非,进行操作的数按位取反

^:位异或,进行操作的两个数的同一位上,两个相同为0,两个不同为1(规律:一个数连续两次和另一个数做位异或运算,得到其本身的值)


System.out.println(2 & 3); // 2
 
 
 
System.out.println(2 | 3); // 3
 
 
 
System.out.println(~2); // -3
 
 
 
System.out.println(2 ^ 3); // 1
 
 
 
System.out.println(2 ^ 3 ^ 3); // 2
 
 
 

<<:左移,左边的高位删除,右边的低位补0

>>:右移,因为左侧的最高位是符号位,所以要区分是0还是1;左侧的最高位是0,左侧补0;左侧的最高位是1,左侧补1 >>>:无符号右移,不论左侧的最高位是0还是1,左侧补0


System.out.println(2 << 1); // 4
 
 
 
System.out.println(2 >> 1); // 1
 
 
 
System.out.println(-2 >> 1); // -1
 
 
 
System.out.println(-2 >>> 1); // 2147483647
 
 
 

 

到此这篇关于Java基础之详细总结五种运算符的文章就介绍到这了,更多相关Java五种运算符内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Java基础之详细总结五种常用运算符

本文链接: https://lsjlt.com/news/126496.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Java基础之详细总结五种常用运算符
    目录一、算术运算符二、赋值运算符三、比较运算符四、逻辑运算符五、位运算符一、算术运算符 算术运算符的符号通常为:加(+)、减(-)、乘(*)、除(/)、取余(%)、自增(++)、自减...
    99+
    2024-04-02
  • Java基础之逻辑运算符知识总结
    目录一、前言二、逻辑运算符三、代码四、结果五、练习一、前言 逻辑运算符 左右都是布尔类型的操作数,表达式的结果也是布尔类型 true或false 二、逻辑运算符 &...
    99+
    2024-04-02
  • Java基础之位运算知识总结
    目录一、位运算的分类与展现效果二、原理三、边界值测试一、位运算的分类与展现效果 java位运算可以分为左移和右移,其中右移还有无符号右移。   java只对整型位移,可...
    99+
    2024-04-02
  • Java基础学习之运算符相关知识总结
    1.算术运算符 +表示加法运算符 -表示减法运算符 *表示乘法运算符 /表示除法运算符 %表示取模/取余运算符 package com...
    99+
    2024-04-02
  • Python运算符详细总结
    算术运算符 运算符 描述 实例 + 加 - 两个对象相加 a + b 输出结果 30 - 减 - 得到负数或是一个数减去另一个数 a - b 输出结果 -10 * 乘 - 两个数相乘或是返回一个被重复若干次的字符串 a...
    99+
    2023-01-31
    运算符 详细 Python
  • Java 基础 之 算数运算符
    转载于 : http://www.verejava.com/id=16992579787012 public class Operation {public static ...
    99+
    2023-06-02
  • Java基础之数组超详细知识总结
    目录一、一维数组二、二维数组三、总结一、一维数组 1、Java语言中的数组是一种 引用数据类型。不属于基本数据类型。数组的父类是 Object。 2、数组实际上是一个容器,可以同时容...
    99+
    2024-04-02
  • Java基础总结之Thymeleaf详解
    目录一、Thymeleaf语法1.1 变量表达式${…}1.2 选择变量表达式*{…}1.3 消息表达式 #{…}1.4 链接表达式 @{…}1.5 片段表达式 ~{…}二、基本使用...
    99+
    2024-04-02
  • SQL 基础之where过滤和 运算符(五)
    使用WHERE子句,将不满足条件的行过滤掉:WHERE过滤的注意事项:WHERE子句紧随FROM子句。WHERE子句后跟条件表达式列名、表达式、常量比较运算符:=, <...
    99+
    2024-04-02
  • 一起学JAVA基础之运算符
    目录1 运算符1.1 概述1.2 运算符速查表1.3 练习:测试自增自减1.4 练习:测试逻辑运算符1.5 练习:求两数的最大值1.6 练习:求平年闰年2 拓展补充:2.1 总结1:...
    99+
    2024-04-02
  • Java Swing最详细基础知识总结
    目录一、简介二、Swing 组件的层次结构三、Swing组件3.1 JFrame窗体组件3.2 JDialog窗体组件3.3 JLabel组件3.4 文本域3.5 按钮四.布局管理器...
    99+
    2024-04-02
  • Java基础知识精通各种运算符
    目录前言一、算数运算符1.简介2.运用+-*/%二、自增自减运算符++–三、赋值运算符四、关系运算符五、逻辑运算符&(单与)| (单或)^(异或)!(非)&...
    99+
    2024-04-02
  • 详细总结Java基础类和包装类
    目录一、简介二、区别三、自动装箱和拆箱一、简介 当需要往ArrayList,HashMap中放东西时,像int,double这种基本类型是放不进去的,因为容器都是装object的,...
    99+
    2024-04-02
  • Java基础学习之字符串知识总结
    目录一、前言二、String 类(字符串常量)2.1 String 类实例的创建2.2 String 对象的比较2.3 String对象的空值2.4 字符串拼接三、StringBui...
    99+
    2024-04-02
  • C++基础知识之运算符重载详解
    目录运算符重载方式一, 使用成员函数重载运算符 需求:把牛肉换猪肉, 羊肉换猪肉方式二, 使用非成员函数【友元函数】重载运算符两种方式的区别两种方式的选择:总结运算符重载 为什么要使...
    99+
    2024-04-02
  • JavaScript基础之运算符与表达式详解
    目录一、===二、||三、与..四、...五、[] {}[]{}一、=== 严格相等运算符,用作逻辑判断 1 == 1 // 返回 true 1 == '1' ...
    99+
    2023-05-16
    JavaScript运算符 表达式 JavaScript运算符 JavaScript 表达式
  • Python编程基础之运算符重载详解
    目录学习目标一、运算符重载(一)概述(二)加法运算重载符1、概述2、案例演示总结学习目标 1.掌握运算符重载 2.会定制对象字符串的形式 一、运算符重载 (一)概述 运算符重载是通过...
    99+
    2024-04-02
  • 详细总结各种排序算法(Java实现)
    一、插入类排序1.直接插入排序思想:将第i个插入到前i-1个中的适当位置时间复杂度:T(n) = O(n²)。空间复杂度:S(n) = O(1)。稳定性:稳定排序。如果碰见一个和插入元素相等的,那么插入元素把想插入的元素放在相等元...
    99+
    2023-05-31
    java 排序算法 ava
  • java基础之数组常用操作总结(必看篇)
    常用的对数组进行的操作1、求数组中最大值,最小值思路:假设下标为0的元素是最大值,遍历数组,依次跟max进行比较,如果有元素比这个max还大,则把这个值赋给max。最小值同样public class TestArray{ public s...
    99+
    2023-05-31
    java 数组 常用操作
  • Java基础之创建虚拟机对象的过程详细总结
    目录一、对象的创建1.1 new 类名1.2 分配内存1.3 初始化零值1.4 设置对象信息1.5 构造对象二、对象的内存布局2.1 对象头2.2 实例数据2.3 对齐填充三、对象的...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作