您的位置:首页 > 编程语言 > Java开发

java学习之路(5)-运算符

2017-07-12 21:22 288 查看

运算符:

赋值运算符: =、 +=、-=、*=、/=、%=

算术运算符 :++、– +、-、*、/、%

关系(比较)运算符:> 、>= 、 < 、<=、 ==、!=

逻辑运算符: &&、||、!、&、|、

三目运算符 : a?b:c

赋值运算:

**
* 赋值运算
* =   +=  -=  *=  /=  %=
*/
public class Operator01 {
public static void main(String[] args) {
int a;
a = 10;//把10赋值给变量a
//+=
int b = 10;
b += 10;// 相当于b = b+10,变量b先加10再重新赋值给b变量。
b -= 5;// 相当于b = b-5,变量b先减10再重新赋值给b变量。
b *= 5;//等于b = b *5
b /= 5;//等于b = b /5
b %= 5;//等于b = b%5 ,变量b取余数再重新赋值给b变量。
}

}


算术运算:

/**
*  算术运算:
*  + - * 、 % ++ --
*
* +两边都是数字的时候做加法运算
* 只要+号两边有一边是字符串就做字符串连接
*/
public class Operator02 {
public static void main(String[] args) {
int a = 11;
int b = 5;
System.out.println(a+b);// 加
System.out.println(a-b);//减
System.out.println(a*b);//乘
System.out.println(a/b);//求商
System.out.println(a%b);//取余
//++  自增     --  自减
int i = 1;
i++; // 相当于 i = i + 1;和 i += 1;
System.out.println(i);//2
i--;
System.out.println(i);//1
//++的位置   ++(--)可以出现在变量之前 也可以出现在变量之后
int num1 = 1;
int num2 = num1++;//++在变量之后是先赋值再自加
System.out.println(num1);//2
System.out.println(num2);//1

int num3 = 1;
int num4 = ++num3;//++变量之前是先自加再赋值
System.out.println(num3);//2
System.out.println(num4);//2

}
}


比较运算符:

/**
*  比较运算符
*  >  <  ==  !=  >=  <=
* 得到的是布尔值
*/
public class Operator03 {
public static void main(String[] args) {
int a = 100;
int b = 50;
System.out.println(a>b);//true,大于
System.out.println(a>=b);//true大于等于
System.out.println(a<b);//false小于
System.out.println(a<=b);//false小于等于
System.out.println(a==b);//false 等于
System.out.println(a!=b);//true 不等于
}
}


逻辑运算符:

/**
*  逻辑运算符
*  !    非
*  |  或   有真为真
*  &  与   有假为假
*  && 短路与   遇假则停
*  ||   短路或  遇真则停
*/
public class Operator04 {
public static void main(String[] args) {
//逻辑表达式中运算(逻辑运算)两边是布尔值,结果也是布尔值
int i1 = 10;
int i2 = 100;
System.out.println(i1<20|i2<20);//true|false 结果是true
System.out.println(i1<20&i2<20);//true|false  结果是 false
System.out.println(i1<20&i2>20);//true|true  结果是 true
/*   &   |   逻辑与     逻辑或
*   &&  ||  短路与  遇假则停  短路或  遇真则停
*   相同:&  &&  有假则假  (在逻辑上说他们功能一样)
*   不同:(效率不同) &&效率高
*/
boolean b1 = true;
boolean b2 = false;
System.out.println(b1&b2);//  输出:false
System.out.println(b1&&b2);// 输出:false
System.out.println(b1&b1);//  输出:true
System.out.println(b1&&b1);// 输出:true

int num1 = 1;
boolean b3 = b2&num1++>1;//b2是false,但num1++>1还会执行,所以下面输出 num1是2
System.out.println(b3);//输出:false
System.out.println(num1);//输出:2

int num2 = 1;
boolean b4 = b2&&num2++>1;b2是false,遇假则停,num2++>1不执行,所以下面输出num2 是1
System.out.println(b4);//输出:false
System.out.println(num2);//输出:1

//&和 &&结果要为真必须两边都为真
//当第一个式子就能判断出整个式子的值时,&会继续执行第二个式子,而&&则不会执行第二个式子
}

}


三目运算符:

/**
* 三目运算符(三元   条件)
* 语法:
*      布尔表达式?表达式1:表达式2;
*      如果boolean为真则执行表达式1,为假则执行表达式2
*/
public class Operator05 {
public static void main(String[] args) {
int a = 10;
int b = 20;
int num = a>b?10:20;
System.out.println(num);//输出:20
//注意:三目运算法的类型
//int num1 = a>b?10:3.14;//ERROR 类型不一致
System.out.println(a>b?10:3.14);//可以直接打印
//注意 : 嵌套
int num2 = a>b?a<b?10:20:a>10?15:30;//简单嵌套
System.out.println(num2);//30

}

}


如果大牛发现有错误或不对或理解有误,欢迎指正。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java