7. Java运算符

7. Java运算符

👯转载请保留原文链接: http://dashidan.com/article/java/basic/Java运算符.html

Java运算符分为, 算术运算符, 符合运算符, 关系运算符, 三目运算符.

① Java算数运算符

Java算数运算符: 加, 减, 乘, 除(取模, 取余), 算数运算符从右往左赋值.即将等号右边的值,赋给等号左边的变量.

加+

inta=1;intb=2;intc=a+b;System.out.println(c);

减-

inta=1;intb=2;intc=a-b;System.out.println(c);

乘*

inta=1;intb=2;intc=a*b;System.out.println(c);

除-取模/

对整数取模运算,相当于取结果的整数,去掉余数.

inta=1;intb=2;intc=a/b;System.out.println(c);

除-取余%

对整数取余运算,相当于取结果的余数.

inta=1;intb=2;intc=a%b;System.out.println(c);

当两个类型不同的数据类型运算时,结果自动转化为取值范围大的数据.

具体规则:

byte->short->int->long->float->double

布尔型和其它基本数据类型之间不能相互转换.

byte型可以转换为short、int、、long、float和double.

short可转换为int、long、float和double.

char可转换为int、long、float和double.

int可转换为long、float和double.

long可转换为float和double.

float可转换为double.

示例代码:

packagecom.dashidan.lesson6;/*** 大屎蛋教程网-dashidan.com*

* Java教程基础篇: 6. Java运算符* Java算数运算符*/publicclassDemo1{publicstaticvoidmain(String[]args){/** 加`+`*/inta=1;intb=2;intc=a+b;System.out.println(c);/** 减`-`*/a=1;b=2;c=a-b;System.out.println(c);/** 乘`*` */a=1;b=2;c=a*b;System.out.println(c);/** 除-取模`/`对整数取模运算,相当于取结果的整数,去掉余数.*/a=1;b=2;c=a/b;System.out.println(c);/** 除-取余`%`对整数取余运算,相当于取结果的余数.*/a=1;b=2;c=a%b;System.out.println(c);}}

输出:

3-1201

② Java复合运算符

复合运算符是一种简写. 以+=为例,表示加一个值再赋值给本身.常用的复合运算符:

+=加法赋值

a+=1;// 等同于以下a=a+1;

-=减法赋值

b-=1;// 等同于以下b=b-1;

*=乘法赋值

c*=1;// 等同于以下c=c*1;

/=除法赋值

d/=1;// 等同于以下d=d/1;

%=模运算赋值

e%=1;// 等同于以下e=e%1;

示例代码:

packagecom.dashidan.lesson6;/*** 大屎蛋教程网-dashidan.com*

* Java教程基础篇: 6. Java运算符* Java复合运算符*/publicclassDemo2{publicstaticvoidmain(String[]args){inta=0;/** += 运算*/a+=1;System.out.println(a);/** -= 运算*/intb=0;b-=1;System.out.println(b);/** *= 运算*/intc=2;c*=3;System.out.println(c);/** /= 运算*/intd=5;d/=3;System.out.println(d);/** %= 运算*/inte=5;e%=3;System.out.println(e);}}

输出:

1-1612

③ Java自增,自减运算符

分前缀式(如++i)和后缀式(如i++). 以自增运算符(++)为例: 前缀式是先加1再使用,后缀式是先使用再加1. 单独执行自增自减时前缀式,后缀式单独执行结果一样.道理同自增运算符,只是加1,变成了减1.

inti=0;i++;System.out.println(i);intj=0;++j;System.out.println(j);

放在运算过程中执行. 前缀,后缀放在运算过程中结果不同.

/** 后缀式*//** 初始化a和i*/a=0;i=0;a=i++;/** i使用前是0,此时i为0不加1,a为0. */System.out.println(a);/** 使用后i加1,i为1*/System.out.println(i);

示例代码:

packagecom.dashidan.lesson6;/*** 大屎蛋教程网-dashidan.com*

* Java教程基础篇: 6. Java运算符* Java自增,自减运算符*/publicclassDemo3{publicstaticvoidmain(String[]args){/** 前缀,后缀单独执行结果一样*/inti=0;i++;System.out.println(i);intj=0;++j;System.out.println(j);/** 前缀,后缀放在运算过程中结果不同*//** 前缀式*/inta=0;i=0;a=++i;/** i使用前是0,此时i为0不加1,a为0. */System.out.println(a);/** 使用后i加1,i为1*/System.out.println(i);/** 后缀式*//** 初始化a和i*/a=0;i=0;a=i++;/** i使用前是0,此时i为0不加1,a为0. */System.out.println(a);/** 使用后i加1,i为1*/System.out.println(i);}}

输出:

111101

倒数第二个输出是`0`,这个就是后缀式的使用后计算导致的结果.

④ Java关系运算符

关系运算符用于比较两个数值之间的大小. 其运算结果为一个布尔值(boolean),只有true(真)和false(假)两个取值.

基本数据类型的关系运算符:

>大于

<小于

>=大于或等于

<=小于或等于

==等于

!=不等于

示例代码:

packagecom.dashidan.lesson6;/*** 大屎蛋教程网-dashidan.com*

* Java教程基础篇: 6. Java运算符* Java关系运算符*/publicclassDemo4{publicstaticvoidmain(String[]args){inta=0;intb=0;booleanc=a>b;System.out.println(c);booleand=a

输出:

falsefalsetruetrue

⑤ Java逻辑运算符

逻辑运算符主要用于进行条件真(true)假(false)运算.包括&&(且), ||(或),!(异或) , ^(非), instanceof(判断对象实例类型).

&&逻辑与

两目运算符,需要2个值参与运算. 符号两边的条件都为true,运算结果为true.如果任一条件为false,结果为false.

booleana=true;booleanb=false;booleanc=a&&b;// a和b里不同时为true,故`&&`运算的结果为false System.out.println(c);

||逻辑或

两目运算符,需要2个值参与运算. 符号两边的条如果任一条件为true,结果为true.如果都为false,结果为false.

booleana=true;booleanb=false;booleanc=a||b;// a和b里面,a为true,故`||`运算的结果为true System.out.println(c);

!逻辑非

单目运算符,需要1个值参与运算.得到与原布尔值相反的值. 原值为true,经过!运算,得false. 原值为false,经过!运算,得true.

booleana=true;booleanc=!a;// c为 a的相反值,即为true System.out.println(c);

^逻辑异或

两目运算符,需要2个值参与运算. 符号两边的布尔结果不同时,结果为true.如果相同(同时为true,或者同时为false),结果为false.

booleana=true;booleanb=false;booleanc=false;booleand=a^b;booleane=b^c;// a和b里不同,故`^`运算的结果为false,d为false System.out.println(d);// c和d里同时为false,故`^`运算的结果为true,e为true System.out.println(e);

示例代码:

packagecom.dashidan.lesson6;/*** 大屎蛋教程网-dashidan.com*

* Java教程基础篇: 6. Java运算符* Java逻辑运算符*/publicclassDemo5{publicstaticvoidmain(String[]args){booleana=true;booleanb=false;booleanc=a&&b;/** a和b里不同时为true,故`&&`运算的结果为false*/System.out.println(c);a=true;b=false;c=a||b;/** a和b里面,a为true,故`||`运算的结果为true*/System.out.println(c);a=true;c=!a;/** c为 a的相反值,即为true*/System.out.println(c);a=true;b=false;c=false;booleand=a^b;booleane=b^c;/** a和b里不同,故`^`运算的结果为false,d为false*/System.out.println(d);/** c和d里同时为false,故`^`运算的结果为true,e为true*/System.out.println(e);}}

输出:

falsetruefalsetruefalse

⑥ Java三目运算符

也叫条件运算符. 由两个符号组成?和:,要求有3个操作对象,所以也叫三目运算符.

a

如果?前边的表达式(a

示例代码:

packagecom.dashidan.lesson6;/*** 大屎蛋教程网-dashidan.com*

* Java教程基础篇: 6. Java运算符* Java三目运算符*/publicclassDemo6{publicstaticvoidmain(String[]args){inta=1;intb=2;intc=a>b?a:b;/** a > b 为false,所以取":"后边的值b赋值给c, 故c为2.*/System.out.println(c);}}

输出:

2

⑦ Java运算符优先级

基本的原则是有括号先算括号里的,然后先乘除后加减. 乘除都有时,从左往右依次计算. 加减从左往右依次计算. 加法和乘法结合, 示例代码:

inta=1;intb=2;intc=3;intd=a+b*c;/** 乘号的优先级比加号高, 先算b*c再加a,故d为7*/System.out.println(d);

加减乘除混合, 示例代码:

packagecom.dashidan.lesson6;/*** 大屎蛋教程网-dashidan.com*

* Java教程基础篇: 6. Java运算符* Java运算符优先级*/publicclassDemo7{publicstaticvoidmain(String[]args){inta=1;intb=2;intc=3;intd=a+b*c;/** 乘号的优先级比加号高, 先算b*c再加a,故d为7*/System.out.println(d);/** 加减乘除混合*/a=1;b=2;c=3;d=4;d=a+b*c/d-5;/** 乘号和除号的优先级比加号高, 先算乘除, 从左往右, b*c得6,d(值为4),`6/4`得`1.5`.取模运算省去小数,`b*c/d`得1*//** 加减法从左往右计算,a+1-5得-3,赋值给d.故d为-3.*/System.out.println(d);}}

输出:

7-3

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,319评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,801评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,567评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,156评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,019评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,090评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,500评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,192评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,474评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,566评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,338评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,212评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,572评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,890评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,169评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,478评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,661评论 2 335

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,493评论 18 399
  • Java经典问题算法大全 /*【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子...
    赵宇_阿特奇阅读 1,833评论 0 2
  • 【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔...
    叶总韩阅读 5,116评论 0 41
  • Win7下如何打开DOS控制台? a:开始--所有程序--附件--命令提示符 b:开始--搜索程序和文件--cmd...
    逍遥叹6阅读 1,584评论 4 12
  • 序 结婚生子,是大多数人人生里重要的一部分,相信每一个家庭的幸福生活里,都会有一点小插曲,到了我和先生这,生...
    苏苏子叶阅读 215评论 0 0