Java 运算符

运算符:进行特定操作的符号。例:+

表达式:用运算符连的式子叫做表达式,例:1+2

1.四则运算:

    :+

     :-

     :*

     :/ 被除数 / 除数 = 商 .... 余数

          对于一个整数的表达式来说,除法用的是整除。结果仍为整数。只看商。不看余数

          只有对于整数的除法来,取模运算符才有余数的意义

     注意事项

          1.一旦运算当中有不同类型的数据,那么结果将会是数据类型范围大的那种

例子:

public class PeratorDemo{

     public static void main(String[] args){

          //两个常量直接可以进行数学运算

          System.out.println(20 + 30);

          //两变量之间也可以进行数学运算

          int a = 20;

          int b = 30;

          System.out.println(a - b);

          //变量和常量之间可以混合使用

          System.out.println(a * 10);

          int x = 10 ;

          int y = 3 ;

          int result1 = x / y;

          System.out.println(result1);//3

          int result2 = x % y ;

          System.out.println(result2);//余数,模,1

          //int + double ---> double + double --->double

          double result3 = x + 2.5;

          System.out.println(result3);//12.5

     }

}

运行结果:


    四则运算当中的加号”+“有三种用法

        1.对于数值来,那就是加法。

        2.对于字符char类型来,再计算之前会被提升为int,然后再计算。

            -char类型字符,和int类型数值,之间的对照关系表:ASCII,Unicode

       3.对于字符串String(首字母大写,并不是关键字)来。加号代表字符串连操作。

            -任何数据类型和字符串进行连的时候,结果都会变成字符串

例子:

public class PlusDemo{

     public static void main(String[] args){

          //字符串类型的变量基本使用

          //数据类型 变量名称 = 数据值

          String str1 = "Hello";

          System.out.println(str1);//Hello

          System.out.println("Hello"+"Hello");//HelloHello

          String str2 = "Java";

          //String + int --->String

          System.out.println(str2 + 20);//Java20

          //优先问题

          //String + int + int

          //String   + int

          //String

          System.out.println(str2 + 20 + 30);//Java2030

          System.out.println(str2+(20+30));//Java50

     }

}

运行结果:



2.自增自减运算符

自增运算符:++

自减运算符:--

基本含义:让一个变量涨一个数字1,或者让一个变量降一个数字1

使用格式:写在变量名称之前,或者写在一个变量名称之后

     -eg:++num , num++

使用方式

     1.单独使用:不和其他任何操作混合,自己单独成为一个步骤

     2.混合使用,和其他操作混合,例如与赋值混合,或者和打印操作混合,等

使用区别

     1.在单独使用的时候,前++和后++没有任何区别,也就是:++num;和 num ++;是完全一样的

     2.在混合使用的时候,有【重大区别】

          A.如果是前++,那么变量立刻+1,然后拿着结果进行使用【先加后用】

          B.如果是后++,那么变量先使用,【然后再让变量+1】【先用后加】

注意事项:

     1.只有变量才能使用自增、自减运算符。常量不可发生改变,所以不能用。

例子:

public class PeratorDemo2{

     public static void main(String[] args){

          int num1 = 10;

          System.out.println(num1);

          ++num1;//单独使用,前++

          System.out.println(num1);//11

          num1++;//单独使用,后++

          System.out.println(num1);//12

          System.out.println("================");

          //与打印操作混合的时候

          int num2 = 20;

          //混合使用,先++,变量立马上变成21,然后打印结果21

          System.out.println(++num2);//21

          //混合使用,后++,变量先打印成原来的21 ,然后变量+1变成22

          System.out.println(num2++);//21

          System.out.println(num2);//22

          System.out.println("===========");

          //和赋值操作混合使用

          int num3 = 30 ;

          //混合使用,先---,变量先变成29,然后赋值给result1

          int result1 = -- num3;//result=29

          System.out.println(result1);//29

          System.out.println(num3);//29

          //混合使用,先将num3赋值给result2,再将变量变成28

          int result2 = num3 --;//将29赋值给result2

          System.out.println(result2);//29

          System.out.println(result2);//29

          System.out.println(num3);//28

     }

}

运行结果:



3.赋值运算符

赋值运算符分为:

     基本赋值运算符:就是一个等号"=",代表将右侧的数据交给左侧的变量

         int a = 30;

     复合赋值运算符

     +=           a += 1           相当于          a = a + 1

     -=           a -= 1           相当于          a = a - 1

     *=           a *= 1           相当于           a = a * 1

     /=           a /= 1           相当于           a = a / 1

     %=      a %= 1           相当于           a = a % 1

例子:

public class PeratorDemo3{

     public static void main(String[] args ){

          int a = 10;

          a+=5;//相当于 a= a+5 ---->10+5 = 15

          System.out.println(a);//15

          int x = 10;

          x %= 3;//相当于 x= x%3 ---->10%3 = 1

          System.out.println(x);//1

          byte num = 30;

          //num = num + 5

          //num = byte + int

          //num = int

          //num = (byte)int

          num +=5;

          System.out.println(num);//35

     }

}

运行结果:



4.比较运算符

大于:          >

小于:          <

大于等于:     >=

小于等于:   <=

相等:          ==

不等于:      !=

注意事项:

     1.比较运算符的结果一定是一个boolean值,成立就是true,不成立就是false

     2.如果进行多次判断,不能连着写

          数学当中的写法 例如:1<x<3

          程序中不允许这样写

例子:

public class PeratorDemo4{

     public static void main(String[] args){

          System.out.println(10 > 5);//true

          int num1 = 10;

          int num2 = 12;

          System.out.println(num1 < num2);//true

          System.out.println(num2 >= 100);//false

          System.out.println(num2 <= 100);//true

          System.out.println(num2 <= 12);//true

          System.out.println("=============");

          System.out.println(10 == 10);//true

          System.out.println(20 != 25);//true

          System.out.println(20 != 20);//false

     }

}

运行结果:



5.逻辑运算符

(并且) && 全都是true,才是true,否者就是false

(或者) || 只要至少一个是true,就是true;全都是false,才是false

(取反) ! 本来是true,变成false,本来是false,变成true

短路

     与“&&”,或“||”,具有短路的效果:如果根据左边已经判断得到最终结果

     那么右边的代码将不再执行,从而节省一定的性能

注意事项:

     1.逻辑运算符只能用于boolean值

     2.与或需要左右各自有一个boolean值,大宋取反只有唯一一个boolean值

     3.与、或两运算符,如果有多个条件,可以连续写

          两个条件:条件A &&条件B

          多个条件:条件A &&条件B &&条件C

例子:

public class LogicDemo{

     public static void main(String[] args){

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

          //true && true ---> true

          System.out.println(3 < 4 && 10 > 5);//true

          System.out.println("===============");

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

          System.out.println(true || true);//true

          System.out.println(false || false);//false

          System.out.println("===============");

          System.out.println(true);//true

          System.out.println(!false);//false

          System.out.println("===============");

          int a = 10;

          //false && ......

          System.out.println(3 > 4&& ++a < 100);//false

          System.out.println(a);//10

          System.out.println("================");

          int b = 10;

          //true || ......

          System.out.println(3 < 4 || ++b <100);//true

          System.out.println(b);//10

     }

}

运行结果:


6.三元运算符

一元运算符:只需要一个数据就可以进行操作的运算符。例如:取反!,自增++

二元运算符:需要两数据才能进行的操作的运算符,例如:加法+,赋值=

三元运算符:需要三个数据才可以进行操作的运算符

格式

     数据类型 变量名称 = 条件判断 ?表达式A : 表达式B;

流程

     首先判断条件是否成立:

          如果成立为true,那么将表达式A的值赋值给左侧变量

          如果不成立为false,那么将表达式B的值赋值给左侧变量

注意事项

     1.必须同时保证表达式A和表达式B都符合左侧数据类型的要求

     2.三元运算的结果必须被使用

例子:

public class PeratorDemo5{

     public static void main(String[] args){

          int a = 10;

          int b = 20;

          //数据类型 变量名称 = 条件判断 ? 表达式A :表达式B

          //判断a>b是否成立,如果成立将a的值赋值给max,如果不成立将b的值赋值给max

          int max = a > b ? a : b;

          System.out.println(max);//20

          //int result = 3 > 4 ? 2.5 : 10;//错误写法

          //a > b ? a : b;//错误写法

     }

}

运行结果:


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

推荐阅读更多精彩内容