欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java中1+1d/5和1+1/5的區(qū)別說(shuō)明

 更新時(shí)間:2021年10月08日 11:22:28   作者:胡子球手  
這篇文章主要介紹了java中1+1d/5和1+1/5的區(qū)別說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

java 1+1d/5和1+1/5的區(qū)別

主要區(qū)別就是數(shù)據(jù)類型不同

1+1d/5的結(jié)果是1.2, 是double類型. 因?yàn)?d就是double類型,1d/5結(jié)果自動(dòng)提升成double類型,1+1d/5結(jié)果也自動(dòng)提升成double類型. .

1+1/5的結(jié)果1, 是int類型, 因?yàn)?/5是整除(會(huì)丟失小數(shù)部分的精度…) . 兩邊操作數(shù)都是int類型. 最后在加上1還是int類型.所以結(jié)果就是int類型.

java參考代碼如下

public class Test {
public static void main(String[] args) {
    double num1 = 1 + 1d / 5;
    System.out.println(num1);//輸出1.2
    int num2    = 1 + 1 / 5;
    System.out.println(num2);//輸出1
 }
}

計(jì)算1+1/2!+1/3!+...+1/20!之和

原題:計(jì)算1+1/2!+1/3!+…+1/20!之和

觀察題目,本題難點(diǎn)就是要計(jì)算階乘,不妨用一個(gè)循環(huán)來(lái)計(jì)算階乘,再用一個(gè)循環(huán)來(lái)計(jì)算從1/1!到1/20!的和。代碼如下

package java1;
public class sum {
   public static void main(String args[]) {
	   //用s來(lái)表示階乘結(jié)果
	   int s=1;
	   double sum=0;
	  //計(jì)算1/1!到1/20!的和
	   for(int i=1;i<=20;i++) {
		   //分別計(jì)算j從1到20的階乘
		   for(int j=1;j<=i;j++) {
			   s=s*j;
		   }
		   sum+=1.0/s;
	   }
	   System.out.println(sum);
   }
}

這個(gè)輸出結(jié)果為無(wú)窮,我當(dāng)時(shí)想半天也沒(méi)結(jié)果,后來(lái)同學(xué)指出我每次算每個(gè)數(shù)的階乘時(shí)并沒(méi)有將重置為1;所以正確代碼如下

package java1;
public class sum {
   public static void main(String args[]) {
	   //用s來(lái)表示階乘結(jié)果
	   double sum=0;
	  //計(jì)算1/1!到1/20!的和
	   for(int i=1;i<=20;i++) {
		   //每次算完階乘后,計(jì)算下一次階乘時(shí)都要將s重置為1
		   int s=1;
		   //分別計(jì)算j從1到20的階乘
		   for(int j=1;j<=i;j++) {
			   s=s*j;
		   }
		   sum+=1.0/s;
	   }
	   System.out.println(sum);
   }
}

正確結(jié)果如下

在這里插入圖片描述

可以觀察到上面代碼的時(shí)間復(fù)雜度為o(n^2),我們其實(shí)可以思考一下如何運(yùn)用優(yōu)化階乘,我這里聽(tīng)老師說(shuō)階乘可以運(yùn)用遞歸思想。代碼如下

package java1;
public class sum {
	//運(yùn)用遞歸用來(lái)計(jì)算從1到20分別的階乘結(jié)果
	public static int JieChen(int i) {
		   if(i==1) {
			   return 1;
		   }
		   else {
			   return (JieChen(i-1)*i);
		   }
	}
   public static void main(String args[]) {
	   double sum=0;
	  //計(jì)算1/1!到1/20!的和
	   for(int i=1;i<=20;i++) {
		   int s;
		   //用來(lái)計(jì)算i的階乘
		   s=JieChen(i);
		   sum+=1.0/s;
	   }
	   System.out.println(sum);
   }
}

運(yùn)用上面思路不僅可以計(jì)算有限的階乘分之一的和,而且我們還可以拓展到計(jì)算無(wú)限個(gè)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python爬蟲(chóng) 12306搶票開(kāi)源代碼過(guò)程詳解

    Python爬蟲(chóng) 12306搶票開(kāi)源代碼過(guò)程詳解

    這篇文章主要介紹了Python爬蟲(chóng) 12306搶票開(kāi)源代碼過(guò)程詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-09-09
  • Java sleep方法及中斷方式、yield方法代碼實(shí)例

    Java sleep方法及中斷方式、yield方法代碼實(shí)例

    這篇文章主要介紹了Java sleep方法及中斷方式、yield方法代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-04-04
  • 詳解Spring Cloud 跨服務(wù)數(shù)據(jù)聚合框架

    詳解Spring Cloud 跨服務(wù)數(shù)據(jù)聚合框架

    這篇文章主要介紹了詳解Spring Cloud 跨服務(wù)數(shù)據(jù)聚合框架,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-03-03
  • Kubernetes k8s集群之包管理器Helm方式

    Kubernetes k8s集群之包管理器Helm方式

    這篇文章主要介紹了Kubernetes k8s集群之包管理器Helm方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-08-08
  • Thread類interrupt interrupted及isInterrupted區(qū)別

    Thread類interrupt interrupted及isInterrupted區(qū)別

    這篇文章主要為大家介紹了Thread類interrupt interrupted及isInterrupted區(qū)別,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-10-10
  • SpringBoot項(xiàng)目啟動(dòng)數(shù)據(jù)加載內(nèi)存的三種方法

    SpringBoot項(xiàng)目啟動(dòng)數(shù)據(jù)加載內(nèi)存的三種方法

    一般來(lái)說(shuō),SpringBoot工程環(huán)境配置放在properties文件中,啟動(dòng)的時(shí)候?qū)⒐こ讨械膒roperties/yaml文件的配置項(xiàng)加載到內(nèi)存中,本文給大家介紹了SpringBoot項(xiàng)目啟動(dòng)數(shù)據(jù)加載內(nèi)存中的三種方法,需要的朋友可以參考下
    2024-04-04
  • java中封裝的實(shí)現(xiàn)方法詳解

    java中封裝的實(shí)現(xiàn)方法詳解

    在本篇文章里我們給大家詳細(xì)分享了關(guān)于java中封裝的實(shí)現(xiàn)方法,有需要的朋友們跟著學(xué)習(xí)下。
    2018-10-10
  • Java數(shù)據(jù)結(jié)構(gòu)之棧與綜合計(jì)算器的實(shí)現(xiàn)

    Java數(shù)據(jù)結(jié)構(gòu)之棧與綜合計(jì)算器的實(shí)現(xiàn)

    這篇文章主要為大家詳細(xì)介紹了Java數(shù)據(jù)結(jié)構(gòu)中棧與綜合計(jì)算器的實(shí)現(xiàn),文中的示例代碼講解詳細(xì),具有一定的學(xué)習(xí)價(jià)值,感興趣的小伙伴可以了解一下
    2022-10-10
  • mybatisplus邏輯刪除基本實(shí)現(xiàn)和坑點(diǎn)解決

    mybatisplus邏輯刪除基本實(shí)現(xiàn)和坑點(diǎn)解決

    這篇文章主要介紹了mybatisplus邏輯刪除基本實(shí)現(xiàn)和坑點(diǎn)解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • Java中的Optional使用詳細(xì)說(shuō)明

    Java中的Optional使用詳細(xì)說(shuō)明

    這篇文章主要介紹了Java中的Optional使用詳細(xì)說(shuō)明,Optional就是相當(dāng)于把對(duì)象包了一層,將判斷空的部分代碼給單獨(dú)抽出來(lái)了,主要就是為了避免null引起的部分問(wèn)題,需要的朋友可以參考下
    2023-11-11

最新評(píng)論