黑马程序员技术交流社区
标题:
---------一.算数运算符:----------
[打印本页]
作者:
syusouki
时间:
2015-10-4 09:50
标题:
---------一.算数运算符:----------
1."+"的特点:
A.+运算符,如果左右两边是"数值"类型,那么就做加法运算:
int a = 10;
int b = 20;
System.out.println(a + b);
System.out.println(10 + b);
B.如果左右两边,有一边是"字符串"类型,那么结果就做:字符串连接:
String name = "刘德华";
System.out.println(name + 10);
C."字符类型(char)"跟"整型"是兼容的类型;一个char类型,可以和一个数值类型做+,-,*,/等运算;
在做运算时,char类型使用的底层的Unicode编码的值;
char c1 = 'a';
System.out.println(c1 + 1);//98
2.-
3.*
4./
10 / 3 : 3
10 / 0 : 运行时异常;
10.0 / 0 :Infinity(无穷)不是异常
5.%(取余)
10 % 3 : 1
10 % 0 : 运行时异常
10.0 % 0 : NaN(Not A Number)不是异常
负数取模,余数和被模数符号一致
-10 % -3 :-1
10 % 3 :1
-10 % 3:-1
10 % -3:1
6.++:对变量自增1
7.--:对变量自减1
注意:++和--
1.++和--是对变量本身进行更改;自增1或自减1
2.它可以放在变量的前面,也可以放在变量的后面;
3.它在左右两边,必须是"变量",不能是"常量值"或"表达式";
4.如果表达式中,只做++和--,那么放在前或放在后,都一样;但是,如果表达式还做其它事情,那么前++/--和后++/--效果就不一样了;
int num1 = 10;
int num2 = ++num1;//num2 = 11
int num2 = num1++;//num2 = 10;
class Demo
{
public static void main(String[] args)
{
int num1 = 9;
int num2 = 5;
int result = num1 + num2;
System.out.println(result);
System.out.println(num1 + num2);
System.out.println(8 + 2 * 3 / 4);//跟我们上学时学的一样:计算顺序:先乘除,后加减;
System.out.println((8 + 2) * 3 / 4);//可以使用小括号改变运算顺序;
System.out.println((8 + 2) * ( 3 / 4));//小括号可以并列;
System.out.println(((8 + 2) * 3) / 4);//小括号可以嵌套;
//除法:
//整数除法:除数不能为0。如果为0,编译可以通过,但运行时会抛出异常;
// System.out.println(3 / 0);//编译通过;但运行时异常:ArithmeticException
System.out.println(10 / 2);//5
//整数除法,结果取"商",如果有小数部分,将会被舍去;
System.out.println(10 / 3);//3
//小数除法
System.out.println(3.0 / 0);//Infinity(无穷):它不是一个异常;
System.out.println(10.0 / 3);//3.333.....
System.out.println(10.0 / 4);//2.5
//5.%(取余(模))
System.out.println(10 % 3);//1
// System.out.println(10 % 0);//编译通过,运行时异常:ArithmeticException
System.out.println(3.0 % 0);//NaN(Not A Number):它不是一个异常;
System.out.println(10 % 3);//1
System.out.println(-10 % -3);//-1
System.out.println(-10 % 3);//-1
System.out.println(10 % -3);//1
//6.++(自增1)
// double num1 = 100;//错误。在同一个作用域范围内,不能定义同名的变量,即使是不同的数据类型;
int num3 = 10;
num3++;//num3 = num3 + 1;
num3--;//num3 = num3 - 1;
++num3;//num3 = num3 + 1;
--num3;//num3 = num3 - 1;
//注意:++和--左右两边,必须是一个变量,不能是"字面量"或者"表达式";
// 4++;//编译错误;
int a = 10;
int b = 20;
// (a + b)++;//编译错误;
//关于表达式中的++和--
int num4 = 10;
// int num5 = num4++;//num4是后++,所以让num4先参与表达式的其它运算,然后num4再自增1
int num5 = ++num4;//num4是先++,所以让num4先自增1,然后再参与表达式的其它运算;
System.out.println(num5);//11
System.out.println(num4);//11
int x = 0;
x = x++;//1.先将x的值缓存;2.将x的自增1;3.将缓存的值0赋给x;
System.out.println(x);
int aa = 2;
int bb = 10;
System.out.println(aa + (bb++));//12
System.out.println("程序结束!");
}
}
作者:
太子奕
时间:
2015-10-4 10:30
虽然不是很懂,但看上去很厉害的样子,学习下!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2