运算符(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. 力扣 - 208. 实现Trie(前缀树)

    目录 题目 思路 代码 复杂度分析 题目 208. 实现 Trie (前缀树) 思路 在我们生活中很多地方都用到了前缀树:自动补全,模糊匹配,九宫格打字预测等等... 虽然说用哈希表也可以实现:是否出 ...

  2. 一本关于HTTP的恋爱日记

    1991年 8月 我叫客户端,英文名字 client. 她叫服务端,英文名字 server. 这一年,我们出生了. 是的,我们都是90后. 我爱她,可是她却远在天边. 为了和她可以互诉衷肠,我同时发明 ...

  3. 经典变长指令SIB

    前言 ModR/M字段是用来进行内存寻址的,可当地址形如DS:[EAX + ECX*2 + 12345678]时,仅仅靠ModR/M字段,是描述不出来的. 这时就在ModR/M后面增加一个SIB字节, ...

  4. (七)Struts2Action访问Servlet API

    第一种方式: Struts2提供了一个ServletActionContext对象可以访问ServletAPI. 例如 HttpServletRequest request=ServletAction ...

  5. 【源码解析】- ArrayList源码解析,绝对详细

    ArrayList源码解析 简介 ArrayList是Java集合框架中非常常用的一种数据结构.继承自AbstractList,实现了List接口.底层基于数组来实现动态容量大小的控制,允许null值 ...

  6. Spring Cloud微服务如何实现熔断降级?

    熔断限流概述 在基于Spring Cloud的微服务架构体系下,按照系统功能边界的不同划分,原先大而全的系统会被拆分为多个不同的微服务,而相应的微服务会提供一组功能关联的服务接口,并向系统中的其他微服 ...

  7. 浅谈 Fresco 框架结构

    在前面的文章 Fresco 源码分析 -- 图片加载流程 里面详细说明了图片加载的整个流程,但是除了理解源码之外,对于源码的框架层面的设计也是需要去了解的,不能只是简单的读源码,好的源码的框架设计也是 ...

  8. 【Azure 环境】在Windows系统中 使用Terraform创建中国区Azure资源步骤(入门级)

    Terraform(全称:Hashicorp Terraform )是一种开源工具,用于预配和管理云基础结构. 它将基础结构编入描述云资源拓扑的配置文件中. 这些资源包括虚拟机.存储帐户和网络接口等. ...

  9. 自动化kolla-ansible部署centos7.9+openstack-train-超融合单机架构

    自动化kolla-ansible部署centos7.9+openstack-train-超融合单机架构   欢迎加QQ群:1026880196 进行交流学习 环境说明: 1. 满足一台电脑一个网卡的环 ...

  10. Django中 render() 函数的使用方法

    render() 函数 在讲 render() 函数之前,我们在 Django 项目 index 文件夹的 urls.py 和 views.py 中编写如下功能代码:(不难,望读者细心阅之) # in ...