java运算符1
一:算术运算符(+, -, *, /, ++, --, )
1、+号 :可以做加法运算(加号两边为字符和数字)、正数表示
字符串连接符:只要+号两边其中有一边有字符串,输出时加号就充当连接符 例: System.out.println(“hello”+’a’+1); 输出 helloa1 (从左到右)
System.out.println(‘a’+1+”hello”); 输出 98hello (a的ASCII码值为97)
2、/和%:/取整,想要得到小数可以*1.0。
%取余。
3、++和--:在变量的前面表示先运算在赋值,在变量的后面表示先赋值在运算。(例:a = 4;b = (a++)+(++a)+(a*10) ; a=6,b=70)
二:赋值运算符(= , +=, -=, *=, /=, %=)
1、 short s=1; short s=1;
s = s+1; s+=1;
上面两个代码有没有问题,如果有,那里有问题?(为什么 s = s+1不等同于s+=1)
答:第一个有问题,因为变量参与运算,首先会提升数据类型,然后做运算。所以 s = s+1;s会提升到int类型然后再做加法运算,最终的结果是int类型,所以拿short类型接收会报错,所以要想成功赋值,就得强制类型转换。
第二个代码没有问题,是因为内部自动包含了强制类型转换,s+=1 ===> s = (s的数据类型)(s+1)
三:关系运算符(== , !=, >, <, >=, <=)
1、概述:关系运算符表示一个判断,判断的结果是boolean类型,true和false。所以在赋值时只能用boolean来定义( boolean flag = (a == b);如果a等于b则flag为true,反之则为false)
四:逻辑运算符
1、概述:逻辑运算符的两边放的是boolean类型的值,计算的结果也是一个boolean类型的值。
2、若执行((a++ == 3) 逻辑运算符(b++ == 4))
&(与): 两边有false,则false,两边都做运算
| (或): 两边有true,则true,两边都做运算
^(异或): 两边相同为false,不同为true,两边都做运算
&&(短路与): 两边有false,则false,当&&左边的表达式结果为false的时候,结果肯定为false,右边不执行b++。
|| (短路或): 两边有true,则true,当||左边是true的时候,结果肯定是true,右边不执行。
3、!(a == b) !表示非的意思,a等于b则结果为false。
五、位运算符(<<, >>, >>>, &, |, ^, ~)
1、&,|,^ 求 3 位运算符 4 ?
由于数据在计算机中参与运算的都是补码,先求出两边的补码,在根据补码进行位运算,在吧补码转换成原码。
3的二进制:00000011
4的二进制:00000100
又由于3和4都是正数
3的补码:00000011
4的补码:00000100

2、~(非):将1变成0,0变成1
4的补码是00000011
~4补码是11111100 其原码为10000100 ,所以结果为 —4。
java运算符1的更多相关文章
- Java笔记2-数据类型,变量,Java运算符
我们编写软件,目的是为了高效的操作(增,删,改,查)数据. 数据类型 1.基本类型(8种)byte 字节型 -128~127short 短整型 -32768~32767int 整型 -21474836 ...
- Java运算符优先级(转)
转自:http://www.cnblogs.com/gw811/archive/2012/10/13/2722752.html Java运算符优先级 序列号 符号 名称 结合性(与操作数) 目数 说明 ...
- 【转】Java运算符优先级
原文网址:http://www.cnblogs.com/gw811/archive/2012/10/13/2722752.html Java运算符优先级 序列号 符号 名称 结合性(与操作数) 目数 ...
- java运算符优先级与流程控制
1. Java 的方法Method (函数 Function), 功能, 动作 1) 方法就是函数: y=f(x)=3x+6; 2) 方法的语法 (修饰词)(返回值类型)(方法名)(参数列表){ ...
- Java基本语法-----java运算符的优先级与结合性
这是本人以前的上学期间java 运算符这块知识的总结的,截图存到了word里,大家将就看下吧(不会用Markdown的表格 不然就在写一遍了 T T). [正在看本人博客的这位童鞋,我看你气度不凡,谈 ...
- Java 基本语法---Java运算符
Java 基本语法---Java运算符 0. 概述 Java中的运算符主要分为以下几种: 算术运算符 赋值运算符 关系运算符 逻辑运算符 条件运算符 位运算符 其他运算符 1. 算术运算符 操作符 描 ...
- [转]Java 运算符的优先级
Java 运算符的优先级(从高到低) 优先级 描述 运算符 1 括号 ().[] 2 正负号 +.- 3 自增自减,非 ++.--.! 4 乘除,取余 *./.% 5 加减 +.- 6 移位运算 &l ...
- Java运算符使用总结(重点:自增自减、位运算和逻辑运算)
Java运算符共包括这几种:算术运算符.比较运算符.位运算符.逻辑运算符.赋值运算符和其他运算符.(该图来自网络) 简单的运算符,就不过多介绍使用了,可自行测试.关于赋值运算,可以结合算术运算和位运算 ...
- Java 运算符及优先级
运算符 分割符: , ; [] () 算数运算符: + - * / % ++ -- 关系运算符: > < >= <= == != 逻辑运算符: ! & | ^ & ...
- 【java基础】Java运算符优先级
Java运算符优先级 序列号 符号 名称 结合性(与操作数) 目数 说明 1 . 点 从左到右 双目 ( ) 圆括号 从左到右 [ ] 方括号 从左到右 2 + 正号 从右到左 单目 - 负号 ...
随机推荐
- 运维笔记之yum,rpm,挂载,磁盘管理和raid详解
yum 与 rpm centos6,7 主要有rpm和yum这两种包管理软件,两种包的管理各有用处,其中最主要区别是: yum使用简单但需要联网,yum会去网上的yum包源去获取所需要的软件包.而r ...
- 【Spring Framework】Spring入门教程(七)Spring 事件
内置事件 Spring中的事件是一个ApplicationEvent类的子类,由实现ApplicationEventPublisherAware接口的类发送,实现ApplicationListener ...
- 基于注解的方式搭建mybatis开发框架
1.创建工程 <groupId>com.hope</groupId> <artifactId>day01_eesy_01mybatis</artifa ...
- Spring Boot项目的探究
一.pom.xml文件 1.父项目 <parent> <groupId>org.springframework.boot</groupId> <artifac ...
- 通过DT10获取程序执行过程中的实时覆盖率
DT10是新一代的动态测试工具,可以长时间跟踪记录目标程序执行情况,获取目标程序动态执行数据,帮助进行难于重现的Bug错误分析,覆盖率检测,性能测试,变量跟踪等等功能. 系统测试覆盖率,通常是用于判断 ...
- 【JAVA今法修真】 第一章 今法有万象 百家欲争鸣
大家好,我是南橘,因为这段时间很忙,忙着家里的事情,忙着工作的事情,忙着考试的事情,很多时候没有那么多经历去写新的东西,同时,也是看了网上一些比较新颖的文章输出方式,自己也就在想,我是不是也可以这样写 ...
- Linux中定时任务
目录 一.简介 二.crondtab file 三.crond命令的调试 四.精确到秒的任务计划 一.简介 定时任务在线测试网站 定时任务基本概念: (1).crond是一个daemon类程序,路径为 ...
- 3、回溯算法解题套路框架——Go语言版
前情提示:Go语言学习者.本文参考https://labuladong.gitee.io/algo,代码自己参考抒写,若有不妥之处,感谢指正 关于golang算法文章,为了便于下载和整理,都已开源放在 ...
- Python 的切片为什么不会索引越界?
切片(slice)是 Python 中一种很有特色的特性,在正式开始之前,我们先来复习一下关于切片的知识吧. 切片主要用于序列对象中,按照索引区间截取出一段索引的内容. 切片的书写形式:[i : i+ ...
- outlook2007邮件里的图片显示不出来
outlook2007邮件里的图片显示不出来,这是为啥? 以图片为附件的形式进行传送吧,这样在收件箱里就能在线看图片了,不用担心看不到图片