0
点赞
收藏
分享

微信扫一扫

java基础之运算符升级版之一

前言

上一篇我们讲了变量和数据类型,那么紧接着我们来聊一聊java基础之运算符,这一篇呢,内容会比之前多一些,所以拆成两篇文章给大家分别去讲,主要目的也是觉得一篇文章太长了,怕自己忽略了很多细节,但是拆分后细节会变明显些,所以也是希望兄弟们能够看的仔细,实实在在的希望对兄弟们能学点东西,不过也别担心,我的每一步都会有代码演示,就为了兄弟们看的清楚明白,还是那句话,兄弟们动起手来,我们一起在java世界里历险吧,废话不多说,咱们往下看!!!

java基础之运算符升级版之一_基础


一.介绍

       在java中我们要进行大量的运算,java中也为我们提供了大量的运算符,我们常用的运算符有那些呢,下面我们来一一的介绍一下。

运算符用于执行程序代码运算,会针对一个以上操作数项目来进行运算。例如:2+3,其操作数是2和3,而运算符则是“+”。运算符大致可以分为5种类型:算术运算符、条件运算符、关系运算符、赋值运算符和逻辑运算符。

二.知识点介绍

1、运算符概念

2、算术运算符

3、赋值运算符

4、比较运算符

5、逻辑运算符 下一篇文章有讲

6、三元运算符(下一篇文章有讲

7、运算符优先级(下一篇文章有讲

三.知识详解

1、运算符概念

     运算符是用来计算数据的指令。数据可以是常量,也可以是变量。被运算符操作的数成为操作数。   

例如:

int x = 3;
int y = 4;
int z = x + y;//磊哥java历险记 @51博客


2、算数运算符

       将操作数参与数学计算(通常为数学计算)

运算符

运算规则

范例

结果

+

正号

+3

3

+

2+3

5

+

连接字符串

“中”+“国”

“中国”

-

负号

int a=3;-a

-3

-

3-1

2

*

2*3

6

/

5/2

2

%

取模(余数)

5%2

1

++

自增

int a=1;a++/++a

2

--

自减

int b=3;a--/--a

2

注意:

(1)加法运算符在连接字符串时要注意,只有直接与字符串相加才会转成字符串。

代码演示:

public class Main{
public static void main(String[] args) {
String a = "磊哥java历险记";
String b = "@51博客";
//两个常量相加
System.out.println(a + b);

}
}

java基础之运算符升级版之一_代码_02

  (2)除法“/”当两边为整数时,取整数部分,舍余数。当两边为浮点型时,按正常规则相除。

代码演示:(整数)

public class Main{
private static String name = "磊哥java历险记 @51博客";

public static void main(String[] args) {
int a = 5;
int b = 2;
//除法
System.out.println(a / b);
System.out.println(name);

}
}

java基础之运算符升级版之一_java_03

代码演示(浮点型,除法):

public class Main{
private static String name = "磊哥java历险记 @51博客";

public static void main(String[] args) {
double a = 0.5;
double b = 0.2;
//除法----浮点型
System.out.println(a / b);
System.out.println(name);

}
}

java基础之运算符升级版之一_java_04

  (3)“%”为整除取余符号,小数取余没有意义。取余结果的符号与被取余数的符号相同。得到的是两个相除数据的余数。用处: 判断两个数据是否除。      

代码演示:

public class Main{
private static String name = "磊哥java历险记 @51博客";

public static void main(String[] args) {
int a = 9;
int b = 2;
int c = 3;
//取余----
System.out.println(a % b);
System.out.println(a % c);
System.out.println(name);

}
}

java基础之运算符升级版之一_运算符_05

(4)整数做被除数,0不能做除数,否则报错。   

代码演示:

java基础之运算符升级版之一_java_06

(5)小数做除数,整除0结果为Infinity(无限大),对0取模结果为NaN       

代码演示:

public class Main{
private static String name = "磊哥java历险记 @51博客";

public static void main(String[] args) {
double a = 5.0;
int b = 0;
//小数做除数
System.out.println(a / b);

//对0取模
System.out.println(a % b);

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

java基础之运算符升级版之一_java_07

2.1自增与自减

  单独使用:前置与后置效果相同,均为直接+1或-1     

代码演示:

public class Main{
private final static String name = "磊哥java历险记 @51博客";
public static void main(String[] args){

/* 单独使用:
前置与后置效果相同,均为直接+1或-1
++:自增(自身加1)
--:自减(自身减1)
*/
int c = 10;
int d = 20;
//c++;
//d--;
++c;
--d;
System.out.println("c = " + c);//c = 11
System.out.println("d = " + d);//d = 19
System.out.println("===================================");
System.out.println(name);
}
}

java基础之运算符升级版之一_基础_08

混合使用:

      自增(++):将变量的值加1,分前缀式(如++i)和后缀式(如i++)。前缀式是先加1再使用;后缀式是先使用再加1。        

自减(--):将变量的值减1,分前缀式(如--i)和后缀式(如i--)。前缀式是先减1再使用;后缀式是先使用再减1。      

代码演示:

public class Main{
private final static String name = "磊哥java历险记 @51博客";
public static void main(String[] args){
/* 与其他运算混合使用:
++或- -为前置时,先+1或-1,再使用值。
++或- -为后置时,先使用值再+1或-1。
*/
int e = 15;
int f = 20;
//正常输出
System.out.println("=================正常输出==================");
System.out.println(e);//15
System.out.println(f);//20
System.out.println("=================先计算==================");
//后置,先计算完成
System.out.println(e++);//15
System.out.println(f--);//20
//计算完成后,才会加1或者减1
System.out.println("=================计算后==================");
System.out.println(e);//16
System.out.println(f);//19
System.out.println(name);

}
}

java基础之运算符升级版之一_概念_09

自增与自减运算符规律:

  (1)可以用于整数类型byte、short、int、long,浮点类型float、double,以及字符串类型char。

  (2)在Java5.0及以上版本中,它们可以用于基本类型对应的包装器类Byte、Short、Integer、Long、Float、Double、Character。

  (3)它们的运算结果的类型与被运算的变量的类型相同。

代码演示:

java基础之运算符升级版之一_概念_10

代码总结:

package com.Test;

/*
磊哥java历险记 @51博客
算数运算符:
+,-,*:相当于数学+,-*
+:做为字符串连接符
/:两个整数相除,结果是整数
%:两个整数取模(余数),结果是整数
++:自增(自身加1)
--:自减(自身减1)
*/
public class Main{
private final static String name = "磊哥java历险记 @51博客";
public static void main(String[] args){
//两个常量相加
System.out.println(3 + 5);//8
//变量加减乘除模
int a = 20;
int b = 7;
System.out.println(a + b);//27
System.out.println(a - b);//13
System.out.println(a * b);//140
System.out.println(a / b);//2
System.out.println(a % b);//6
//+:做为字符串连接符
System.out.println("中"+"国");//中国
/*
单独使用:
前置与后置效果相同,均为直接+1或-1
*/
//++:自增(自身加1)
//--:自减(自身减1)
int c = 10;
int d = 20;
//c++;
//d--;
++c;
--d;
System.out.println("c = " + c);//c = 11
System.out.println("d = " + d);//d = 19
System.out.println("===================================");
System.out.println(name);
//1.加法运算符在连接字符串时要注意,只有直接与字符串相加才会转成字符串。
int e = 15;
int f = 20;
System.out.println("e + f = " + e + f);//e + f = 1520
System.out.println("e + f = " + (e + f));//e + f = 35
System.out.println(e + f + " = e + f");//35 = e + f
//2.除法“/”当两边为整数时,取整数部分,舍余数。当两边有浮点型时,按正常规则相除。
System.out.println(5.0 / 2);//2.5
//3.“%”为整除取余符号,小数取余没有意义。取余结果的符号与被取余数(符号左边的数)的符号相同。
System.out.println(5.1 % 2);//1.0999999999999996
System.out.println(5 % 2);//1
System.out.println(-5 % 2);//-1
System.out.println(5 % -2);//1
System.out.println(-5 % -2);//-1
//4.整数做被除数,0不能做除数,否则报错。
//System.out.println(5 / 0);//ArithmeticException: / by zero
//5.小数做被除数,整除0结果为Infinity(无穷),对0取模结果为NaN(not number 无效数字)
System.out.println(5.0 / 0);//Infinity
System.out.println(5.0 % 0);//NaN
System.out.println("===================================");
System.out.println(name);
/*
与其他运算混合使用:
++或- -为前置时,先+1或-1,再使用值。
++或- -为后置时,先使用值再+1或-1。
*/
System.out.println(e);//15
System.out.println(f);//20
System.out.println(e++);//15
System.out.println(f--);//20
System.out.println(e);//16
System.out.println(f);//19
System.out.println("===================================");
System.out.println(name);
int i1 = 100;
int i2 = i1++ + 200;
System.out.println(i1);//101
System.out.println(i2);//300
int i3 = 100;
int i4 = ++i3 + 200;
System.out.println(i3);//101
System.out.println(i4);//301
System.out.println("===================================");
System.out.println(name);
}
}


3、赋值运算符

为变量赋值的运算符

运算符

运算规则

范例

结果

=

赋值

int a=2

2

+=

加后赋值

int a=2,a+=2

4

-=

减后赋值

int a=2,a-=2

0

*=

乘后赋值

int a=2,a*=2

4

/=

整除后赋值

int a=2,a/=2

1

%=

取模后赋值

int a=2,a%=2

0

注意:

      诸如 += 这样形式的赋值运算符,会将结果自动强转成等号左边的数据类型。 

代码演示:

package com.Test;

/*
赋值运算符:
=,+=,-=,*=,/=,%=
+=,-=,*=,/=,%=运算符的运算规则:
先将运算符两边进行+,-,*,/,%运算,在把结果赋值给左边的变量
+=,-=,*=,/=,%=注意事项:运算符左边必须是一个变量
+=,-=,*=,/=,%=特点:隐含一个强制类型转换

*/
public class Main{
private final static String name = "磊哥java历险记 @51博客";
public static void main(String[] args){
int a = 10;

//相当于 a = a + 20;
a += 20;
System.out.println("a = " + a);
System.out.println("==========="+name +"===========");
//5 += 6;//错误: 意外的类型,这里5的位置需要一个变量

byte b = 10;
//b = b + 100;// 错误: 可能损失精度
//b = (byte)(b + 100);

//+=隐含了一个强制类型转换 相当于b = (byte)(b + 100);
b += 100;
System.out.println("b = " + b);

}
}

java基础之运算符升级版之一_概念_11

4、比较运算符

        又叫关系运算符,即判断两个操作数的大小关系及是否相等关系,比较运算符的返回一定为布尔值。

运算符

运算规则

范例

结果

==

相等于

4==3

false

!=

不等于

4!=3

true

<

小于

4<3

false

>

大于

4>3

true

<=

小于等于

4<=3

false

>=

大于等于

4>=3

true

   关系运算符包括:==,!=,>,<,>=,<=

   关系运算符的结果都是boolean型,也就是要么是true,要么是false。

注意事项

    n 关系运算符“==”不能误写成“=” 。

代码演示:

package com.Test;

public class Main {
private final static String name = "磊哥java历险记 @51博客";
public static void main(String[] args) {
int a = 10;
int b = 20;
int c = 10;
System.out.println(a == b);
System.out.println(a == c);
System.out.println("==========="+name +"===========");
System.out.println(a != b);
System.out.println(a != c);
System.out.println("======================");
System.out.println(a > b);
System.out.println(a > c);
System.out.println("======================");
System.out.println(a >= b);
System.out.println(a >= c);
System.out.println("======================");
int x = 3;
int y = 4;
// System.out.println(x == y);
// System.out.println(x = y);// 把y赋值给x,把x的值输出
boolean bb = (x == y);
// 报错
// boolean cc = (x = y);
int cc = (x = y);
System.out.println(cc);
}
}

java基础之运算符升级版之一_基础_12

结语:

本篇内容还未讲完,因为内容太多了,我想给兄弟们讲全一点,但是又怕文章太长了,好多细节兄弟们注意不到,所以下一篇还会把剩下的运算符更新完的,不会烂尾。

今天的内容也确实比较多,我把每一步的代码和演示都贴在了文章里,为的就是让初学的兄弟们不迷糊,我也从这个阶段走过来过,完全能体会兄弟们的不容易,所以我宁愿麻烦一些也要让每一位初学者最起码看的明白,这样也不枉我费这么大功夫,兄弟们,还是那句话,动起手来切勿复制粘贴,让学习变得值得!加油!

java基础之运算符升级版之一_概念_13

举报

相关推荐

0 条评论