Operador aritmético
Operador | Cálculo | ejemplo | resultado | Observaciones |
+ | Signo positivo | +3 | 3 | |
más | 3 + 5 | 8 | ||
- | negativo | b = 4; -b; | -4 | |
Menos | 5-3 | 2 | ||
* | Multiplicar | 3 * 4 | 12 | |
/ | excepto | 10/5 | 2 | |
% | Módulo (es decir, tome el resto) | 13% 5 | 3 | |
++ | Auto-creciente (frente) | a = 2; b = ++ a; | a = 3; b = 3 | Incrementar primero, luego calcular |
Auto-creciente (después) | a = 2; b = a ++; | a = 3; b = 2 | Calcular primero, luego incrementar | |
- | Decremento (frente) | a = 2; b = - a; | a = 1; b = 1 | Disminuya primero, luego calcule |
Decremento (publicación) | a = 2; b = a--; | a = 1; b = 2 | Calcular primero, luego restar |
Tabla de contenido
-
+ Operador
(1) Mostrar número positivo
(2) Representa la operación de suma
(3) Concatenar cadenas
public class TestOpe01{
public static void main(String[] args){
//表示正数
System.out.println(+5); //5
//表示相加操作
System.out.println(5+6); //11
System.out.println(5+'6'); //5+54——>59
//字符串的拼接
/*
规则:+左右两侧的任意一侧有字符串,
那么这个加号就是字符串拼接的作用,
结果一定是字符串
*/
int num=50;
System.out.println("num="+num); //num=50
System.out.println(5+6+"7"); //11+"7"——>"117"——>117
System.out.println(5+'6'+"7"); //5+54+"7"——>59+"7"——>"597"——>597
System.out.println("5"+6+"7"); //"56"+"7"——>"567"——>567
System.out.println("5"+'6'+"7"); //"56"+"7"——>"567"——>567
System.out.println("5"+'6'+'7'); //"56"+'7'——>"567"——>567
}
}
-
Operador de división (/)
En la operación de división, cuando el divisor y el dividendo son ambos enteros , el resultado obtenido también es un entero ;
Si hay un decimal involucrado en la operación de división , el resultado será un decimal .
public class TestOpe02{
public static void main(String[] args){
System.out.println(12/3); //4
System.out.println(12/3.0); //4.0
}
}
-
Operador de módulo (%)
Al realizar la operación de módulo, el signo del resultado depende del signo del módulo ( el número a la izquierda de % ). No tiene nada que ver con el signo del módulo (el número a la derecha de%).
Por ejemplo, el resultado de (-5)% 3 es -2 y el resultado de 5% (- 3) es 2.
public class TestOpe03{
public static void main(String[] args){
System.out.println(-5%3); //-2
System.out.println(-5.0%3); //-2.0
System.out.println(5%-3); //2
System.out.println(5.0%-3); //2.0
}
}
-
Ejercicio 1 (/ y%)
public class TestOpe04{
public static void main(String[] args){
//实现功能:任意给出一个四位数,求出每位上的数字并输出
//任意给出一个四位数
int num=2345;
//求出每位上的数字
int num1=num%10; //2345——>5
int num2=num/10%10; //2345——>234——>4
int num3=num/100%10; //2345——>23——>3
int num4=num/1000; //2345——>2
//输出每位上的数字
System.out.println("个位上的数字为:"+num1); //个位上的数字为:5
System.out.println("十位上的数字为:"+num2); //十位上的数字为:4
System.out.println("百位上的数字为:"+num3); //百位上的数字为:3
System.out.println("千位上的数字为:"+num4); //千位上的数字为:2
}
}
Mejora: cualquier número ingresado por el usuario
Introducir escáner
import java.util.Scanner; public class TestOpe04{ public static void main(String[] args){ //实现功能:任意给出一个四位数,求出每位上的数字并输出 //任意给出一个四位数 Scanner input=new Scanner(System.in); System.out.println("请录入一个四位数:"); int num=input.nextInt(); //求出每位上的数字 int num1=num%10; int num2=num/10%10; int num3=num/100%10; int num4=num/1000; //输出每位上的数字 System.out.println("个位上的数字为:"+num1); System.out.println("十位上的数字为:"+num2); System.out.println("百位上的数字为:"+num3); System.out.println("千位上的数字为:"+num4); } }
-
Operador de incremento (++)
Al realizar la operación de incremento ++ o decremento, sin importar si la variable está involucrada en la operación, siempre que se use el operador ++ , la variable en sí eventualmente se incrementará en 1 .
Si ++ está al final, calcule primero, luego agregue 1; si ++ está al frente, agregue 1 primero y luego calcule.
public class TestOpe05{
public static void main(String[] args){
int a=5;
a++;
System.out.println(a); //6
a=5;
++a;
System.out.println(a); //6
/*
总结:无论这个变量是否参与到运算中去,
只要用++运算符,这个变量本身最终都加1操作。
*/
a=5;
int m=a+++7; //先运算m=a+7 ,再自增a=a+1。
System.out.println(m); //12
System.out.println(a); //6
a=5;
int n=++a+7; //先自增a=a+1 ,再运算n=a+7。
System.out.println(n); //13
System.out.println(a); //6
}
}
resultado de la operación:
-
Ejercicio 2 (++)
public class TestOpe06{
public static void main(String[] args){
int a=5;
//注:运算符优先级 ++ > +
System.out.println(a++ + a++);
System.out.println(a++ + ++a);
System.out.println(++a + a++);
System.out.println(++a + ++a);
}
}
Proceso de operación:
Resultado del cálculo: