Java에서 "%"는 나머지를 의미합니다. 나누기 연산을 수행하고 나머지를 얻을 수 있는 구문은 "연산자 1 % 피연산자 2"입니다. 나머지 연산자 "%"의 피연산자는 일반적으로 양의 정수, 음수 또는 부동 소수점 숫자입니다. 이 연산에 음수가 포함되면 결과는 이전 숫자가 양수인지 음수인지에 따라 달라집니다.
이 튜토리얼의 운영 환경: windows7 시스템, java8 버전, DELL G3 컴퓨터.
%는 Java에서 나머지를 의미하며, 나머지 연산을 구현하고 나누기 연산을 수행하여 나머지를 구할 수 있는 산술 연산자입니다.
나머지 연산자는 이항 연산자인 %입니다. 피연산자는 일반적으로 양의 정수, 음수 또는 심지어 부동 소수점 숫자입니다. 이 연산에 음수가 포함되면 결과는 이전 숫자가 다음인지 여부에 따라 달라집니다. 양수 또는 음수.
정수의 경우 Java의 나머지 연산 규칙은 다음과 같습니다
a%b=a-(a/b)*b 5%3=5-(5/3)*3=2 5%-3=5-(5/-3)*-3=2 -5%3=-5-(-5/3)*3=-2 -5%-3=-5-(-5/-3)*-3=-2
피연산자에 부동 소수점이 있는 경우 적용되는 규칙은 다음과 같습니다.
a%b=a-(b*q)
,这里q=int(a/b)
5.2%3.1=5.2-1*3.1=2.1 5.2%-3.1=5.2-(-1)*(-3.1)=2.1 -5.2%3.1=-5.1-(-1)*3.1=-2.1 -5.2%-3.1=-5.1-(-1)*(-3.1)=-2.1
확장 지식:
Java의 산술 연산자는 주로 다음과 같은 경우에 사용됩니다. 조직 수치 데이터에 대한 산술 연산은 연산에 포함된 다양한 피연산자에 따라 단항 연산자와 이항 연산자로 나눌 수 있습니다.
단항 연산자
산술 단항 연산에는 -, ++, -- 3가지가 있습니다. 구체적인 지침은 표 1을 참조하세요.
Operator | Name | Description | Example |
---|---|---|---|
- | 부정 기호 | 부정 연산 | b=-a |
++ | 셀프 -1씩 증가 | 먼저 값을 가져온 다음 하나를 더하거나, 먼저 하나를 더한 다음 값을 가져옵니다 | a++ 또는 ++a |
-- | 1씩 자체 감소 | 먼저 값을 가져옵니다. 그런 다음 하나를 빼거나 먼저 빼십시오. | a-- 또는 --a |
값을 반복적으로 취합니다. 표 1에서 -a는 a의 반전 연산이고, a++ 또는 a--는 더하거나 빼는 것입니다. 표현식 작업이 완료된 후 1 대 1입니다. 그리고 ++a 또는 --a는 먼저 a에 1을 더하거나 뺀 다음 표현식 연산을 수행합니다.
int a = 12; System.out.println(-a); int b = a++; System.out.println(b); b = ++a; System.out.println(b);
위 코드의 두 번째 줄은 a 변수를 반전시키는 -a이며, 결과 출력은 -12입니다. 네 번째 코드 줄은 b 변수에 먼저 a를 할당한 다음 1을 추가하는 것입니다. 즉, 값을 먼저 할당한 다음 ++를 할당하므로 출력 결과는 12입니다. 6번째 코드는 a에 1을 더한 후 b 변수에 a를 할당하는 즉, ++를 먼저 할당한 후 할당하므로 출력 결과는 14가 됩니다.
출력 결과는 아래 그림과 같습니다.
이진 연산자
Java 언어에서 산술 연산자의 기능은 일반적으로 사용되는 덧셈(+), 뺄셈( -), 곱셈(*) 그리고 () 외에 모듈로 연산(%)도 있습니다. 더하기(+), 빼기(-), 곱하기(*), 나누기()는 우리가 흔히 접하는 수학 연산과 같은 의미를 갖습니다. 구체적인 지침은 표 2를 참조하세요.
Operator | Name | Description | Example |
---|---|---|---|
+ | Add | 문자열 유형에도 사용할 수 있습니다. 에 문자열 연산 수행 연결 연산 | a + b |
- | 빼기 | a 빼기 b의 차이 찾기 | a - b |
* | 곱하기 | a 곱하기 b의 곱 찾기 | a * b |
/ | divide | a를 b로 나눈 몫을 구합니다. | a / b |
% | 나머지를 구합니다 | 다음으로 나눈 나머지 b | a % b |
算术运算符都是双目运算符,即连接两个操作数的运算符。优先级上,*、/、% 具有相同运算级别,并高于 +、-(+、- 具有相同级别)。例如:
int a = 4, b = 2, c = 3; int d = a * (b + c) % c;
这种运算规则与数学运算中的规则是相同的。首先计算赋值符号(=)右边配对的括号内的值,其次按从左向右的结合方向计算乘法,最后做求余运算,表达式的结果为 2, 然后把 2 赋值给 d。
例如:
①int x=2,y=1;
表达式 y/x 的结果是 0。
②float x=2.0f; int y=1;
表达式 y/x 的结果是 0.5。
在 ① 中整型变量 x 和 y 相除,其结果仍为整型数据 0;在 ② 中由于两个不同类型的数据进行运算,此时首先要进行类型转换,会把 int 型的 y 转换成与 x 一样的 float 型,然后相除,最终结果为 float 类型的数字 0.5。
【例1】编写一个程序,输出不同类型的两个数,执行相加、相减、相乘、相除和求余后输入结果。
public static void main(String[] args) { float f1 = 9 % 4;// 保存取余后浮点类型的结果 double da = 9 + 4.5; // 双精度加法 double db = 9 - 3.0; // 双精度减法 double dc = 9 * 2.5; // 双精度乘法 double dd = 9 / 3.0; // 双精度除法 double de = 9 % 4; // 双精度取余 System.out.println("整数的算术运算"); // 整数的加、减、乘、除和取余 System.out.printf("9+4=%d \n", 9 + 4); System.out.printf("9-4=%d \n", 9 - 4); System.out.printf("9*4=%d \n", 9 * 4); System.out.printf("9/4=%d \n", 9 / 4); System.out.printf("9%%4=%d \n", 9 % 4); System.out.println("\n浮点数的算术运算"); // 浮点数的加、减、乘、除和取余 System.out.printf("9+4.5f=%f \n", 9 + 4.5f); System.out.printf("9-3.0f=%f \n", 9 - 3.0f); System.out.printf("9*2.5f=%f \n", 9 * 2.5f); System.out.printf("9/3.0f=%f \n", 9 / 3.0f); System.out.printf("9%%4=%f \n", f1); System.out.println("\n双精度数的算术运算"); // 双精度数的加、减、乘、除和取余 System.out.printf("9+4.5=%4.16f \n", da); System.out.printf("9-3.0=%4.16f \n", db); System.out.printf("9*2.5=%4.16f \n", dc); System.out.printf("9/3.0=%4.16f \n", dd); System.out.printf("9%%4=%4.16f \n", de); System.out.println("\n字符的算术运算"); // 对字符的加法和减法 System.out.printf("'A'+32=%d \n", 'A' + 32); System.out.printf("'A'+32=%c \n", 'A' + 32); System.out.printf("'a'-'B'=%d \n", 'a' - 'B'); }
保存文件并运行,输出的结果如下所示。
本示例中使用了 4 种类型来执行算术运算。其中,整数类型的结果最容易理解,浮点型和双精度型返回的结果都带有小数,字符型将会把字符转换为 ASCII 码再运算。
从输出结果中可以看到,整数之间的运算结果只保留整数部分,浮点型运算时保留 6 位小数部分,双精度运算时则保留 16 位小数部分。
注意:Java 语言算术运算符的优先级是先乘除后加减。例如在表达式“a-b*c”中,b 的左侧为减号,右侧为乘号,而乘号优先级高于减号,因此该表达式可以转换为“a-(b*c)”。
如果在一个表达式中的多个算术运算符的优先级别相同,例如“a-b+c”,此时将按照运算符的结合方向决定顺序。算术运算符的结合方向都是“从左至右”,即先左后右。因此 b 先与减号结合,执行“a-b”的运算,再执行加 c 的运算。
更多编程相关知识,请访问:编程教学!!
위 내용은 %는 Java에서 무엇을 의미합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!