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…

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

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

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

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

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

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

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

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

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

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

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

B-树B-树是一种多路搜索树(并不一定是二叉的)1970年,R.Bayer和E.mccreight提出了一种适用于外查找的树,它是一种平衡的多叉树,称为B树(或B-树、B_树)。一棵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;从而提高性能。在并行计算体系结构实现中有很多可选的体系结构。包括&…

返回对应对象的克隆方法

代码 usingSystem;usingSystem.Collections.Generic;usingSystem.Text;usingSystem.Collections;usingSystem.Reflection;namespaceCommon.CloneObjBase{ ///<summary>///BaseObject类是一个用来继承的抽象类。 ///每一个由此类继承而来的类将自动支持克隆方法…

linux磁盘使用情况脚本,技术|用 Linux Shell 脚本来监控磁盘使用情况并发送邮件...

市场上有很多用来监控 Linux 系统的监控工具&#xff0c;当系统到达阀值后它将发送一封邮件。它监控所有的东西例如 CPU 利用率、内存利用率、交换空间利用率、磁盘空间利用率等等。然而&#xff0c;它更适合小环境和大环境。想一想如果你只有少量系统&#xff0c;那么什么是最…

markdown 语法_Markdown 基本语法

Markdown 是一种轻量级的标记语言&#xff08;markup language&#xff09;&#xff0c;由 John Gruber&#xff08;1973 ~&#xff09;与 Aaron Swartz &#xff08;1986 ~ 2013&#xff09;于2004年创造&#xff0c;被网站用于编写说明文件&#xff08;readme&#xff09;、技…

原来fb可以在一个工程里面输出多个swf模块

转载于:https://www.cnblogs.com/wonderKK/archive/2013/01/23/2873555.html

MYSQL的全表扫描,主键索引(聚集索引、第一索引),非主键索引(非聚集索引、第二索引),覆盖索引四种不同查询的分析...

文章出处&#xff1a;http://inter12.iteye.com/blog/1430144 MYSQL的全表扫描&#xff0c;主键索引(聚集索引、第一索引)&#xff0c;非主键索引(非聚集索引、第二索引)&#xff0c;覆盖索引四种不同查询的分析 1.前置条件&#xff1a; 本次是基于小数据量&#xff0c;且数据块…

python异常处理的语法格式_Python异常处理

Python异常处理 一. 异常的概念 程序在运行时&#xff0c;如果 Python 解释器 遇到 到一个错误&#xff0c;会停止程序的执行&#xff0c;并且提示一些错误信息&#xff0c;这就是 异常。 程序停止执行并且提示错误信息 这个动作&#xff0c;我们通常称之为&#xff1a;抛出(ra…

从零开始山寨Caffe·零:必先利其器

工作环境 巧妇有了米炊 众所周知&#xff0c;Caffe是在Linux下写的&#xff0c;所以长久以来&#xff0c;大家都认为跑Caffe&#xff0c;先装Linux。 niuzhiheng大神发起了caffe-windows项目&#xff08;解决了一些编译、API相异问题&#xff09; 以及willyd大神发起的caffe-wi…

python单例_Python - 单例模式(Singleton)

单例模式(Singleton) 本文地址: http://blog.csdn.net/caroline_wendy/article/details/23374575 单例模式 , 类的实例从始至终, 只 被创建一次 , 这些类可以用来管理一些资源; 需要 继承Object类 , 才可以使用类的方法 super() , 只实例化一次; 参见Python文档: Note super() …

Linux抓eth0网卡包的命令,Linux系统使用tcpdump命令抓包

前提条件&#xff1a;1. 一台安装有Linux的机器….这个是必要的&#xff1b;2. Tcpdump程序;3. 以下所有均是root用户登录操作&#xff0c;且命令不支持直接复制到Linux控制台&#xff0c;请手工输入&#xff01;4.工具以及教程文档下载地址 点我操作步骤&#xff1a…

common-collections中Java反序列化漏洞导致的RCE原理分析

2019独角兽企业重金招聘Python工程师标准>>> common-collections中Java反序列化漏洞导致的RCE原理分析 隐形人真忙 2015/11/11 22:40 0x00 背景 这几天在zone看到了有人提及了有关于common-collections包的RCE漏洞&#xff0c;并且http://zone.wooyun.org/content/…