运算符(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. python之极简ATM系统示例

    """用户可登陆系统输错三次锁定账号用户可以创建新的用户名密码新用户初始账户设为0新用户可直接登陆系统用户登陆成功后可以选择业务类型用户数据可以根据业务修改输入Q随时退出 ...

  2. java例题_24 逆向输入数字

    1 /*24 [程序 24 根据输入求输出] 2 题目:给一个不多于 5 位的正整数,要求:一.求它是几位数,二.逆序打印出各位数字. 3 */ 4 5 /*分析 6 * 首先从键盘得到一个正整数,不 ...

  3. go每日一库 [home-dir] 获取用户主目录

    关于我 我的博客|文章首发 顾名思义,go-homedir用来获取用户的主目录.实际上,通过使用标准库os/user我们也可以得到内容,使用以下方式 标准库使用 package main import ...

  4. linux日志文件说明

    /var/log/message 系统启动后的信息和错误日志,是Red Hat Linux中最常用的日志之一 /var/log/secure 与安全相关的日志信息 /var/log/maillog 与 ...

  5. 从零搭建一个IdentityServer——会话管理与登出

    在上一篇文章中我们介绍了单页应用是如何使用IdentityServer完成身份验证的,并且在讲到静默登录以及会话监听的时候都提到会话(Session)这一概念,会话指的是用户与系统之间交互过程,反过来 ...

  6. OOUnit1Summary

    一.前三次作业内容分析 前言 第一单元的作业以表达式求导为主题,分三次要求逐步增加,难度逐步提高.这三次作业下来,本人既有收获,也有遗憾,因此通过接下来的内容对我这三次作业进行分析和总结,希望能能为我 ...

  7. NPM 与 NPX 区别

    NPM 和 NPX 区别 NPM Node Package Manager npm 是 Node.js 的软件包管理器,其目标是自动化的依赖性和软件包管理 NPX npx 是执行 Node 软件包的工 ...

  8. PAT A1032 Sharing

    题意:给出两条链表的首地址以及若干节点的地址,数据,下一个节点的地址,求两条链表的首个共用节点的地址.如果两条链表没有共用节点,则输出-1.思路步骤1:由于地址的范围很小,因此可以直接用静态链表,但是 ...

  9. Spring Boot入门学习

    1. Spring Boot概述 1.1.什么是Spring Boot SpringBoot是一个可使用Java构建微服务的微框架.是Spring框架及其社区对"约定优先于配置"理 ...

  10. 王炸!!IDEA 2021.1 推出语音、视频功能,边写代码边聊天,我真的服了…

    IDEA 2020.3 刚没用多久,2021.1 又陆续给我推送更新了: 启动就提醒更新,麻烦,那不如更新下,体验下新版本. 如上图所示,2021.1 更新了 9 个新特性,下面栈长会一一体验给大家介 ...