运算符(java)

  • 算数运算符:+,-,*,/,%(取余),++,--

  • 赋值运算符:=

  • 关系运算符:<, >, >= ,<= ,== , !=

  • 逻辑运算符:&&,||,!

  • 位运算符:&,|,^,~,>>,<<

  • 条件运算符:?,:

  • 扩展赋值运算符:+=,-=,*=,/=

public class Demo01 {
   public static void main(String[] args) {
       // 二元运算符
       //ctrl+D : 复制当前行到下一行
       int a = 10;
       int b = 20;
       int c = 25;
       int d = 25;

       System.out.println(a+b);
       System.out.println(a-b);
       System.out.println(a*b);
       System.out.println(c/(double)a); //相当于求精确值(2.5),结果的数据类型为double
       System.out.println(c/a);  //相当于取整(2),结果的数据类型仍为int
  }
}

public class Demo02 {
   public static void main(String[] args) {
       long a = 123123123123123L;
       int b = 123;
       short c = 10;
       byte d = 8;

       System.out.println(a+b+c+d); //long
       System.out.println((b+c+d)); //int
       System.out.println(c+d); //int

      }
}

public class Demo03 {
   public static void main(String[] args) {
       // 关系运算符号的返回的结果:
       int a = 10;
       int b = 20;
       int c = 21;
       System.out.println(c%a);// 取余 取模
       System.out.println(c/a);
       System.out.println(c/(double)a);

       System.out.println(a>b);
       System.out.println(a<b);
       System.out.println(a==b);
       System.out.println(a!=b);
  }
}

public class Demo04 {
   public static void main(String[] args) {
       //++ -- 一元运算符
       int a = 3;

       int b = a++;
       System.out.println(a);
       int c = ++a;
       System.out.println(a);
       System.out.println(b);
       System.out.println(c);

       // 幂运算
       double pow = Math.pow(2, 3);
       System.out.println(pow);
       System.out.println("============");

       int d = 5;
       boolean e =(d<4) && (d++<4);  //d++,在程序中没有执行,所以d的值没有没变化
       System.out.println(e);
       System.out.println(d);
  }
}

public class Demo05 {
   public static void main(String[] args) {
       /*
       A = 0011 1100
       B = 0000 1101
       ----------------
       A&B = 0000 1100
       A|B = 0011 1101
       A^B = 0011 0001
        ~B = 1111 0010

       确定算法,让2*8的计算效率最高。2*8=2*2*2*2
       0 0000 0000
       1 0000 0001
       2 0000 0010
       4 0000 0100
       8 0000 1000
       16 0001 0000
       对一个数而言,左移相当于*2;
       右移相当于/2
        */
       System.out.println(2<<3);
       System.out.println(3>>1);
  }
}

public class Demo06 {
   public static void main(String[] args) {
       int a = 10;
       int b = 20;

       a+=b;
       System.out.println(a);
       //a-=b;
       //System.out.println(a);

       //字符连接号 + ,当+前面有字符时,当连接号用,+前面无字符时,当计算符号+用。
       System.out.println(a+b+"");
       System.out.println(""+a+b);
  }
}

JAVA基础——运算符号的更多相关文章

  1. 【Java基础】基础概念

    Java 关键字 被Java语言赋予特定含义的单词  组成关键字的字母全部小写  goto和const作为保留字存在,目前并不使用 一般关键字在IDE中会高亮 用于定义数据类型的关键字 class i ...

  2. Java基础-一文搞懂位运算

    在日常的Java开发中,位运算使用的不多,使用的更多的是算数运算(+.-.*./.%).关系运算(<.>.<=.>=.==.!=)和逻辑运算(&&.||.!), ...

  3. Java基础东西(按位操作运算)

    http://aokunsang.iteye.com/blog/615658 前奏:   昨天一哥们问我Java位移你会吗,我说不会,想想位移这么麻烦,一般有位移的Java代码一律不看,有几个人会啊, ...

  4. 【Java基础】14、位运算之——按位与(&)操作——(快速取模算法)

    学习redis 字典结构,hash找槽位 求槽位的索引值时,用到了 hash值 & sizemask操作, 其后的scan操作涉及扫描顺序逻辑,对同模的槽位 按一定规则扫描! 其中涉及位运算 ...

  5. Java运算符号,对象赋值,别名

    生活发生的一切,才会促使着我继续前行,今天继续更新哦,看书中的代码练习. 例子1  引入net.mindview.util.Print.* ,方便打印结果. package com.date0529; ...

  6. Java基础知识(壹)

    写在前面的话 这篇博客,是很早之前自己的学习Java基础知识的,所记录的内容,仅仅是当时学习的一个总结随笔.现在分享出来,希望能帮助大家,如有不足的,希望大家支出. 后续会继续分享基础知识手记.希望能 ...

  7. 【JAVA面试题系列一】面试题总汇--JAVA基础部分

    JAVA基础 基础部分的顺序: 基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法 线程的语法,集合的语法,io 的语法,虚拟机方面的语法 每天几道,持续更新!! 1.一个". ...

  8. Java基础知识【下】( 转载)

    http://blog.csdn.net/silentbalanceyh/article/details/4608360 (最终还是决定重新写一份Java基础相关的内容,原来因为在写这一个章节的时候没 ...

  9. Java基础知识【上】(转载)

    http://blog.csdn.net/silentbalanceyh/article/details/4608272 (最终还是决定重新写一份Java基础相关的内容,原来因为在写这一个章节的时候没 ...

随机推荐

  1. java例题_14 该日期一年中的第几天问题

    1 /*14 [程序 14 求日期] 2 题目:输入某年某月某日,判断这一天是这一年的第几天? 3 程序分析:以 3 月 5 日为例,应该先把前两个月的加起来,然后再加上 5 天即本年的第几天,特殊情 ...

  2. vue 快速入门 系列

    vue 快速入门(未完结,持续更新中...) 前言 为什么要学习 vue 现在主流的框架 vue.angular 和 react 都是声明式操作 DOM 的框架.所谓声明式,就是我们只需要描述状态与 ...

  3. PAT (Advanced Level) Practice 1002 A+B for Polynomials (25 分) 凌宸1642

    PAT (Advanced Level) Practice 1002 A+B for Polynomials (25 分) 凌宸1642 题目描述: This time, you are suppos ...

  4. 高可用负载均衡 haproxy+keepalived

    服务器 20.0.0.206    10.0.0.206 bs-hk-hk01 高可用负载均衡节点 2c2g 20.0.0.207    10.0.0.207 bs-hk-hk02 高可用负载均衡节点 ...

  5. OO第二章总结

    OO第二章总结 电梯作业终于结束了!!! 这三周作业用多线程模拟搭建电梯的运行,我从开始对多线程的一无所知到结束时的能够完成一些多线程任务的水平,进步还是蛮大的,尽管过程有点艰难. 一.复杂度与UML ...

  6. keepalived安装及组合nginx配置负载实现高可用

    目录 1. Keepalived安装配置 1.1 官网下载tar包 1.2 上传到指定目录安装 1.3 配置文件 1.4 配置nginx检测脚本文件 1.5 keepalived 启动/重启/停止/查 ...

  7. 闲暇时光里最好的挖矿体验——CPU挖乌龟币

    我之前其实是不玩加密货币的,主要是没有钱取投资(tou ji),也没有钱去投资矿机. 不过前几天CSDN推送了一个短文,<黑客用GitHub服务器挖矿,三天跑了3万个任务,代码惊现中文> ...

  8. CentOS7 基本概念以及安装注意事项

    什么是Linux发行版?发行版是什么意思? Linux本质上是操作系统内核,类似Chrome浏览器内核一样,Linux发行版CentOS.Redhat.Ubuntu等等都是基于Linux内核开发出来的 ...

  9. tp5 composer phpexcel使用方法

    1.compser 安装phpexcel.在windows命令行下输入:进入网站根目录,compser phpoffice/phpexcel 2.页面引入两个类: use PHPExcel_IOFac ...

  10. 【并发编程】ThreadLocal

    ThreadLocal Thread类中 具有一个ThreadLocal.ThreadLocalMap ,这个变量是由ThreadLocal去维护的,各个线程之间相互隔离