- 浏览: 668961 次
- 性别:
- 来自: 杭州
-
文章分类
最新评论
-
HkEndless:
不好意思,请问这确定是回调机制吗。你的例子中只是将接口的实现类 ...
Spring CallBack回调机制介绍 -
hanmiao:
写的真乱啊,完全不知所云...
Java如何调用可执行文件和批处理命令 -
junia_1:
junia_1 写道 shock: ...
为什么要使用EJB -
junia_1:
shock:
为什么要使用EJB -
coollifer:
不错
SQL Server数据导入到Oracle中的方法
算 符 指 明 对 操 作 数 所 进 行 的 运 算 。 按 操 作 数 的 数 目 来 分 ,可 以 有 一 元 运 算 符 (如 ++、
-),二 元 运 算 符 (如 +、 >)和 三 元 运 算 符 (如 ?:),它 们 分 别 对 应 于 一 个 、 两 个 和 三 个 操 作 数 。 对
于 一 元 运 算 符 来 说 ,可 以 有 前 缀 表 达 式 (如 ++i )和 后 缀 表 达 式 (如 i++),对 于 二 元 运 算 符 来 说 则
采 用 中 缀 表 达 式 (如 a+b)。 按 照 运 算 符 功 能 来 分 ,基 本 的 运 算 符 有 下 面 几 类 :
1.算 术 运 算 符 (+,-,*,/,%,++,--)
2.关 系 运 算 符 (>,<,>=,<=,==,!=)
3.布 尔 逻 辑 运 算 符 (!,&&,||)
4.位 运 算 符 (>>,<<,>>>,&,|,^,~ )
5.赋 值 运 算 符 (=,及 其 扩 展 赋 值 运 算 符 如 +=)
6.条 件 运 算 符 ( ?:)
7.其 它 (包 括 分 量 运 算 符 · ,下 标 运 算 符 [],实 例 运 算 符 instanc eof,内 存 分 配 运 算 符 new,强 制 类
型 转 换 运 算 符 (类 型 ),方 法 调 用 运 算 符 () 等 )
本 章 中 我 们 主 要 讲 述 前 6类 运 算 符 。
§ 3.1算 术 运 算 符
算 术 运 算 符 作 用 于 整 型 或 浮 点 型 数 据 ,完 成 算 术 运 算 。
一 、 二 元 算 术 运 算 符 ,如 下 表 所 示
运算符 用法 描述
+ op1+op2 加
- op1-op2 减
* op1*op2 乘
/ op1/op2 除
% op1%op2 取模(求余)
Java对 加 运 算 符 进 行 了 扩 展 ,使 它 能 够 进 行 字 符 串 的 连 接 ,如 "abc"+"de",得 到 串 "abcde"。 我
们 将 在 第 七 章 中 讲 解 。
与 C、 C++不 同 ,对 取 模 运 算 符 %来 说 ,其 操 作 数 可 以 为 浮 点 数 , 如 37.2%10=7.2。
二 、 一 元 算 术 运 算 符 ,如 下 表 所 示 :
运算符 用法 描述
+ +op 正值
- -op 负值
++ ++op,op++ 加1
-- --op,op-- 减1
i++与 ++i的 区 别
i++在 使 用 i之 后 ,使 i的 值 加 1,因 此 执 行 完 i++后 ,整 个 表 达 式 的 值 为 i,而 i的 值 变 为 i+1。
++i在 使 用 i之 前 ,使 i的 值 加 1,因 此 执 行 完 ++i后 ,整 个 表 达 式 和 i的 值 均 为 i+1。
对 i--与 --i同 样 。
例 3.1.下 面 的 例 子 说 明 了 算 术 运 算 符 的 使 用
public class ArithmaticOp{
public static void main( String args[] ){
int a=5+4; //a=9
int b=a*2; //b=18
int c=b/4; //c=4
int d=b-c; //d=14
int e=-d; //e=-14
int f=e%4; //f=-2
double g=18.4;
double h=g%4; //h=2.4
int i=3;
int j=i++; //i=4,j=3
int k=++i; //i=5,k=5
System.out.println("a = "+a);
System.out.println("b = "+b);
System.out.println("c = "+c);
System.out.println("d = "+d);
System.out.println("e = "+e);
System.out.println("f = "+f);
System.out.println("g = "+g);
System.out.println("h = "+h);
System.out.println("i = "+i);
System.out.println("j = "+j);
System.out.println("k = "+k);
}
}
其结果为:
C:\>java ArithmaticOp
a = 9
b = 18
c = 4
d = 14
e = -14
f = -2
g = 18.4
h = 2.4
i = 5
j = 3
k = 5
§ 3.2关 系 运 算 符
关 系 运 算 符 用 来 比 较 两 个 值 ,返 回 布 尔 类 型 的 值 true或 false。 关 系 运 算 符 都 是 二 元 运 算
符 ,如 下 表 所 示 :
运算符 用法 返回true的情况
> op1>op2 op1大于op2
>+ op1>=op2 op1大于或等于op2
< op1<op2 op1小于op2
<= op1<=op2 op1小于或等于op2
== op1==op2 op1与op2相等
!= op1!=op2 op1与op2不等
Java中 ,任 何 数 据 类 型 的 数 据 (包 括 基 本 类 型 和 组 合 类 型 )都 可 以 通 过 ==或 !=来 比 较 是 否
相 等 (这 与 C、 C++不 同 )。
关 系 运 算 的 结 果 返 回 true或 false,而 不 是 C、 C++中 的 1或 0。
关 系 运 算 符 常 与 布 尔 逻 辑 运 算 符 一 起 使 用 ,作 为 流 控 制 语 句 的 判 断 条 件 。 如
if( a>b && b==c)
§ 3.3布 尔 逻 辑 运 算 符
布 尔 逻 辑 运 算 符 进 行 布 尔 逻 辑 运 算 ,如 下 表 所 示 :
op1 op2 op1&&op2 op1||op2 !op1
false false false false true
false true false true true
true false false true false
true true true true false
}@@@
·&&、‖ 为二元运算符,实现逻辑与、逻辑或。
·! 为一元运算符,实现逻辑非。
·对于布尔逻辑运算,先求出运算符左边的表达式的值,对或运算如果为true,则整个表
达式的结果为true,不必对运算符右边的表达式再进行运算;同样,对与运算,如果左边表达式
的值为false,则不必对右边的表达式求值,整个表达式的结果为false。
下面的例子说明了关系运算符和布尔逻辑运算符的使用。
@@@[
public class RelationAndConditionOp{
public static void main( String args[] ){
int a=25,b=3;
boolean d=a<b; //d=false
System.out.println("a<b = "+d);
int e=3;
if(e!=0 && a/e>5)
System.out.println("a/e = "+a/e);
int f=0;
if(f!=0 && a/f>5)
System.out.println("a/f = "+a/f);
else
System.out.println("f = "+f);
}
}
其运行结果为:
C:\>java RelationAndConditionOp
a<b = false
a/e = 8
f = 0
注 意 :上 例 中 ,第 二 个 if语 句 在 运 行 时 不 会 发 生 除 0溢 出 的 错 误 ,因 为 e!=0为 false,所 以 就 不 需
要 对 a/e进 行 运 算 。
§ 3.4位 运 算 符
位 运 算 符 用 来 对 二 进 制 位 进 行 操 作 ,Java中 提 供 了 如 下 表 所 示 的 位 运 算 符 :
位 运 算 符 中 ,除 ~ 以 外 ,其 余 均 为 二 元 运 算 符 。
操 作 数 只 能 为 整 型 和 字 符 型 数 据 。
3.4.1补 码
Java使 用 补 码 来 表 示 二 进 制 数 ,在 补 码 表 示 中 ,最 高 位 为 符 号 位 ,正 数 的 符 号 位 为 0,负 数
为 1。 补 码 的 规 定 如 下 :
对 正 数 来 说 ,最 高 位 为 0,其 余 各 位 代 表 数 值 本 身 (以 二 进 制 表 示 ),如 +42的 补 码 为
00101010。
对 负 数 而 言 ,把 该 数 绝 对 值 的 补 码 按 位 取 反 ,然 后 对 整 个 数 加 1,即 得 该 数 的 补 码 。 如
-42的 补 码 为 11010110 (00101010 按 位 取 反 11010101 +1 11010110 )
用 补 码 来 表 示 数 ,0的 补 码 是 唯 一 的 ,都 为 00000000。 (而 在 原 码 ,反 码 表 示 中 ,+0和 -0的 表 示
是 不 唯 一 的 ,可 参 见 相 应 的 书 籍 )。 而 且 可 以 用 111111表 示 -1的 补 码 (这 也 是 补 码 与 原 码 和 反
码 的 区 别 )。
3.4.2按 位 取 反 运 算 符 ~
~ 是 一 元 运 算 法 ,对 数 据 的 每 个 二 进 制 位 取 反 ,即 把 1变 为 0,把 0变 为 1。
例 如 :
0010101
~
1101010
注 意 ,~ 运 算 符 与 - 运 算 符 不 同 ,~ 21≠ -21。
3.4.3按 位 与 运 算 符 &
参 与 运 算 的 两 个 值 ,如 果 两 个 相 应 位 都 为 1,则 该 位 的 结 果 为 1,否 则 为 0。 即 :
0 & 0 = 0,0 &1 = 0,1 & 0 = 0,1 & 1 = 1
发表评论
-
hibernate Restrictions用法 MatchMode.ANYWHERE
2012-07-14 15:50 4015方法 说明 Res ... -
URLClassLoader
2012-05-27 19:45 1020This example shows how a serv ... -
MyClassLoader 自定义类加载器
2012-05-27 19:38 1577package demo; import java. ... -
Deal with big-endian and little-endian order
2011-12-25 19:17 1157Java virtual machine always use ... -
修改eclipse的背景色
2011-11-12 19:23 1135eclipse 操作界面默认颜色为白色。对于我们长期 ... -
多线程管道流输入输出模式
2011-11-07 07:23 1115import java.io.* ; class Send ... -
Java计数单字节双字节字符个数的例子
2011-10-26 14:29 1317/* 计数单双字符的个数并存储在Map对象中 ... -
常用内存数据库3
2011-10-24 00:24 15504.1.2 哪些场合适合使用其他的关系型数据库管 ... -
java字节码规则
2011-09-05 13:56 1285栈和局部变量操作 将常量压入栈的指令 aconst_nul ... -
Tomcat中限制ip访问
2011-08-23 21:40 1306Tomcat中限制ip访问是非常简单的,只需要编辑server ... -
一个Java程序员应该掌握的10项技能
2011-08-22 10:27 6411、语法:必须比较熟 ... -
2011 年 8 月 Java 开发人员新闻快讯
2011-08-18 18:59 861Java SE 7 发布了! 经过世界各地 Ja ... -
BlockingQueue
2011-08-13 09:59 754import java.util.concurrent.Arr ... -
eclipse中java项目转换为web项目
2011-07-27 18:29 913经常在eclipse中导入web项目时,出现转不了项目类型 ... -
Oracle官方Weblogic插件安装
2011-07-20 22:00 2909Installing Oracle Enterprise Pa ... -
Java集合HashSet-ArrayList-HashMap的线程同步控制方法和区别
2011-06-21 17:44 2352C ollections类中提供了多 ... -
关于java的集合类,以及HashMap中Set的用法
2011-06-21 17:35 1831import java.util.*; public c ... -
Java的动态代理实例
2011-06-16 03:44 1076首先写一个接口: package net.test.dyna ... -
Java如何调用可执行文件和批处理命令
2011-06-07 00:58 2399Java是种跨平台的语言,我们经常碰到需要通过Java调用wi ... -
jsp实现图片验证码的方法
2011-06-07 00:57 1416调用方法 <img src=&quo ...
相关推荐
该教程涵盖了Java语言的基础知识,包括变量与数据类型、运算符、表达式与语句、循环与选择结构、数组和方法的使用。此外,由于Android应用开发的基础也是Java,因此,这份教程同样适合那些希望入门Android开发的学习...
转折点出现在Mark Andreesen开发的Mosaic和Netscape启发下,项目团队利用Java开发了HotJava浏览器,获得了Sun公司CEO Scott McNealy的认可,开启了Java进军互联网的新篇章。 #### 二、Java技术发展历程 1. **1990...
- 运算符、表达式与语句:理解Java中的算术、比较、逻辑运算符,以及如何构建有效的表达式和语句来控制程序流程。 - 循环与选择结构:学习使用if、switch、while、do-while和for等控制结构来执行决策和重复任务。 - ...
尽管最初的尝试未获成功,但在Mark Andreessen开发的Mosaic和Netscape的启发下,项目团队利用Java开发出了HotJava浏览器,并获得了Sun公司CEO Scott McNealy的支持,这标志着Java正式进军互联网领域。 **1.2 Java...
- 尽管Oak未能中标交互式电视项目,但项目团队受到Mark Andreesen开发的Mosaic浏览器及其后续Netscape浏览器的启发,利用Oak(后来更名Java)开发出了HotJava浏览器,这促使Java进入了互联网领域。 - **关键时间...
随后,Oak项目组成员受到Mark Andreessen开发的Mosaic和Netscape浏览器启发,利用Java开发了HotJava浏览器,获得Sun公司高层的支持,从而推动Java走向互联网领域。 - **技术体系与发展历程** - **技术体系**:Java...
在学习Java语言时,我们通常需要从其基础开始,掌握Java的基本概念、数据类型、运算符、表达式、控制结构、数组、方法的使用等。之后,通过面向对象编程的学习,深入理解类和对象、继承、封装、多态等概念。Java程序...
恰逢此时,Netscape的创始人Mark Andreessen开发出了Mosaic和Netscape浏览器,这一事件启发了Oak项目组的成员们,他们利用Oak开发出了HotJava浏览器,并获得了Sun公司首席执行官Scott McNealy的支持。这标志着Java...
`Application.java`是主程序类,它包含了一个double类型的数组`num`用于存储四张牌的数值,以及一个boolean类型的数组`mark`用于标记哪些数值已经被使用过。核心方法是`get()`,该方法接收两个参数,一个是期望的...
在条件表达式中,`&&`和`&`都用于表示逻辑与运算,但`&&`是短路运算符,当第一个表达式为false时,不会计算第二个表达式,从而提高效率。而`&`则始终计算两个表达式,即使第一个表达式已经确定结果。 ### 11. ...
11. **自增运算符**:虽然在提供的文本中没有明确显示,但通过`number+=2`这样的表达式,可以推断出使用了自增运算符`+=`来更新变量的值。 12. **异常处理**:在`main`方法中,当输入的年份或成绩不符合要求时,...
它生成词法分析器的Java源,该词法分析器读取输入,将输入与spec文件中的正则表达式进行匹配,如果正则表达式匹配,则运行相应的操作。 词法分析器通常是编译器中的第一步,它匹配关键字,注释,运算符等,并为解析...
11. **Java 8及以后的新特性**:Lambda表达式、Stream API、Optional类、默认方法等都是近年来Java的重要更新,面试中可能会涉及到这些新特性的使用场景和优势。 12. **Spring框架**:在企业级应用开发中,Spring是...
根据提供的文件内容,我们可以总结出以下几个Java编程中的经典小案例及其相关的知识点: ### 1. 判断闰年的程序 #### 知识点说明 ...通过以上知识点的学习,我们可以进一步掌握Java编程的基本技巧和常用算法。
- 提供了Java语言的官方规范,包括语法、关键字、运算符、类型转换等。 - 是Java开发者理解语言底层机制的必备资源。 - 更新至第三版,反映了Java语言的最新发展,如lambda表达式、流API等。 #### 3. **《Java ...