运算符(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. 【LiteOS】LiteOS任务篇-源码分析-创建任务函数

    目录 前言 链接 参考 笔录草稿 部分源码分析 源码分析 LOS_TaskCreate函数 LOS_TaskCreateOnly函数 宏 OS_TCB_FROM_PENDLIST 和 宏 LOS_DL ...

  2. 自动统计zabbix过去一周监控告警

    # -*- coding:utf-8 -*-import jsonimport requestsimport time,datetimeimport csv,chardetdef getToken(u ...

  3. 全网最值得推荐的ELKB日志学习博客-博客地址留存

    博客地址:https://elasticstack.blog.csdn.net/article/details/102728604 博客地址留存,后续解决疑难问题

  4. mysql大于当前时间置顶并按升序排序,小于当前时间的置尾并按降序排序

    现在用id来代替时间这样好测试 看一下测试表数据 执行按需求规则排序的sql SELECT * FROM number_generator ORDER BY id < 16 , IF(id &l ...

  5. Egress-Assess-出口数据安全功能测试

    简介 Egress-Assess是一款用于测试出口数据检测功能的工具,该工具可辅助完成数据安全模型测试. 在各种情况下,我们的团队都会尝试从我们正在运行的网络中提取数据,并将其移至另一个位置以进行脱机 ...

  6. Dynamics CRM各个版本的元数据浏览解决方案

    https://docs.microsoft.com/en-us/dynamics365/customerengagement/on-premises/developer/browse-your-me ...

  7. 翻译:《实用的Python编程》09_01_Packages

    目录| 上一节 (8.3 调试) | 下一节 (9.2 第三方包) 9.1 包 如果编写一个较大的程序,我们并不真的想在顶层将其组织为一个个独立文件的大型集合.本节对包(package)进行介绍. 模 ...

  8. CTF导引(一)

    ctf预备知识: 视频:https://www.bilibili.com/video/av62214776?from=search&seid=1436604431801225989 CTF比赛 ...

  9. win10美化,让你的win10独一无二,与众不同!

    2020.06.23 更新 1 原则 美化之前,得先有一个目标对不对,笔者是一个喜欢简单的人,因此美化本着三大原则:简单,干净,整洁. 呃....好像很抽象的样子,上图吧.反正没图没真相. 怎么样,还 ...

  10. 如何在 NET 程序万种死法中有效的生成 Dump (下)

    一:背景 上一篇我们聊到了如何通过 procdump 抓取 cpu爆高 和 内存暴涨 两种情况,这一篇再聊聊如何去抓程序 挂死 和 意外退出. 二:程序挂死 1. 定义 程序挂死 简单的说就是程序没有 ...