Java教程

自学java第十四天

本文主要是介绍自学java第十四天,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

Java的算数运算符

运算符指明对操作数的运算方式。组成表达式的Java操作符有很多种。运算符按照其要求的操作数数目来分,可以有单目运算符、双目运算符和三目运算符,它们分别对应于1个、2个、3个操作数。运算符按其功能来分,有算术运算符、赋值运算符、关系运算符、逻辑运算符、位运算符和其他运算符

算术运算符

算术运算符用在数学表达式中,它们的作用和在数学中的作用一样。

算数运算符有:+ 、- 、* 、/ 、% 、++ 、--

举例:+,-,*

//算术运算符

// + - * / % ++(自增)--(自减)

int a=23;

int b=5;

//+,加,相加运算符两侧的值

//+,同时也是字符串的连接运算符

int c=a+b;

System.out.println("a+b="+c);

//-,减,左操作数减去右操作数

int d=a-b;

System.out.println("a-b="+d);

//*,乘,相乘操作符两侧的值

int e=a*b;

System.out.println("a*b="+e);

//零乘以任何数都为零

int f=a*0;

 

/(除)

//除(整型不能除零,)

 

int f=a/b;//整数/整数=整数,是截断取整,而不是四舍五入取整

//int g=a/0;整数不能除零

//当除数或者被除数中有一个为浮点型的,那么结果就是自然除法的结果

//如果此时除数为0或者0.0那么结果为正无穷或者负无穷

//0.0除0结果为NaN非数;

System.out.println("Infinity 正无穷"+10/0.0);

System.out.println("没有四舍五入,直接截断 :a/b="+f);

System.out.println("0.0/0.0="+(0.0/0.0));

// System.out.println("除零异常"+10/0);

//java.lang.ArithmeticException除零异常

 

取余

取余运算符既可用于两个操作数都是整数的情况,也可用于两个操作数都是浮点数(或一个操作数是浮点)的情况。

int a=19;

int b=4;

float c = 3.8f;

float d = 1.8f;

//% 求余

/*两个整数时第二个数不能为零

* 一个或者2个为浮点数,第二个数为0或者0.0时,结果NaN,第一个数为0或0.0时,

* 结果为0.0*/

int h=a%b;

System.out.println("a % b="+h);

System.out.println("a % 0.0="+(a % 0.0));

System.out.println("0.0 % b="+(0.0 % b));

System.out.println("c % d="+(c % d));

 

++自加,--自减

自增(++)自减(--),运算符是一种特殊的算术运算符,在算术运算符中需要两个操作数来进行运算,而自增自减运算符是一个操作数

//++自增

//定义变量

int A=20;

int B=20;

int C=20;

int D=C++ + B;

//前缀自增自减法(++a,--a): 先进行自增或者自减运算,再进行表达式运算。

//后缀自增自减法(a++,a--): 先进行表达式运算,再进行自增或者自减运算

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

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

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

//--自减

D=20;

int E=20;

System.out.println("--D="+(--D));

System.out.println("E--="+(E--));

//int b = ++A; 拆分运算过程为: a=a+1=4; b=a=4, 最后结果为b=4,a=4

//int d = --C; 拆分运算过程为: c=c-1=2; d=c=2, 最后结果为d=2,c=2

 

比较运算符

>、 >= 、<、 <=、 == 、!=

//比较运算符

System.out.println("5>4 ="+(5>4));

System.out.println("5>=4 ="+(5>=4));

System.out.println("5<4 ="+(5<4));

System.out.println("5<=4 ="+(5<=4));

System.out.println("5==4 ="+(5==4));

System.out.println("5!=4 ="+(5!=4));

成立则为true,不成立则为false。

 

逻辑运算符

//逻辑运算符

//&&:短路与,前后两个操作数必须都是true才返回true,否则返回false。

//&:不短路与,作用于&&相同,但不会短路

//||:或,只要两个操作数中有一个是true,就可以返回true,否则返回false。

//|:不短路或,作用与||相同,但不会短路。

//!:非,只需要一个操作数,如果操作数为true,则返回false;如果操作数为false,则返回true。

//^:异或,当两个操作数不同时才返回true,如果两个操作数相同则返回false

boolean a = true;

boolean b = false;

System.out.println("a && b = " + (a&&b));

System.out.println("a || b = " + (a||b) );

System.out.println("!(a && b) = " + !(a && b));

// 短路逻辑运算符
int a = 5;//定义一个变量;

boolean b = (a<4)&&(a++<10);

System.out.println("使用短路逻辑运算符的结果为"+b);

System.out.println("a的结果为"+a);

结果:

 

 

赋值运算符:

操作符

描述

=

简单的赋值运算符,将右操作数的值赋给左侧操作数

+=

加和赋值操作符,它把左操作数和右操作数相加赋值给左操作数

-=

减和赋值操作符,它把左操作数和右操作数相减赋值给左操作数

*=

乘和赋值操作符,它把左操作数和右操作数相乘赋值给左操作数

/=

除和赋值操作符,它把左操作数和右操作数相除赋值给左操作数

//赋值运算符

//= += -= /=

int intZ=1;

System.out.println(intZ+=1);

System.out.println(intZ-=1);

System.out.println(intZ*=1);

System.out.println(intZ/=1);

位运算符:

位运算是以二进制位为单位进行的运算,其操作数和运算结果都是整型值。 位与'&',位或'|',位非'~',位异或'^',右移'>>',左移'<<',0填充的右移'>>>' 位运算的位与'&',位或'|',位非'~',位异或'^'与逻辑运算的相应操作的真值表完全相同,其差别只是位运算操作的操作数和运算结果都是二进制整数,而逻辑运算相应操作的操作数和运算结果都是逻辑值boolean型。

int a = 60; /* 60 = 0011 1100 */

int b = 13; /* 13 = 0000 1101 */

int c = 0;

c = a & b; /* 12 = 0000 1100 */

System.out.println("a & b = " + c );

c = a | b; /* 61 = 0011 1101 */

System.out.println("a | b = " + c );

c = a ^ b; /* 49 = 0011 0001 */

System.out.println("a ^ b = " + c );

c = ~a; /*-61 = 1100 0011 */

System.out.println("~a = " + c );

c = a << 2; /* 240 = 1111 0000 */

System.out.println("a << 2 = " + c );

c = a >> 2; /* 15 = 1111 */

System.out.println("a >> 2 = " + c );

c = a >>> 2; /* 15 = 0000 1111 */

System.out.println("a >>> 2 = " + c );

 

其他运算符:

三目运算符(?:)

三目运算符也被称为三元运算符。该运算符有3个操作数,并且需要判断布尔表达式的值。该运算符的主要是决定哪个值应该赋值给变量。

//三目运算符?:

System.out.println((5>4)?"5>4":"5<4");

 

instanceof 运算符

该运算符用于操作对象实例,检查该对象是否是一个特定类型(类类型或接口类型)。

//instanceof

String str1="Name";

boolean bool=str1 instanceof String;

System.out.println(bool);

 

这篇关于自学java第十四天的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!