(学完算术运算符之后我们要能够使用算术运算符进行运算)
目录
1.1运算符和表达式
运算符:对常量或者变量进行操作的符号
表达式:用运算符把常量或者变量连接起来符合java语法的式子就可以称为表达式。
不同运算符连接的表达式体现的是不同类型的表达式。
举例说明:
int a = 10;
int b = 20;
int c = a + b;
“+”是运算符,并且是算术运算符
a + b是表达式,由于+是算术运算符,所以这个表达式叫算术表达式。
1.2算术运算符
注意事项:
/和%的区别:两个数据做除法,/取结果的商,%取结果的余数。
整数操作只能得到整数,要想得到小数,必须有浮点数参与运算。
代码演示:
/*
算术运算符
*/
public class ArithmeticOperator {
public static void main(String[] args) {
//定义两个变量
int a = 10;
int b = 20;
//引用前面学过的只是修改变量
a = 6;
b = 4;
//+的演示
int c = a+b;
System.out.println(c);//10
//-的演示
int d = a-b;
System.out.println(d);//2
//*的演示
int e = a*b;
System.out.println(e);//24
// /的演示
int f = a/b;
System.out.println(f);//int是整数取整数1
// %的演示
int j = a%b;
System.out.println(j);//2
}
}
也可以直接输入:
/*
算术运算符
*/
public class ArithmeticOperator1 {
public static void main(String[] args) {
//定义两个变量
int a = 10;
int b = 20;
//引用前面的知识修改变量
a = 6;
b = 4;
//演示
System.out.println(a + b);//10
System.out.println(a - b);//2
System.out.println(a * b);//24
System.out.println(a / b);//1
System.out.println(a % b);//2
}
}
1.3字符的+操作
拿字符在计算机底层对应的数值来进行计算的,而且字符也是有值的。
代码演示:
/*
字符的加操作
字符是可以和int类型做加法运算的,而且它也是有值的
拿字符在计算机底层对应的数值来进行计算
A=65 A到Z是连续的
a=97 a到z是连续的
0=48 0到9是连续的
*/
public class ArithmeticOperator3{
public static void main(String[] args) {
//定义两个变量
int i = 10;
char c = 'A';
System.out.println(i + c);//75,字符大A的值是65
c = 'a';
System.out.println(i + c);//107,字符小a的值是97
c = '0';
System.out.println(i + c);//58,字符'0'的值是48
}
}
算术表达式中包含多个基本数据类型的值的时候,整个算术表达式的类型会自动进行提升。
提升规则:
Byte类型,short类型和char类型将被提升到int类型。
整个表达式的类型自动提升到表达式中最高等级操作数同样的类型。
等级顺序:
byte,short,char→int→long→float→double
/*
int k = 10+13.14;这样写会报错,因为13.14是double类型的,10是int类型的,
会报错:不兼容的类型,从double类型转换到int类型可能会有损失
除非用强制转换:int k = (int)(10+13.14);得到23(因为int类型不取小数)
*/
double k = 10+13.14;
System.out.println(k)//得到23.14
1.4字符串的加操作
当“+“操作中出现字符串时,这个”+“是字符串连接符,而不是算术运算。
范例:"iloveit" + 666得到iloveit
在“+“操作中,如果出现了字符串,就是连接运算符,否则就是算术运算符。当连续进行”+“操作时,从左到右逐个进行。
范例: 1 + 99 + "块钱"得到100块钱
/*
字符的加操作
*/
public class AddDemo {
public static void main(String[] args) {
System.out.println("iloveit"+666);//iloveit666
System.out.println(1+99+"块钱");//100块钱
}
}