day02(下)_运算符

 

首先了解java运算符的优先级和结合性:

 运算符优先级

常用转义字符表:

     转义序列表

示例1 取余/字符串/转义字符:

class operator1
{public static void main(String[] args){//取余System.out.println(-1%5);//-1System.out.println(1%-5);//1与左边的操作数同号System.out.println(3.1%2.5);//字符串:字符串数据和任何数据使用+都是相连接//,最终变成字符串System.out.println("ab"+5+5);//"ab55"int a=3,b=4;System.out.println("a="+a+",b="+b);//"a=3,b=4"(加双引号表示其为字符串)//转义字符:每一个转义字符是一个单一字符 '\n'System.out.println("java\rev");//evvaSystem.out.println("java\nev");//java//evSystem.out.println("\\n");//"\n"char ch='好';//一个中文2byte,char型2byteSystem.out.println(ch);System.out.println("& "+(12&23));//4//System.out.println("&& "+(12&&23));//错误,不能用于非boolean类型运算System.out.println("^ "+(12^23));//27System.out.println("^ "+(true^false));//true//^,&既能用于数值运算,也可以用于boolean型运算}}

运行结果:

在以上的例子中注意'\r'和'\n'区别:\n 是回车+换行 把光标 先移到 行首 然后换到下一行 也就是 下一行的行首拉

\r 就是return 回到 本行 行首 这就会把这一行以前的输出 覆盖掉

\t:一个"制表区"占8列.

参考文章:http://hane00.blog.163.com/blog/static/1600615220126204446809/

示例二:赋值运算符/位运算符

class operator2
{public static void main(String[] args){//+=,/=,*=......short s=5;//s=s+5;//报错,s+5结果为int,不能赋值给short型(做了两次运算)s += 5;//成功,原因:首先做了一次运算:把左右两边的和//赋值给左边,和short s=5;类似.+=运算符给s赋值时自动完成//强转操作System.out.println("s="+s);//关于^:假设两个数a,b,则有:a^b^b=a,应用到两数交换int a=4,b=5;a=a^b;b=a^b;//相当于(a^b)^b为a,赋值给了ba=a^b;//相当于(a^b)^a为b,赋值给了aSystem.out.println("a="+a+",b="+b);//一般仍采用第三方变量(temp)进行交换}}

运行结果:

位运算

示例3:条件运算符结果类型

class operator3
{public static void main(String[] args) {char x='X';//对int类型的常量进行测试int i=12;System.out.println(true?x:12);//XSystem.out.println(true?x:i);//88//对long类型的常量进行测试long l=12L;System.out.println(true?x:12L);//88System.out.println(true?x:l);//88//对float类型的常量进行测试double d=12.0;System.out.println(true?x:12.0);//88.0System.out.println(true?x:d);//88.0

}}

运行结果:

条件运算符结果

确定条件表达式结果类型的规则过于冗长和复杂,很难完全记住它们,但是其核心就是一下三点:

  • 如果第二个和第三个操作数具有相同的类型,那么它就是条件表达式的类型。换句话说,你可以通过绕过混合类型的计算来避免大麻烦。

 

  • 如果一个操作数的类型是T,T表示byte、short或char,而另一个操作数是一个int类型的常量表达式,它的值是可以用类型T表示的,那么条件表达式的类型就是T。

 

  • 否则,将对操作数类型运用二进制数字提升,而条件表达式的类型就是第二个和第三个操作数被提升之后的类型。

关于第三点:个人理解为应该向  占用字节多(精度高)的类型 提升

还有一点:三元运算符运算完必须要有结果.

   例如:

       20>10?System.out.println("20"):System.out.println("10");//运行失败,但是C语言可以.

原文地址:http://www.cnblogs.com/gw811/archive/2012/10/28/2743586.html

 

最后总结一下if-else和switch什么时候用?

  具体数值判断,数值不多,而是符合 char,short,byte,int(switch可选择的类型,随着JDK版本提升,可能会添加一些类型(字符串,枚举))

   建议用switch,效率稍高,因为switch列出了所有可能.

 

   其它情况,对区间判断,对结果为boolean型判断,用if,if使用范围更广

   

 

 

  


----android培训 、java培训、期待与您交流!----

转载于:https://www.cnblogs.com/yiqiu2324/archive/2013/01/14/2859380.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/262049.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

activity 生命周期_如何理解安卓activity的生命周期(on-create篇)?

个人认为用类比的方式来学习新事物比较容易接受。我这里用蝴蝶的一生来做比喻。OnCreate阶段就像是蝴蝶的幼虫刚出卵里孵化出来,蝴蝶的一生只可能出生一次,oncreate只能被创建一次。蝴蝶刚出生的时候还不是蝴蝶,而是一只毛毛虫一样的东西&…

【十大经典数据挖掘算法】k-means

【十大经典数据挖掘算法】系列 C4.5K-MeansSVMAprioriEMPageRankAdaBoostkNNNave BayesCART1. 引言 k-means与kNN虽然都是以k打头,但却是两类算法——kNN为监督学习中的分类算法,而k-means则是非监督学习中的聚类算法;二者相同之处&#xff1…

php strstr 效率,PHP中的stristr(),strstr(),strpos()速度比较

测速代码:function getmicrotime(){list($usec, $sec) explode(" ",microtime());return ((float)$usec (float)$sec);}$time_start getmicrotime();$string"xxxddxx";$find"d";for ($i0;$i<300000;$i){if (stristr($string,$find))//if (…

ajax获取数据用弹窗显示_Vue之 点击返回弹出推荐商品弹窗

阅读本文约需要5分钟大家好&#xff0c;我是你们的导师&#xff0c;我每天都会在这里给大家分享一些干货内容(当然了&#xff0c;周末也要允许老师休息一下哈)。上次老师跟大家分享了VUE 之 v-on指令的知识&#xff0c;今天跟大家分享下Vue之 点击返回弹出推荐商品弹窗的知识。…

Navicat 编辑器自动完成代码功能讲解

2019独角兽企业重金招聘Python工程师标准>>> Navicat 提供广泛的编辑器高级功能&#xff0c;例如&#xff1a;编辑代码功能、智能自动完成代码、设置 SQL 格式及更多。本教程将介绍关于自动完成代码的操作。 Navicat下载地址&#xff1a;http://www.formysql.com/xi…

win2008的搜索功能就是个鸡肋

搜索文件名做得还好&#xff0c;搜索文本关键字连98都不如。 还有远程功能&#xff0c;一个终端登陆了&#xff0c;本地马上就注销了&#xff0c;还比不上WIN03转载于:https://www.cnblogs.com/LCX/archive/2010/04/19/1715698.html

DNN Experience

DNN Experience DNN编译导致异常。在做模块开发时&#xff0c;引用DNN原始Dll文件时&#xff0c;设置为不覆盖原有文件。不然容易导错误异常。 在开发DNN Schedule 或其他扩展功能时。因为此时不在站点的页面文件下&#xff0c;不能直接引用DNN命名空间下的很多全局变量。会造成…

oracle 导入excel时间格式,将.xls或者.excel格式的数据导入到Oracle中

本文档来自:[url]http://hi.baidu.com/wangbin_529/blog/item/6191d74b06b83c2b09f7efbd.html[/url]1、将xls格式另存为cvs(逗号隔开)。例如&#xff1a;左边为xls的表格;右边为转换成csv的文档,保存csv文档到E盘。[img]http://hiphotos.baidu.com/smile_%B1%B4/pic/item/a536c…

com 组件调用不起来_AwesomeGithub组件化探索之旅

阅读前请点击右上角“关注”&#xff0c;每天免费获取Android知识解析及面试解答。Android架构解析&#xff0c;只做职场干货&#xff0c;完全免费分享&#xff01;之前一直听说过组件化开发&#xff0c;而且面试也有这方面的提问&#xff0c;但都未曾有涉及具体的项目。所以就…

将团队迁移到可视化项目管理软件

自2000年代中期&#xff0c;“Scrum”项目管理&#xff08;PM&#xff09;一直统治着软件开发方法。它的迭代结构、频繁会议和清晰的层次结构使其成为受频繁变化的客户需求和条件管制的行业的明显选择。因此&#xff0c;大多数团队习惯基于 Scrum项目管理应用管理开发过程。 \\…

一步一步学Silverlight 2系列(3):界面布局_转载

概述 Silverlight 2 Beta 1版本发布了&#xff0c;无论从Runtime还是Tools都给我们带来了很多的惊喜&#xff0c;如支持框架语言Visual Basic, Visual C#, IronRuby, Ironpython&#xff0c;对JSON、Web Service、WCF以及Sockets的支持等一系列新的特性。《一步一步学Silverlig…

网址

Html5 &#xff1a; http://fff.cmiscm.com/#!/main 20个案例让你了解用HTML5可以做出什么作品转载于:https://www.cnblogs.com/wangdyy/archive/2013/01/21/2869545.html

Spring学习11-Spring管理各种数据源

Spring 完全可以不依赖容器,自己管理数据源,但是却依赖第三方的开源的数据源管理框架. Spring在第三方依赖包中包含了两个数据源的实现类包&#xff0c;其一是Apache的DBCP&#xff0c;其二是 C3P0。可以在Spring配置文件中利用这两者中任何一个配置数据源。 1、DBCP数据源…

b树与b+树的区别_一文详解 B-树,B+树,B*树

B-树B-树是一种多路搜索树&#xff08;并不一定是二叉的&#xff09;1970年&#xff0c;R.Bayer和E.mccreight提出了一种适用于外查找的树&#xff0c;它是一种平衡的多叉树&#xff0c;称为B树&#xff08;或B-树、B_树&#xff09;。一棵m阶B树(balanced tree of order m)是一…

提交按钮禁用的办法

1.html: οnclick"this.value正在打印&#xff0c;请稍候;this.disabled true;" <input id"Button2" type"button" value"打印测试" οnclick"this.disabled true;" /> 效果如下&#xff1a; 2.如果是ASP.NET的服务…

share-Nothing原理

Share nothing理论在数据库设计和优化中的实践应用 首先介绍share nothing概念。最早接触它是在 DataBaseManagentSystem一书的并行数据库章节中。 并行数据库要求尽可能的去并行执行数据库操作&#xff0c;从而提高性能。在并行计算体系结构实现中有很多可选的体系结构。包括&…

linux查看逻辑卷命令,Linux命令--逻辑卷管理

往卷组中添加新的物理卷10.vgcfgbackup备份卷组中各物理卷的VGDA信息到/etc/vmconf目录的文件中11.vgcfgrestore从文件中恢复卷组中物理卷的VGDA12.vgchange改变卷组属性13.vgck检测卷组中VGDA的一致性14.vgdisplay显示卷组信息15.vgexport输出卷组使系统不能识别该卷组16.vgim…

python怎么创建文件夹_如何使用python在文件夹中创建文本文件?

我试图在一个不是运行脚本的目录的文件夹中创建一个.txt文件。我有一个脚本所在的文件夹&#xff0c;我可以在脚本所在的同一个目录中创建该文件夹&#xff0c;但它不会在该文件夹中创建文本文件。我通常遇到两个错误中的一个&#xff1a;PermissionError: [Errno 13] Permissi…

顺利搭建了oracle

哈哈转载于:https://www.cnblogs.com/zzzzw/p/5182224.html

php 计算n天后

法一:date("Y-m-d",mktime(0,0,0,date("m"),date("d")7,date("Y"))); 法二:date("Y-m-d H:i:s",strtotime("-7 day"));转载于:https://www.cnblogs.com/kwishly/archive/2013/01/23/2872834.html