溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

淺析java中的取整(/)和求余(%)

發(fā)布時(shí)間:2020-10-17 03:20:44 來源:腳本之家 閱讀:204 作者:CWyh44 欄目:編程語(yǔ)言

1.取整運(yùn)算符

取整從字面意思理解就是被除數(shù)到底包含幾個(gè)除數(shù),也就是能被整除多少次,那么它有哪些需要注意的地方呢?先看下面的兩端代碼:

  int a = 10;
  int b = 3;
  double c= a / b;
  System.out.println(c);

第一段代碼的運(yùn)行結(jié)果是3.0, 其中double c = a / b;//c = (10/3) = (double)3 = 3.0,這里面涉及到一個(gè)低精度到高精度的隱式裝換。

  int a = 10;
  int b = 3;
  double c= (double)a / b;
  System.out.println(c);

第二段代碼的運(yùn)行結(jié)果是3.3333333333333335,其中double c = (double)a / b;等價(jià)于double c= 10.0 / 3.0;
減乘除計(jì)算,會(huì)先統(tǒng)一操作數(shù)的精度,其規(guī)則是先統(tǒng)一成精度高的數(shù)。
double型/int型、int型/double型,最后都轉(zhuǎn)成double型/double型。

2.求余運(yùn)算符

取余運(yùn)算符是%是一個(gè)雙目運(yùn)算符,它的操作數(shù)通常是正整數(shù)也可以是負(fù)數(shù)甚至是浮點(diǎn)數(shù),如果負(fù)數(shù)參與此運(yùn)算,則結(jié)果的正負(fù)取決于前面一個(gè)數(shù)是整數(shù)還是負(fù)數(shù)。
對(duì)于整數(shù),java的取余運(yùn)算規(guī)則如下 

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 

如果操作數(shù)中有浮點(diǎn)數(shù)則采用的規(guī)則為 

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 

示例代碼:

public class Division_remainder {
 public static void main(String[] args) {
  int a = 13 / 5;
  int b = 13 % 5;
  int c = 5 / 13;
  int d = 5 % 13;
  int e = 13 / -5;
  int f = -13 / 5;
  int h = -13 % 5;
  int j = 13 % -5;
  System.out.println(a + "," + b);
  System.out.println(c + "," + d);
  System.out.println(e + "," + f);
  System.out.println(h + "," + j);
 }

結(jié)果為:

2,3
0,5
-2,-2
-3,3

再來一個(gè)一個(gè)分析:

a = 13 / 5,a = 2,其實(shí)就是數(shù)學(xué)上的13 / 5 ,結(jié)果為2。

b = 13 % 5,b = 3,這也是數(shù)學(xué)上的運(yùn)算,得出余數(shù)為3。

c = 5 / 13,c = 0,因?yàn)楸怀龜?shù)小于除數(shù),結(jié)果可以看成0.x,但是int類型是整數(shù)類型,所以結(jié)果只為0。

d = 5 % 13,d = 5,數(shù)學(xué)上規(guī)定:如果被除數(shù)比除數(shù)小,商是0,余數(shù)就是被除數(shù)本身。

e和f不用說了,結(jié)果都為-2。

但是h和j怎么是一個(gè)-3一個(gè)3呢,因?yàn)槿∮噙\(yùn)算的符號(hào)是根據(jù)第一個(gè)運(yùn)算數(shù)決定的,-13 % 5結(jié)果是-3,而13 % -5結(jié)果則是3。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持億速云。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI