上一篇介绍了java的变量和数据类型,要对数据处理,还需要用到java运算符,这里只总结下常用的,运算符主要分为以下几类:
1 算数运算符
  算数运算符包括:

          + 加法运算
          - 减法运算
          * 乘法运算
          / 除法运算
          % 取模运算,相除取余数
          ++ 、 -- 自增自减运算

  前五种和数学中运算符一致,最后一种自增和自减是变量自身加/减1,有两种用法,一种放在变量前使用,如++i;一种放在变量后使用,如i++;这两种用法单独使用结果都一样,都是自身+1。但是如果和赋值运算一起使用时,就会有区别。例如下面代码:

public static void main(String[] args) {
int a = 1;
int b = ++a;
System.out.println(a);//计算结果是2
System.out.println(b);//计算结果是2
int c = a++;
System.out.println(a);//计算结果是3
System.out.println(c);//计算结果是2
}

赋值运算时, 前++ 是变量a先加1,再将加1后的结果赋值给b,a和b的结果都是2, 后++ 是a先赋值给c,变量a再加1,c的结果是2,a是3。

+ 符号在操作字符串的时候,就是把字符拼接起来,"a"+"b"的结果是“ab”

2 赋值运算符

赋值运算符,就是将符号右边的值,赋给左边的变量。

赋值运算符包括:
        = 等于号
        += 加等于
        -= 减等于
        *= 乘等于
        /= 除等于
        %= 取模等
示例代码:

public static void main(String[] args){
int i = 1;
i+=2;//等同 i=i+2 变量i先加2,再赋值变量i,其余赋值运算符也是这个操作
System.out.println(i); //输出结果是3
}

3 比较运算符
  比较运算符,是两个数据之间进行比较的运算。
比较运算符包括:
        == 比较符号两边数据是否相等,相等结果是true。
        < 比较符号左边的数据是否小于右边的数据,如果小于结果是true。
        > 比较符号左边的数据是否大于右边的数据,如果大于结果是true。
        <= 比较符号左边的数据是否小于或者等于右边的数据,如果小于结果是true。
        >= 比较符号左边的数据是否大于或者等于右边的数据,如果小于结果是true。
        != 不等于符号 ,如果符号两边的数据不相等,结果是true。

示例代码:

public static void main(String[] args) {
System.out.println(1==1);//true
System.out.println(1<2);//true
System.out.println(1>2);//false
System.out.println(1<=2);//true
System.out.println(1>=2);//false
System.out.println(1!=2);//true
}

4 逻辑运算符
  逻辑运算符,是用来连接两个布尔类型结果的运算符,运算结果都是布尔值 true 或者 false

逻辑运算符包括:
        && 与运算  两边都是true,结果是true ,只要有一边是false,结果是false, 特点:符号左边是false,右边不再运算
        || 或运算 两边都是false,结果是false,只要有一边是true,结果是true,特点: 符号左边是true,右边不再运算
        ! 取反    true 取反结果是false, !false取反结果是true
示例代码:

public static void main(String[] args) {
System.out.println(true && true);//true
System.out.println(true && false);//false
System.out.println(false || false);//falase
System.out.println(false || true);//true
System.out.println(!false);//true
}

5 三元运算符
  三元运算符格式:数据类型 变量名 = 布尔类型表达式?结果1:结果2
  如果布尔类型表达式结果是true,三元运算符整体结果为结果1,
  如果布尔类型表达式结果是false,三元运算符整体结果为结果2。
示例代码:

public static void main(String[] args) {
int i = (1<=2 ? 1 : 2);
System.out.println(i);//结果1
int j = (1==2 ? 1 : 2);
System.out.println(j);//结果2 }

java自学-运算符的更多相关文章

  1. Java自学路线图之Java系统自学

    Java自学不是一朝一夕的事情.可以采用"懒开始"的方法,但是必须要坚持下去,才能真正自学Java掌握编程技术.那些企图学几天去包装一下找工作的,请绕道.如果你下定决心自学Java ...

  2. Java自学路线图之Java基础自学

    自学Java要从Java基础语法开始自学,自学Java的过程中打好基础是很重要的!首先自学:面向对象基础,API基础,集合基础.这些对Java小白的数学和英语能力的要求门槛不高,在学习的过程中积累相应 ...

  3. 大学四年,总结一套适合小白的Java自学路线和方法

    前言篇 大家好,我是bigsai 好久不见,甚是想念,文章同时收录在回车课堂(文底阅读原文可达). 无论你是大学生还是在职人员,想学Java时,都会面临两个选择,自学或者报班.报班通常太费钱,时间又不 ...

  4. 【转】JAVA自学之路

    JAVA自学之路 一: 学会选择 为了就业,不少同学参加各种各样的培训. 决心做软件的,大多数人选的是java,或是.net,也有一些选择了手机.嵌入式.游戏.3G.测试等. 那么究竟应该选择什么方向 ...

  5. Java自学之道全文下载地址

     道可道非常道,名可名非常名. Java自学之道博大精深,自己只是将理论和实际相结合,进行了简单总结. Java自学之道全文可在自己的博客下载 http://my.oschina.net/mkh/bl ...

  6. Java自学成长路线(转载)

    JAVA自学之路 一:学会选择  决心做软件的,大多数人选的是java,或是.net,也有一些选择了手机.嵌入式.游戏.3G.测试等.  JAVA是一种平台,也是一种程序设计语言,如何学好程序设计不仅 ...

  7. java移位运算符具体解释

    java移位运算符不外乎就这三种:<<(左移).>>(带符号右移)和>>>(无符号右移). 1. 左移运算符 左移运算符<<使指定值的全部位都左移 ...

  8. JAVA的运算符和条件结构

    一.JAVA的运算符. 1.赋值运算符 赋值就是把一个变量的值赋给另一个变量. 语法: 变量名=表达式     例如  n = m + 5 2.算术运算符      算术运算符是数学中常用的加.减.乘 ...

  9. java位移运算符3 转

    https://www.cnblogs.com/winsker/p/6728672.html 移位运算符操作的对象就是二进制的位,可以单独用移位运算符来处理int型整数. 理解java移位运算符 运算 ...

随机推荐

  1. 891. Sum of Subsequence Widths

    Given an array of integers A, consider all non-empty subsequences of A. For any sequence S, let the  ...

  2. “全栈2019”Java多线程第二十六章:同步方法生产者与消费者线程

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java多 ...

  3. clang 编译 OC

    clang -fobjc-arc -framework Foundation helloworld.m -o helloworld.out OVERVIEW: clang LLVM compiler ...

  4. (2)特征点匹配,并求旋转矩阵R和位移向量t

    include头文件中有slamBase.h # pragma once // 各种头文件 // C++标准库 #include <fstream> #include <vector ...

  5. vue-router进阶笔记

    导航守卫 vue-router 提供的导航守卫主要用来通过跳转或取消的方式守卫导航,大白话,检测路由跳转过程中的具体的变化. 一.全局前置守卫——router.beforeEach 使用router. ...

  6. [As3.0] 获取本机信息

    package { import flash.display.Sprite; import flash.events.Event; import flash.net.NetworkInfo; impo ...

  7. [bug]小米部分机型(5x、mix2)中,文字/背景闪现然后消失

    2/9更新 后来遇到float 元素也这样,改成flex布局就没问题.不知道具体原因. 描述: 使用vue 2.4开发HTML5时,遇到在小米部分机型(5x.mix2)中,文字/文字背景闪现然后消失. ...

  8. 【wireshark】Wireshark原理分析与二次开发系列

    1.版权声明 本系列文章是本人花了很多心血写成,wireshark本是开源软件,本人也乐于技术知识和经验的分享,更是欣赏和推崇开源精神,因此任何看到本文的人都可以随意转载,但只有一个要求: 在大段甚至 ...

  9. day 56 linux的安装python3 ,虚拟环境,mysql ,redis

    1.1下载python源码包 网址:https://www.python.org/downloads/release/python-366/ 下载地址:https://www.python.org/f ...

  10. vue中axios访问Java后端跨域问题解决

    问题背景: 前后端分离,前端选用Vue,后端选用Java,vue编译出的静态页面采用ngix发布,在前端访问后端时出现跨域问题. 解决方法: 跨域的问题解决方法有好多种,这里是通过服务端解决,以下是代 ...