Java基础知识精通各种运算符

目录
  • 前言
  • 一、算数运算符
    • 1.简介
    • 2.运用
      • +
      • -
      • *
      • /
      • %
  • 二、自增自减运算符
    • ++
  • 三、赋值运算符
  • 四、关系运算符
  • 五、逻辑运算符
    • &(单与)
    • | (单或)
    • ^(异或)
    • !(非)
    • &&(双与)
    • || (双或)
  • 六、位运算符
  • 七、三元运算符

前言

本文章主要集中讲解运算符,篇幅较长,请耐心看完绝对通俗易懂。

一、算数运算符

1.简介

再Java中,使用算术运算符 +、-、*、/、%分别代表加减乘除,取模。

2.运用

+

在java中+有三种:1、正常的运算。2、作为正负来用。3、作为连接符(任意数据类型的数据与字符串相连接的时候,那个+号就是连接符)

实例:

package com;
public class liu {
	public static void main(String[] args) {
		//实例一:作为正常运算
		int c = 1;
		int d = 2;
		int e = c + d;
		System.out.println(e)  //最后结果为3;
		//实例二:作为连接符
		//已知有两个变量a和b,值分别为1和2,在控制台上输出a + b = 3, 1 + 2 = 3
		int a = 1;
		int b = 2;
		System.out.println(a + " + " + b + " = " + (a + b));
		//控制台显示结果为:a + b = 3。
		//注意此时的"+","="作为字符串,而(a + b)则进行运算。
	}
}

-

在java中+有两种:1、正常的运算。2、作为正负来用。

实例:

package com;
public class liu {
	public static void main(String[] args) {
		int a = 1;
		int b = 3;
		int c = b-a;
		System.out.println(c);  //运算结果:2。
	}
}

*

实例:

package com;
public class liu {
	public static void main(String[] args) {
		int i = 4;
		int j = 2;
		int a = i*j;
		System.out.println(a);//8
	}
}

/

当参与/运算的两个数都是整数的话,结果为整数,反之为浮点数。

实例:

package com;
public class liu {
	public static void main(String[] args) {
        //实例1:作为整数运算
		int i = 4;
		int j = 2;
		int a = i / j;
		System.out.println(a);//2
     	//实例2:作为浮点运算
		int i = 5;
		double j = 2;
		double a = i / j;
		System.out.println(a);//2.5
	}
}

%

整数的取余操作(有时称为取模)用%表示。

package com;
public class liu {
	public static void main(String[] args) {
		int i = 2;
		int j = 3;
		System.out.println(i % j);  //0
		int a = 4;
		int b = 2;
		System.out.println(a % b); //2
	}
}

二、自增自减运算符

++

单独使用:不管++在前还是在后,结果都是一样,详见实例1。

参与运算:++在前:先自身加1,然后再参与运算,详见实例2;++在后:先参与运算,然后再自身加1,详见实例3。

实例:

package com;
public class liu {
	public static void main(String[] args) {
		//实例1:单独运算。
		int i = 1;
		i++; // i = i + 1
		++i;
		System.out.println(i);//结果都等于2。
		//实例2:++在前。
		int i = 1;
		int j = ++i;
		System.out.println(j);//2
		System.out.println(i);//2
		//实例3:++在后。
		int i = 1;
		int j = i++;
		System.out.println(j);//1
		System.out.println(i);//2
	}
}

单独使用:不管–在前还是在后,结果都是一样,详见实例1。

参与运算:–在前:先自身减1,然后再参与运算,详见实例2;–在后:先参与运算,然后再自身减1,详见实例3。

package com;
public class liu {
	public static void main(String[] args) {
		//实例1:单独运算。
		int i = 2;
		i--; // i = i - 1
		--i;
		System.out.println(i);//结果都等于1。
		//实例2:--在前。
		int i = 1;
		int j = --i;
		System.out.println(j);//1
		System.out.println(i);//1
		//实例3:--在后。
		int i = 1;
		int j = i--;
		System.out.println(j);//2
		System.out.println(i);//1
	}
}

三、赋值运算符

可以在赋值中使用二元运算符,形式非常简便:x += 4 等价于 x = x + 4。

常见的赋值运算符有:=、+=、-=、*=、/=、%=。

下面以+=为例:

package com;
public class liu {
	public static void main(String[] args) {
		int i = 1;
		i += 2; // i = i + 2
		System.out.println(i); //输出结果3
		byte b = 1;
		b += 2; // b = (byte)(b + 2)
		System.out.println(b);
	}
}

四、关系运算符

关系运算符得出来的结果一定是boolean类型的数据,也就是说要么是true,要么是false

常见的关系运算符:>、<、>=、<=、!=、==。

实例:

package com;
public class liu {
	public static void main(String[] args) {
		int i = 3;
		int j = 2;
		System.out.println(i > j);//true
		System.out.println(i < j);//false
		System.out.println(i >= j);//true
		System.out.println(i <= j);//false
		System.out.println(i != j);//true
		System.out.println(i == j);//false
		// ==是比较两边的大小,=是赋值。
	}
}

五、逻辑运算符

左右两边的数据的数据类型都是boolean类型,结果都是boolean类型。

&(单与)

两边只要有一个是false,结果就为false

实例:

package com;
public class Demo12 {
	public static void main(String[] args) {
		System.out.println(true & true);
		System.out.println(true & false); //false
		System.out.println(false & false);
		System.out.println(false & true); //false
	}
}

| (单或)

两边只要有一个是true,结果就为true。

实例:

package com;
public class Demo12 {
	public static void main(String[] args) {
		System.out.println(true | true);
		System.out.println(true | false);
		System.out.println(false | false); //false
		System.out.println(false | true);
	}
}

^(异或)

两边相同为false,两边不同为true。

实例:

package com;
public class Demo12 {
	public static void main(String[] args) {
		System.out.println(true ^ true); //false
		System.out.println(true ^ false);
		System.out.println(false ^ false); //false
		System.out.println(false ^ true);

	}
}

!(非)

直接就是取反。

实例:

package com;
public class Demo12 {
	public static void main(String[] args) {
		System.out.println(!true); //false
		System.out.println(!false); //true
		System.out.println(!!true); //true
		System.out.println(!!!true); //false
	}
}

&&(双与)

两边只要有一个是false,结果就为false。

实例:

package com;
public class Demo12 {
	public static void main(String[] args) {
		System.out.println(true && true);
		System.out.println(true && false); //false
		System.out.println(false && false); //false
		System.out.println(false && true);  //false
	}
}

&和&&的区别?

  • &&:如果左边为false,右边就不再执行了,结果就为false。
  • &:如果左边为false,右边依然会执行,结果就为false。

|| (双或)

两边只要有一个是true,结果就为true。

实例:

package com;
public class Demo12 {
	public static void main(String[] args) {
		System.out.println(true || true); //true
		System.out.println(true || false); //true
		System.out.println(false || false); //false
		System.out.println(false || true); //true
	}
}

|和||的区别?

  • ||:如果左边为true,右边就不再执行了,结果就为true。
  • |:如果左边为true,右边依然会执行,结果就为true。

六、位运算符

两边的数据都是数字,结果也为数字。

常见的位运算符:&(与位运算)、|(或位运算)、^(异或位运算)、~(按位取反)、>>(右移位运算)、<<(左移位运算)、>>>(无符号右移)。

实例:

package com;
public class Demo01 {
	public static void main(String[] args) {
	    System.out.println(3 & 2); //2
		System.out.println(3 | 2); //3
		System.out.println(3 ^ 2); //1
		System.out.println(~3);//-4
		System.out.println(3 >> 2);//0
		System.out.println(3 << 2);//12
		System.out.println(3 >>> 2);//0
		System.out.println(-3 >> 2);//-1
		System.out.println(-3 >>> 2);
	}
}

>>和>>>区别是什么?

>>:如果数据是负数,最左边的符号位是1,右移之后,左边要补1。

如果数据是正数,最左边的符号位是0,右移之后,左边要补0。

>>>:不管数据是正数还是负数,右移之后,左边都补0。

七、三元运算符

格式:条件表达式 ? 表达式1 : 表达式2; 等同于 x > y ? x : y

条件表达式的结果一定是boolean类型

执行流程:

如果条件表达式为true,就会执行表达式1,不会执行表达式2

如果条件表达式为false,就会执行表达式2,不会执行表达式1

实例:

package com;
public class Demo02 {
	public static void main(String[] args) {
		//获取两个数的较大值
		int i = 2;
		int j = 3;
		//第一种:
		int max = i > j ? i : j;
		System.out.println(max);  //3
		//第二种:
		System.out.println(i > j ? i : j);
		//表达式1和表达式2既然会得到一个结果,如果传递给一个变量去接收,该变量的数据类型应该和表达式1和表达式2的结果的数据类型匹配。
		//浮点型:
		double d = 3 > 2 ? 1 : 2;
		System.out.println(d); //输出:1.0
		//字符型:
		char c1 = 3 > 2 ? 97:98;
		System.out.println(c1); //输出:a
	}
}

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

(0)

相关推荐

  • Java的运算符和程序逻辑控制你了解吗

    目录 运算符 算术运算符 基本四则运算符(+-*/%) 增量运算符(+=-=*=/=%=) 自增/自减运算符(++--) 关系运算符 逻辑运算符 逻辑与(&&) 逻辑或(||) 逻辑非(!) 位运算符 按位与(&) 按位或(|) 按位取反(~) 按位异或(^) 移位运算 左移(<<) 右移(>>) 无符号右移(>>>) 小结 条件运算符 程序逻辑控制 Java中程序的逻辑控制语句 分支语句 循环结构 Java中的输入输出方式 输出到控制台

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

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

  • 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 class test3 { public static void main(String[] args) { //赋值运算符:把10赋给a1,15赋给a2,20赋给a3,"阿伟死了"赋给a4. int a1 = 10; int a2 = 1

  • Java中的运算符你知道多少

    目录 1.算术运算符 1.基本的算数运算符:+-*/% 2.增量运算符**+=-=/= =%=* 3.自增自减运算符++–-- 2.关系运算符 3.逻辑运算符 4.位运算符 5.条件运算符 6.运算符的优先级 总结 1.算术运算符 1.基本的算数运算符:+ - * / % 规则比较简单,但是需要注意的是除法:a). int / int结果还是int,需要使用double来计算. int a = 1; int b = 2; System.out.println(a/b);//结果为0 b). 0不

  • Java不用算数运算符来实现求和方法

    今天遇到了这样一个题 题目说了不能用算数运算符,那么我们就只能从 逻辑运算符 和 移位运算符 入手了. 我们知道 ^ (异或)操作是对两个数进行无进位求和,如果两个数相加本来就不产生进位,那么该和就是两数之和. 这就是解题的关键所在.一般来说,两数相加是会产生进位的,而要得到正确的和,应该是在 “无进位之和” 的基础上加上进位,那我们首先应该得到进位.我们知道,当两个数对应位置都为1的情况下,才会有进位的产生,即对应位置 A&B==1的条件下,就可以得到每一位的进位,但是进位是将这个1加到对应的

  • Java中的位运算符全解

    目录 1.&(按位与运算符) 2.|(按位或运算符) 3.^(异或运算符) 4.<<(左移运算符) 5.>>(右移移运算符) 6.~(取反运算符) 7.>>>(无符号右移运算符) (1)正数无符号右移 (2)负数无符号右移 总结 1. &(按位与运算符) &按位与的运算规则是将两边的数转换为二进制位,然后运算最终值,运算规则即(两个为真才为真):1&1=1 , 1&0=0 , 0&1=0 , 0&0=0 pu

  • 一起学JAVA基础之运算符

    目录 1运算符 1.1概述 1.2运算符速查表 1.3练习:测试自增自减 1.4练习:测试逻辑运算符 1.5练习:求两数的最大值 1.6练习:求平年闰年 2拓展补充: 2.1总结1:算术运算符之自增自减运算符 2.2总结2:逻辑运算符 2.3总结3:优先级控制 总结 1 运算符 1.1 概述 运算符 用于连接 表达式 的 操作数,并对操作数执行运算. 例如,表达式num1+num2,其操作数是num1和num2,运算符是”+”. 在java语言中,运算符可分为5种类型: 算术运算符.赋值运算符.

  • 一篇文章让你弄懂Java运算符

    目录 1. 运算符是什么? 1.1 定义: 1.2 常见运算符的概述 1.3 表达式 1.3.1 定义 1.3.2 表达式的类型 2. 算数运算符 2.1 分类: 2.2 基本四则运算符:加减乘除模(+ - * / %) 2.3 增量运算符(+= -= *= %=…) 2.4 自增/自减运算符(++,–) 3. 关系运算符 4. 逻辑运算符 4.1 &&:逻辑与,并且 4.2 ||:逻辑或,或者 4.3 !:逻辑非,表示否定 4.4 短路求值 5. 位操作符 5.1 按位与& 5.

  • Java基础知识精通各种运算符

    目录 前言 一.算数运算符 1.简介 2.运用 + - * / % 二.自增自减运算符 ++ – 三.赋值运算符 四.关系运算符 五.逻辑运算符 &(单与) | (单或) ^(异或) !(非) &&(双与) || (双或) 六.位运算符 七.三元运算符 前言 本文章主要集中讲解运算符,篇幅较长,请耐心看完绝对通俗易懂. 一.算数运算符 1.简介 再Java中,使用算术运算符 +.-.*./.%分别代表加减乘除,取模. 2.运用 + 在java中+有三种:1.正常的运算.2.作为正负

  • Java基础知识精通块作用域与条件及switch语句

    目录 前言 块作用域 条件语句 格式一 格式二 格式三(常用) switch语句 前言 本文章主要讲解控制流程:块作用域.条件语句.switch语句,篇幅不大,通俗易记. 块作用域 在深入学习控制结构前,须先了解块的作用. 定义:由多条Java语句组成的语句,并用一对大括号括起来. 作用:块确定了变量的作用域,一个块可以嵌套在另一个块上. 实例: package decom1; public class cuowu { public static void main(String[] args)

  • Java基础知识精通注释与数据类型及常量与变量

    目录 一. 注释 1.简介 2.类型 1.单行注释 2.多行注释 3.文档注释 3.注意事项 二.数据类型 1.简介 2.整型 3.浮点类型 4.char类型 5.boolean类型 三.常量与变量 1.常量 2.变量 一. 注释 1.简介 注释就是一种解释程序的文本,提高代码的可读性,帮助我们查找错误,不会影响程序的运行,不用担心可执行代码变得多. 2.类型 1.单行注释 单行注释是最常用的,格式://注释的内容. 用法如下: package day1; public class Demo01

  • Java基础知识精通二维数组的应用

    目录 1.什么是二维数组 2.定义格式 3.二维数组的使用 4.二维数组的遍历 本文章主要讲二维数组定义,用法. 1.什么是二维数组 在二维数组多个元素为一维数组的数组就称为二维数组 2.定义格式 格式一: 元素的数据类型[][] 数组的名字 = new 元素的数据类型[二维数组的长度][一维数组的长度]: int[][] a = new int[3][2]; 解释: 这个二维数组中还有3个一维数组,每个一维数组中有两个元素. 格式二: 元素的数据类型[][] 数组的名字 = new 元素的数据

  • Java基础知识精通数组的使用

    目录 1.数组 2.数组定义格式 3.访问数组 4.遍历数组 前言:本文章正式踏入数组部分,今天来讲一下数组. 1.数组 数组是一组数据结构,用来储存一组相同类型值的集合. 数组就是一个容器. 数组就是个引用数据类型. 作用: 用来装数据,方便对数据进行管理操作. 特点: 一旦创建数组,就不能改变长度. 数组里面所有的元素的类型必须是相同数据类型的. 数组中既可以储存基本数据类型,也可以存储引用数据类型. 2.数组定义格式 格式一:元素的数据类型[] 数组的名字 = new 元素的数据类型[元素

  • Java基础知识精通循环结构与break及continue

    目录 前言 for循环(常用) 1.格式 2.控制流程 3.注释 while循环(常用) 1.格式 2.执行流程 do…while循环 执行流程 区别 break与continue用法 break continue 循环嵌套 前言 本文章主要讲解剩余的控制结构:for循环.while循环,话不多说直接开讲. for循环(常用) for循环是支持迭代的一种通用结构,由一个计数器换或类似的变量控制迭代次数,每次迭代后这个变量会更新.详情见实例1: 1.格式 for(初始化条件;判断条件;控制条件)

  • Java基础知识精通数组的内存分析

    目录 1.数组内存图 2.两个数组的内存图 3.一个变量两个数组容器的内存图 4.两个变量指向一个数组容器的内存图 前言:本文章主要讲解数组的内存图,更好地掌握数组以及数组调用流程,话不多说开讲. 1.数组内存图 1.一个数组的内存图 int[] arr = new int[3]; //刚开始定义数组arr为int型包含三位数字,初始化为0,0,0. arr[0] = 12; //数组arr第一位被赋值12 arr[2] = 14; //数组arr第三位被赋值14 System.out.prin

  • Java基础知识汇总

    Java基础知识 1.Java语言的优点: 1)Java是纯面向对象语言 2)与平台无关性,一次编译到处运行 3)Java提供了狠多内置类库 4)提供了对web应用的支持 5)具有较好的安全性(数组边界检测.Bytecode检测)和健壮性(强制型机制.垃圾回收器.异常处理) 6)去除c++难以理解的一些特性(头文件 指针 运算符重载 多重继承) 2.java与c++的异同: 1)Java为解释型语言,c++为编译型语言,java会慢但是跨平台 2)Jave为纯面向对象,c++既面向对象又能面向过

  • java 基础知识之IO总结

    java  基础知识之IO总结     我计划在接下来的几篇文章中快速回顾一下Java,主要是一些基础的JDK相关的内容. 工作后,使用的技术随着项目的变化而变化,时而C#,时而Java,当然还有其他一些零碎的技术.总体而言,C#的使用时间要更长一些,其次是Java.我本身对语言没有什么倾向性,能干活的语言,就是好语言.而且从面向对象的角度来看,我觉得C#和Java对我来说,没什么区别. 这篇文章主要回顾Java中和I/O操作相关的内容,I/O也是编程语言的一个基础特性,Java中的I/O分为两

  • java 基础知识之网络通信(TCP通信、UDP通信、多播以及NIO)总结

    java 基础知识之网路通信总结 在这篇文章里,我们主要讨论如何使用Java实现网络通信,包括TCP通信.UDP通信.多播以及NIO. TCP连接 TCP的基础是Socket,在TCP连接中,我们会使用ServerSocket和Socket,当客户端和服务器建立连接以后,剩下的基本就是对I/O的控制了. 我们先来看一个简单的TCP通信,它分为客户端和服务器端. 客户端代码如下: 简单的TCP客户端 import java.net.*; import java.io.*; public class

随机推荐