Java 运算符

1. 概念

运算符:进行特定操作的符号。
例如:+
表达式:用运算符连起来的式子。
例如:1+2、a+b

2.算数运算符

包括:
①加法运算、字符串连接运算:+;
1.整数相加:

System.out.println(20+30);//输出50

2.对char数据类型,在计算前会将char数据提升为int,然后计算
3.对字符串String,加号代表字符串连接:

String str1=”Hello”;
System.out.println(str1+”World”); //输出HelloWorld
System.out.println(str1+20); //输出Hello20
System.out.println(str1+20+30); //输出Hello2030

②减法运算:-;

int a=20;
int b=30;
System.out.println(a-b);//输出-10

③乘法运算:*;

int a=20;
System.out.println(a*10);//输出200

④除法运算:/;

int a=10;
int b=3;
System.out.println(a/b);//输出3

⑤取模运算,两个数字相除取余数:%;

int a=10;
int b=3;
System.out.println(a%b);//输出1

⑥自增运算:++;(变量自己增长1)
如果是前++,先加后用:变量立刻+1,然后拿着结果进行使用;
如果是后++,先用后加:变量先拿来使用,然后变量+1。

int a=20;
System.out.println(a);//输出20
++a;
System.out.println(a);//输出21
a++;
System.out.println(a);//输出22
b=10;
System.out.println(b);//输出10
System.out.println(++b);//输出11
c=10;
System.out.println(c++);//输出10
System.out.println(c);//输出11

⑦自减运算:--。(变量自己减少1)
如果是前--,先减后用:变量立刻-1,然后拿着结果进行使用;
如果是后--,先减后加:变量先拿来使用,然后变量-1。

int a=20;
System.out.println(a);//输出20
--a;
System.out.println(a);//输出19
a--;
System.out.println(a);//输出18
b=10;
System.out.println(b);//输出10
System.out.println(--b);//输出9
c=10;
System.out.println(c--);//输出10
System.out.println(c);//输出9

Java中,整数使用以上运算符,无论如何计算,得到的都是整数。

public static void main(String[] args) {
    int i=1234;
    System.out.println(i/1000*1000);//输出1000
}

注意:运算中有不同数据类型的数据,结果为数据类型范围大的哪个数据类型。

int a=10;
System.out.println(a+2.5);//输出12.5

3.赋值运算符

赋值运算符:将符号右边的值,赋给左边的变量。
赋值运算符分为基本复制运算符(=)和复合赋值运算符(+=、-=、*=、/=、%=)
包括:
①等于号:=;
②加等于:+=;(a += 3相当于a=a+3)

public static void main(String[] args) {
    int i=5;
    i+=5;
    System.out.println(i);//输出10
}

③减等于:-=;(b -= 4相当于b=b-4)
④乘等于:*=;(c = 5相当于c=c5)
⑤除等于:/=;(d /= 6相当于d=d/6)
⑥取模等:%=。(e%= 7相当于e=e%7)

public static void main(String[] args) {
    int i=23;
    i%=5;
    System.out.println(i);//输出3
}

注意:
①只有变量才能使用赋值运算符,常量不能使用;
②复合赋值运算符隐含了一个强制类型转换。

byte a=5;
a+=5;//实际上为:a = (byte)  a + 5;
System.out.println(a);

4.比较运算符

比较运算符:两个数据之间进行比较的运算符,结果是true或false。
包括:
①比较符号两边数据是否相等(相等结果为true):==;
②比较符号左边数据是否小于右边数据(如果小于,结果为true):<;
③比较符号左边数据是否大于右边数据(如果大于,结果为true):>;
④比较符号左边数据是否小于或等于右边数据(如果小于或等于,结果为true):<=;
⑤比较符号左边数据是否大于或等于右边数据(如果大于或等于,结果为true):>=;
⑥比较符号两边数据是否不相等(如果不相等,结果为true):!=。

public static void main(String[] args) {
    System.out.println(1==1);//输出true
    System.out.println(1<2);//输出true
    System.out.println(3>2);//输出true
    System.out.println(1<=2);//输出true
    System.out.println(3>=2);//输出true
    System.out.println(3!=2);//输出true
}

注意:
①比较运算符的结果一定是boolean值,成立是true,不成立是false;
②进行多次判断不能连写。

System.out.println(1<2<3);//编译报错

5.逻辑运算符

包括:
①与(并且,连接两个boolean值,两个都为true结果才为true,否则为false):&&

System.out.println(false && true);//输出false

②或(或者,连接两个boolean值,两个都为fasle结果才为false,否则为true):||

System.out.println(false || true);//输出true

③非(取反,用于boolean前,原来是true,结果为false;原来是false,结果为true):!

System.out.println(!true);//输出false

与“&&”、或“||”,具有短路效果:如果根据左边已经可以判断得到最终结果,那么右边的代码将不再执行,从而节省一定的性能。

int a=10;
System.out.println(3>4 && ++a<100);输出false
System.out.println(a);//输出10

注意:
①逻辑运算符只能用于boolean值;
②与、或需要左右各有一个boolean值,但是取反只要有唯一的一个boolean值;
③与、或两种运算符,如果有多个条件,可以连续写。
条件A && 条件B && 条件C

6.三元运算符

一元运算符:只需要一个数据就可以进行操作的运算符。例如:取反!、自增++、自减--;
二元运算符:需要两个数据才可以进行操作的运算符。例如:加法+、赋值=;
三元运算符:需要栅格数据才可以进行操作的运算符。
三元运算符格式:数据类型 变量名称 = 条件判断 ? 表达式A:表达式B;
流程:
①判断条件是否成立;
②如果成立为true,将表达式A的值赋值给左侧的变量;如果不成立为false,将表达式B的值赋值给左侧的变量。

public static void main(String[] args) {
    int a = 10;
    int b = 20;
int max = a > b ? a : b;
System.out.println("最大值:"+max);
}

注意:
①必须同时保证表达式A和表达式B都符合左侧数据类型的要求;
②三元运算符的结果必须被使用。

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

推荐阅读更多精彩内容

  • 7. Java运算符 ??转载请保留原文链接:http://dashidan.com/article/java/ba...
    ef6a1aa99b35阅读 369评论 0 0
  • Java运算符: 目录:1.算术运算符2.位运算符3.赋值运算符4.比较运算符5.逻辑运算符6.三目运算符7.运算...
    Ansaxnsy阅读 5,193评论 4 3
  • 运算符:进行特定操作的符号。例:+ 表达式:用运算符连的式子叫做表达式,例:1+2 1.四则运算: 加:+ 减...
    ttlidx阅读 352评论 0 1
  • 计算机的最基本用途之一就是执行数学运算,作为一门计算机语言,Java也提供了一套丰富的运算符来操纵变量。我们可以把...
    海人为记阅读 123评论 0 0
  • 有些伤害是悄悄发生的。 著名哲学家Jeremy Bentham说过一句名言:“世上有两种人,一种人把世界分为两种人...
    幼儿说阅读 2,870评论 0 1