>  기사  >  %는 Java에서 무엇을 의미합니까?

%는 Java에서 무엇을 의미합니까?

青灯夜游
青灯夜游원래의
2023-03-06 16:48:4814359검색

Java에서 "%"는 나머지를 의미합니다. 나누기 연산을 수행하고 나머지를 얻을 수 있는 구문은 "연산자 1 % 피연산자 2"입니다. 나머지 연산자 "%"의 피연산자는 일반적으로 양의 정수, 음수 또는 부동 소수점 숫자입니다. 이 연산에 음수가 포함되면 결과는 이전 숫자가 양수인지 음수인지에 따라 달라집니다.

%는 Java에서 무엇을 의미합니까?

이 튜토리얼의 운영 환경: 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을 참조하세요.

표 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에서 무엇을 의미합니까?

이진 연산자

Java 언어에서 산술 연산자의 기능은 일반적으로 사용되는 덧셈(+), 뺄셈( -), 곱셈(*) 그리고 () 외에 모듈로 연산(%)도 있습니다. 더하기(+), 빼기(-), 곱하기(*), 나누기()는 우리가 흔히 접하는 수학 연산과 같은 의미를 갖습니다. 구체적인 지침은 표 2를 참조하세요.

표 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');
}

保存文件并运行,输出的结果如下所示。

%는 Java에서 무엇을 의미합니까?

本示例中使用了 4 种类型来执行算术运算。其中,整数类型的结果最容易理解,浮点型和双精度型返回的结果都带有小数,字符型将会把字符转换为 ASCII 码再运算。

从输出结果中可以看到,整数之间的运算结果只保留整数部分,浮点型运算时保留 6 位小数部分,双精度运算时则保留 16 位小数部分。

注意:Java 语言算术运算符的优先级是先乘除后加减。例如在表达式“a-b*c”中,b 的左侧为减号,右侧为乘号,而乘号优先级高于减号,因此该表达式可以转换为“a-(b*c)”。

如果在一个表达式中的多个算术运算符的优先级别相同,例如“a-b+c”,此时将按照运算符的结合方向决定顺序。算术运算符的结合方向都是“从左至右”,即先左后右。因此 b 先与减号结合,执行“a-b”的运算,再执行加 c 的运算。

更多编程相关知识,请访问:编程教学!!

위 내용은 %는 Java에서 무엇을 의미합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.