java运算符

一、算数运算符

符号 含义
+ 加法
- 减法
* 乘法
/ 除法
% 余数
++ 自增
-- 自减

这些是常用的算数运算符,在java基础阶段,掌握这些就可

  • 加减乘除运算符

代码实例:

public class Demo01 {
public static void main(String[] args) {
//二元运算符
int a=10;
int b=20;
int c=25;
int d=30;
System.out.println(a+b);
System.out.println(a-b);
System.out.println(a*b);
//当输出数为浮点型的时候,就需要把数据进行强制转换(https://www.cnblogs.com/lingstar/p/16441976.html)
System.out.println(a/(double)b);
//模运算,取余
System.out.println("输出c%a的结果:"+((double)c%a));
}
}

输出结果:

30
-10
200
0.5
输出c%a的结果:5.0
  • 自增与自减运算

自增自减是java中常用的运算符,下面以自增为例,自减也同样适用

代码示例:

public class Demo04 {
public static void main(String[] args) {
//运算符中的自增(++)与自减(--) 一元运算符
int a=5;
int b=a++;//++在后,先赋值再自增
System.out.println(b);
System.out.println(a);
int m=3;
int n=++m;//++在后,先自增,再进行赋值
System.out.println("============分割线================");
System.out.println(m);
System.out.println(n);
System.out.println("============分割线================");
//短路运算(了解即可)
int c=10;
boolean d=(c<4)&&(c++>4);
//可以看得到前面c<4是不成立的,那么就不会执行后面的自增运算,造成短路运算-
System.out.println(d);
System.out.println(c);
}
}

输出结果:

5
6
============分割线================
4
4
============分割线================
false
10

二、赋值运算符

  • 基本赋值运算符=

java基本运算符,实际上不是等于,它相当于把右边表达式的值赋给等号左边的运算数,除了基本的运算符之外,还有一些不常用的,感兴趣的可以自行先了解

三、关系运算符

常见的关系运算符有

符号 含义
> 大于
< 小于
== 等于
!= 不等于
>= 大于等于
<= 小于等于

代码示例:

public class Demo03 {
public static void main(String[] args) {
//关系运算符返回的结果:正确,错误 布尔值
int a=10;
int b=30;
int c=101;
System.out.println("输出a>b的结果:"+(a>b));
System.out.println("输出a<b的结果:"+(a<b));
System.out.println("输出a==b的结果:"+(a==b));
System.out.println("输出a!=b的结果:"+(a!=b)); }
}

输出结果:

输出a>b的结果:false
输出a<b的结果:true
输出a==b的结果:false
输出a!=b的结果:true

四、逻辑运算符

符号 含义 运用
&& 逻辑与运算 全真为真,有假则假
|| 逻辑或运算 有真为真,全假为假
! 逻辑非运算 若真为假,若假为真

代码示例:

public class Demo06 {
public static void main(String[] args) {
//与 (and) 或(or) 非(取反)
boolean a=true;
boolean b=false;
//逻辑与运算,全真为真,有假则假
System.out.println("a&&b:"+(a&&b));
//逻辑或运算,有真为真,全假为假
System.out.println("a||b:"+(a||b));
//逻辑非运算,若真为假,若假为真
System.out.println("!(a&&b):"+(!(a&&b)));
}
}

输出结果:

a&&b:false
a||b:true
!(a&&b):true

五、位运算符

  • 位运算符

    &并 |或 ^异或 ~取反

    a=0011 1100
    b=0000 1001
    a&b=0000 1000
    a|b=0011 1101

    异或是同值为0,异值为1

    a^b=0011 0111

    取反,顾名思义,0为1,1为0

    ~b=1111 0110

左移<<

左移是不管正负,低位补0 。相当于*2,

24的二进制补码为0001 1000

左移两位后变为0110 0000

结果为96,也就是2422

右移>>

如果该数为正,则高位补0,若为负数,则高位补1 , 相当于/2

24的二进制补码为0001 1000

右移两位之后变为0000 0110

结果为6

左移右移效率极高

六、三元运算符

java中的三元运算符跟java中的if语句类似,可以说是if语句的一种简写

代码示例:

public class Demo09 {
public static void main(String[] args) {
//三元运算符
//x?y:z
//如果x==true,则结果为y,否则结果为z
int score=80;
String type=score<80?"不及格":"及格";//一定掌握,三元运算符
System.out.println(type);
} }

输出结果:

及格

既然是if语句的简写,那么用if语句也可以轻松实现

代码示例:

public class Demo09 {
public static void main(String[] args) {
int score=80;
if(score<60){
System.out.println("不及格");
}else {
System.out.println("及格");
}
} }

输出结果:

及格

java运算符(超详细!!!)的更多相关文章

  1. java 多线程超详细总结——阿里大牛熬夜整理

    引 如果对什么是线程.什么是进程仍存有疑惑,请先Google之,因为这两个概念不在本文的范围之内. 用多线程只有一个目的,那就是更好的利用cpu的资源,因为所有的多线程代码都可以用单线程来实现.说这个 ...

  2. Java——HTTP超详细总结

    HTTP协议概述 HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的 ...

  3. Java多线程超详细总结

    目录(?)[-] 一扩展javalangThread类 二实现javalangRunnable接口 三Thread和Runnable的区别 四线程状态转换 五线程调度 六常用函数说明 使用方式 为什么 ...

  4. Java内部类超详细总结(含代码示例)

    什么是内部类 什么是内部类? 顾名思义,就是将一个类的定义放在另一个类的内部. 概念很清楚,感觉很简单,其实关键在于这个内部类放置的位置,可以是一个类的作用域范围.一个方法的或是一个代码块的作用域范围 ...

  5. Java异常超详细总结

    1.1,什么是异常:   异常就是Java程序在运行过程中出现的错误. 骚话: 世界上最真情的相依就是你在try我在catch,无论你发什么脾气,我都静静接受,默默处理(这个可以不记) 1.2,异常继 ...

  6. Java——Spring超详细总结

    Spring概述 一.简化Java开发 Spring为了降低Java开发的复杂性,采用了以下四种策略 基于POJO的轻量级和最小侵入性编程: 通过依赖注入和面向接口实现松耦合: 基于切面和惯例进行声明 ...

  7. Java——多线程超详细总结

    该系列博文会告诉你如何从入门到进阶,一步步地学习Java基础知识,并上手进行实战,接着了解每个Java知识点背后的实现原理,更完整地了解整个Java技术体系,形成自己的知识框架. 一.线程概述 几乎所 ...

  8. JAVA 正则表达式 (超详细)

    (PS:这篇文章为转载,我不喜欢转载的但我觉得这篇文章实在是超赞了,就转了过来,这篇可以说是学习JAVA正则表达的必读篇.作者是个正真有功力的人,阅读愉快) 在Sun的Java JDK 1.40版本中 ...

  9. 转载:JAVA 正则表达式 (超详细)

    在Sun的JavaJDK 1.40版本中,Java自带了支持正则表达式的包,本文就抛砖引玉地介绍了如何使用Java.util.regex包. 可粗略估计一下,除了偶尔用Linux的外,其他Linu x ...

随机推荐

  1. 阿里云服务器的购买、基本配置、(xshell)远程连接、搭建环境

    一.服务器的购买 1.购买时间点:搞活动的时候.利用学生身份购买 (1)活动:想白嫖一台服务器 双十一,可以在双十一左右,时间提前一点,百度或B站,搜阿里云服务器.腾讯服务器(618可能也有) 一般, ...

  2. VUE3 之 自定义指令的实现 - 这个系列的教程通俗易懂,适合新手

    1. 概述 老话说的好:能屈能伸的人生,才是完满而丰富的人生. 言归正传,今天我们来聊聊 VUE 中自定义指令的实现. 2. 自定义指令 2.1 文本框聚焦的实现  <body> < ...

  3. SQL注入靶场

    靶场搭建 系统环境&工具 环境采用centos7的版本(纯命令行),采用一键部署平台,phpstudy工具,安装教程链接:https://www.xp.cn/linux.html#instal ...

  4. Python | 内置函数(BIF)

    Python内置函数 | V3.9.1 | 共计155个 还没学完, 还没记录完, 不知道自己能不能坚持记录下去 1.ArithmeticError 2.AssertionError 3.Attrib ...

  5. Hapoop安装学习(第一天)

    学习任务: 1.安装虚拟机 Linux使用版本为Centos7,共安装3台虚拟机,一台主机和两台从机.主机命名为master,两台从机分别命名为s1和s2. master分配磁盘空间30G,s1和s2 ...

  6. Python模块Ⅰ

    Python模块Ⅰ part1 模块的定义/取别名 自定义模块 什么是模块:模块的本质就是.py文件,封装语句的最小单位 模块中出现的变量,for循环,if结构,函数定义...称为模块成员 模块的运行 ...

  7. java面试:关于public static void main(String[] args)是什么意思?

    它是作为JAVA中的主函数,所有java程序的运行起点就是这个方法,除了args这个名字可以不一样外,其他必须是这样. 主函数的一般写法如下: public static void main(Stri ...

  8. springboot引入mybatis遇到的坑

      前边分享了springboot项目的创建及springboot项目的默认配置文件等,想温习的小伙伴可移步至文章末尾阅读,感谢.今天来分享下springboot引入mybatis框架的步骤,有小伙伴 ...

  9. windiws下安装Composer

    1.先下载Composer-Setup.exe,下载地址:下载Composer .会自动搜索php.exe的安装路径,如果没有,就手动找到php路径下的php.exe. 2.在PHP目录下,打开php ...

  10. 【Spring】事务的执行原理(二)

    前置知识 事务的执行步骤如下: 获取事务管理器 创建事务 执行目标方法 捕捉异常,如果出现异常进行回滚 提交事务 public abstract class TransactionAspectSupp ...