Welcome 微信登录

首页 / 软件开发 / JAVA

java的按位运算符

java的按位运算符

java的按位运算符2007-05-27 yycnet.yeah.net yyc译按位运算符允许我们操作一个整数主数据类型中的单个“比特”,即二进制位。按位运算符会对两个自变量中对应的位执行布尔代数,并最终生成一个结果。按位运算来源于C语言的低级操作。我们经常都要直接操纵硬件,需要频繁设置硬件寄存器内的二进制位。Java的设计初衷是嵌入电视顶置盒内,所以这种低级操作仍被保留下来了。然而,由于操作系统的进步,现在也许不必过于频繁地进行...
java的移位运算符

java的移位运算符

java的移位运算符2007-05-27 yycnet.yeah.net yyc译移位运算符面向的运算对象也是二进制的“位”。可单独用它们处理整数类型(主类型的一种)。左移位运算符(<<)能将运算符左边的运算对象向左移动运算符右侧指定的位数(在低位补0)。“有符号”右移位运算符(>>)则将运算符左边的运算对象向右移动运算符右侧指定的位数。“有符号”右移位运算符使...
java的三元运算符

java的三元运算符

java的三元运算符2007-05-27 yycnet.yeah.net yyc译这种运算符比较罕见,因为它有三个运算对象。但它确实属于运算符的一种,因为它最终也会生成一个值。这与本章后一节要讲述的普通if-else语句是不同的。表达式采取下述形式:布尔表达式 ? 值0:值1若“布尔表达式”的结果为true,就计算“值0”,而且它的结果成为最终由运算符产生的值。但若“布尔表达式”的结果...
java的字符串运算符“+”

java的字符串运算符“+”

java的字符串运算符“+”2007-05-27 yycnet.yeah.net yyc译这个运算符在Java里有一项特殊用途:连接不同的字串。这一点已在前面的例子中展示过了。尽管与+的传统意义不符,但用+来做这件事情仍然是非常自然的。在C++里,这一功能看起来非常不错,所以引入了一项“运算符过载”机制,以便C++程序员为几乎所有运算符增加特殊的含义。但非常不幸,与C++的另外一些限制结合,运算符过载成为一种非常复杂的特性,程序员在...
java运算符常规操作规则

java运算符常规操作规则

java运算符常规操作规则2007-05-27 yycnet.yeah.net yyc译使用运算符的一个缺点是括号的运用经常容易搞错。即使对一个表达式如何计算有丝毫不确定的因素,都容易混淆括号的用法。这个问题在Java里仍然存在。在C和C++中,一个特别常见的错误如下:while(x = y) {//...}程序的意图是测试是否“相等”(==),而不是进行赋值操作。在C和C++中,若y是一个非零值,那么这种赋值的结果肯定是true。...
java的造型运算符(Cast)

java的造型运算符(Cast)

java的造型运算符(Cast)2007-05-27 yycnet.yeah.net yyc译“造型”(Cast)的作用是“与一个模型匹配”。在适当的时候,Java会将一种数据类型自动转换成另一种。例如,假设我们为浮点变量分配一个整数值,计算机会将int自动转换成float。通过造型,我们可明确设置这种类型的转换,或者在一般没有可能进行的时候强迫它进行。为进行一次造型,要将括号中希望的数据类型(包括所有修改符...
Java没有“sizeof”

Java没有“sizeof”

Java没有“sizeof”2007-05-27 yycnet.yeah.net yyc译在C和C++中,sizeof()运算符能满足我们的一项特殊需要:获知为数据项目分配的字符数量。在C和C++中,size()最常见的一种应用就是“移植”。不同的数据在不同的机器上可能有不同的大小,所以在进行一些对大小敏感的运算时,程序员必须对那些类型有多大做到心中有数。例如,一台计算机可用32位来保存整数,而另一台只用16位保存。显然,在第一台机...
java的if语句

java的if语句

java的if语句2007-05-28 yycnet.yeah.net yyc译if-else语句或许是控制程序流程最基本的形式。其中的else是可选的,所以可按下述两种形式来使用if:if(布尔表达式)语句或者if(布尔表达式)语句else语句条件必须产生一个布尔结果。“语句”要么是用分号结尾的一个简单语句,要么是一个复合语句——封闭在括号内的一组简单语句。在本书任何地方,只要提及“语句&rdq...
java的循环语句

java的循环语句

java的循环语句2007-05-28 yycnet.yeah.net yyc译while,do-while和for控制着循环,有时将其划分为“反复语句”。除非用于控制反复的布尔表达式得到“假”的结果,否则语句会重复执行下去。while循环的格式如下:while(布尔表达式)语句在循环刚开始时,会计算一次“布尔表达式”的值。而对于后来每一次额外的循环,都会在开始前重新计算一次。下面这个...
java的for循环语句

java的for循环语句

java的for循环语句2007-05-28 yycnet.yeah.net yyc译for循环在第一次反复之前要进行初始化。随后,它会进行条件测试,而且在每一次反复的时候,进行某种形式的“步进”(Stepping)。for循环的形式如下:for(初始表达式; 布尔表达式; 步进)语句无论初始表达式,布尔表达式,还是步进,都可以置空。每次反复前,都要测试一下布尔表达式。若获得的结果是false,就会继续执行紧跟在for语句后面的那行...
java的break和continue语句

java的break和continue语句

java的break和continue语句2007-05-28 yycnet.yeah.net yyc译在任何循环语句的主体部分,亦可用break和continue控制循环的流程。其中,break用于强行退出循环,不执行循环中剩余的语句。而continue则停止执行当前的反复,然后退回循环起始和,开始新的反复。下面这个程序向大家展示了break和continue在for和while循环中的例子://: BreakAndContinue.java// Dem...
由构建器保证初始化

由构建器保证初始化

由构建器保证初始化2007-05-28 yycnet.yeah.net yyc译对于方法的创建,可将其想象成为自己写的每个类都调用一次initialize()。这个名字提醒我们在使用对象之前,应首先进行这样的调用。但不幸的是,这也意味着用户必须记住调用方法。在Java中,由于提供了名为“构建器”的一种特殊方法,所以类的设计者可担保每个对象都会得到正确的初始化。若某个类有一个构建器,那么在创建对象时,Java会自动调用那个构建器&md...
方法过载

方法过载

方法过载2007-05-28 yycnet.yeah.net yyc译在任何程序设计语言中,一项重要的特性就是名字的运用。我们创建一个对象时,会分配到一个保存区域的名字。方法名代表的是一种具体的行动。通过用名字描述自己的系统,可使自己的程序更易人们理解和修改。它非常象写散文——目的是与读者沟通。我们用名字引用或描述所有对象与方法。若名字选得好,可使自己及其他人更易理解自己的代码。将人类语言中存在细致差别的概念“映射&rd...
区分过载方法

区分过载方法

区分过载方法2007-05-28 yycnet.yeah.net yyc译若方法有同样的名字,Java怎样知道我们指的哪一个方法呢?这里有一个简单的规则:每个过载的方法都必须采取独一无二的自变量类型列表。若稍微思考几秒钟,就会想到这样一个问题:除根据自变量的类型,程序员如何区分两个同名方法的差异呢?即使自变量的顺序也足够我们区分两个方法(尽管我们通常不愿意采用这种方法,因为它会产生难以维护的代码)://: OverloadingOrder.java// O...
<< 1 2 3 4 5 6 7 8 9 10 >>