| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 923 人关注过本帖
标题:菜鸟笔记1
只看楼主 加入收藏
ccnjava
Rank: 1
等 级:新手上路
帖 子:98
专家分:0
注 册:2004-7-13
收藏
 问题点数:0 回复次数:3 
菜鸟笔记1

运算符(operator)和表达式:

运算符是指程序中用来处理某些数据的符号或运算功能。

单目运算符:所谓单目就是指在表达式中只有一个运算量。比如-5。其中已经做过一次运算。这里的“-”就是一个单目运算符。他表示讲运算量的正负颠倒。所以5就变成-5了。 单目运算符大概有 +正值 -负值 ++加1 ――减1 这四个。

双目运算符:运算符处理的对象有两个。就是双目比如11。。。

三目以后在说。

句元(token)有些有写运算符是由两个以上的运算符。但在java中还是要把它看成一个符号。比如 》= (大于等于号)等等。

­ 各种运算符:

递增和递减运算符

概念相关东东:

首先这是一个单目运算符。其实这种运算符在C还有C++十分常见。

它可以放在任何运算符的前面和后面成为,前置用法和后置用法。

该运算符很常用,不过用时候要细心,以免发生错误,毕竟这种错误在差错的时候很不好找。

该运算符只支持整数或者浮点类型数据,也就是byte short int long float double.而其它想

Boolean,还有char是不支持的。

另外,递加和递减运算符也只能用在变量(variables)上。

用法:

前置用法:所谓前置就是把运算符放在运算量的前面,例如:++k ,这样++k会把原来的k值加1。。但是以后在用到k的值则变成了(++k)了,而不是没加1k

后置用法:所谓后置就是把运算符放到运算量的后面,例如:k++ ,这样 k++,这样会把k原来的值+1,但是整个k++的结果是k原来的值。这也是同++k的不同。其实就相当于xx1

这么干说说不清楚举个例子就一抖大开了。

例子1int x=10,y;

y=(++x)

System.out.println(x);

System.out.println(y);

//这里x得到11y也是11

首先运算x++得到x值是11,然后把11赋值给y,所以y也等于11 而下面这个不同。

int x=10,y;

y=(x++)

System.out.println(x);

System.out.println(y);

//这里x11 y10

和上面不同的是首先先算yx;那么y10,整个式子算完在算x++,所以x11

例子2int x=10,y

y=++x-10;

这里式子的运算符为递增而且前置运算,所以先算++x,也就是10111

然后在把1110所以最后y结果是1

int x=10,y

y=x++-10;

而这个式子有所不同,这个式子也有递增运算符,但是是后置,后算。先算下x10y得到结果0。然后在算x++X的值是11。而x++并不参与到y值里面去。

例子3

int a=3;

System.out.println(a);

System.out.println(a++);

System.out.println(a);

//比如这个答案是334

第一个是3,第2个是后置先得到a3,然后在加1,第三个怎么说由于前一个a1变成4,这是a已经赋值成了4。第三个要用第2个的值,所以是4

和下面例子对比一下。

int a=3;

System.out.println(a);

System.out.println(++a);

System.out.println(a);

答案是344。区别只在于前置后置的问题。第2个前置了,先加14

我相信。。看完这3个例子应该都会了。。。我说不清楚的地方例外。。

Java小贴士:比如这个I=++j;I=(++j);两个都没有错,但是我还是觉得应该加()便于查看,而且程序显得不乱。以便改错时候方便。

Java小贴士:每个类型都有其初始值,比如这个式子。Int I=10,k;其实这样写不好,我要说的是,就算没有初始值,最好也加上,不要养成使用初始值的习惯。应该int I=10,k=0;

Java小贴士:呵呵有个常见的错误,增量减量是不能用于表达式的。

比如++(y+1;虽然看起来好像没错,其实这是语法错误。死记就好。。。

Java小贴士:要注意一下例三那种题,请注意x当前的值。当然例三那种是最简单的。但是方法不变。

Java小贴士:比如这个int I=3,k=0;

J=(I++)+(I++)+(I++);

System.out.println(k);

System.out.println(i);

这里j9;而I则等于第一个31赋值以后第而个24在++为5,最后在++则为6。所以I6

Java小贴事:暂缺,注意括号问题。。。没有关系。比如

int i=5,j=6,k=7;

++i+(--j)+(++k);

括号是为了看起来清楚才写的。这个写不写都行拉。先算++i->--j->++k

另注:应为我用word打的,有些大小写都是word自动更正的。我也没有办法。。汗。。。

有错误,请根贴。小菜鸟水平有限,高手看了就当一笑,如有错误,还请海涵。。

搜索更多相关主题的帖子: 笔记 
2004-08-07 18:14
jellen
Rank: 1
等 级:新手上路
威 望:1
帖 子:107
专家分:0
注 册:2004-5-3
收藏
得分:0 

Up! 鼓励!

不过提醒一下楼主,以上的写法虽然可以作为学习时练习,但是平时使用时要尽力避免使用。这样容易使代码难懂难读,也不容易维护。


再见,理想!
2004-08-07 19:33
ccnjava
Rank: 1
等 级:新手上路
帖 子:98
专家分:0
注 册:2004-7-13
收藏
得分:0 
谢谢
谢谢您提醒,以后我一定注意。
呵呵,现在1比1中国足球。偶虽然不是球迷,但这么重要的比赛,小菜鸟还是要看的

特此感谢三位版主对小菜鸟长期以来的帮助 他们是 jellen(类痴狂人 ) tempnetbar(J湖散人 )和Anstey (排名不分先后) 呵呵,这些日子让小菜鸟受益非浅。 忠心的谢谢您们!
2004-08-07 21:05
tempnetbar
Rank: 2
等 级:新手上路
威 望:4
帖 子:582
专家分:4
注 册:2004-5-5
收藏
得分:0 

^o^

有些东西是要弄弄清楚,但是那些优先级之类的东西真的没必要记,用括号是最好的,可读性强


相信勤能补拙! 喜欢用好用的就永远学不到有用的。
2004-08-08 11:36
快速回复:菜鸟笔记1
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017612 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved