亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

java輸入輸出與方法詳細(xì)代碼示例

 更新時(shí)間:2024年09月25日 09:25:57   作者:it小婷  
本文詳細(xì)介紹了Java中的輸出方法如println、print和printf,以及輸入的Scanner類使用方法,同時(shí),介紹了Random類生成隨機(jī)數(shù)、方法定義、形參和實(shí)參關(guān)系、遞歸等概念和使用方式,為編程初學(xué)者提供了全面的Java編程基礎(chǔ)知識(shí),需要的朋友可以參考下

輸入與輸出

不論哪一個(gè)語(yǔ)言,都離不了輸入與輸出,下面我們來(lái)分別對(duì)輸入和輸出進(jìn)行詳細(xì)介紹。

輸出

在Java中輸出的語(yǔ)法如下:(在idea中,可以輸sout簡(jiǎn)寫形式,然后會(huì)有提示)

        System.out.println("換行的");
        System.out.print("不換行的");
        String s = "格式化的";
        System.out.printf("s=%s\n",s);

在Java中輸出有以上三種形式,println是帶換行的,print是不帶換行的,printf是格式化輸出的。
對(duì)于格式化字符串如下表:

輸入

Java中的輸入是Scanner函數(shù),使用Scanner時(shí)需要引入包后再使用Scanner方法

import java.util.Scanner
Scanner scanner = new Scanner(System.in);
//從控制臺(tái)上輸入一個(gè)整數(shù)
int num = scanner.nextInt();

這里我來(lái)給大家介紹一下Scanner常用的一些方法:

  • hasNextInt:一般用作循環(huán)輸入整數(shù)的時(shí)候,判斷是否有下一個(gè)整數(shù)輸入,有進(jìn)行一些操作。
  • nextInt:從鍵盤輸入一個(gè)整數(shù)
  • nextDouble:從鍵盤輸入一個(gè)小數(shù)
  • nextLine:一般用于獲取字符串,可以獲取帶空格的字符串
  • next:也用于字符串的獲取,但如果字符串中有空格,則只能的到空格前面的內(nèi)容。

當(dāng)然Scanner還有很多方法,這里給大家推薦個(gè)軟件,在這里可以查看某些類里面的方法等。

Random

這里穿插講述一個(gè)函數(shù),隨機(jī)數(shù)函數(shù)也就是Random,這個(gè)函數(shù)用來(lái)生成隨機(jī)數(shù)。對(duì)于我們自己練習(xí)的時(shí)候應(yīng)該會(huì)用到。在這里我就不做過(guò)多的一些官方解釋了,我這就主要介紹主要用法。

//種子為系統(tǒng)的時(shí)間,隨機(jī)數(shù)生成器每次運(yùn)行時(shí)生成的隨機(jī)數(shù)不同
Random random = new Random();
//種子為自己填寫的一個(gè)數(shù),每次根據(jù)這個(gè)數(shù)生成隨機(jī)數(shù),由于種子確定了,所以每次生成的隨機(jī)數(shù)都一樣。
Random random = new Random(32);

用于獲取一個(gè)整數(shù)隨機(jī)數(shù)包含兩個(gè)方法nextInt()和nextInt(number)

前者數(shù)字的范圍并不確定,而是默認(rèn)的范圍,生成的隨機(jī)數(shù)會(huì)很大。一般我們都采用后者,當(dāng)我們?cè)O(shè)置number=100時(shí),生成的隨機(jī)數(shù)范圍為[0,100)這個(gè)范圍就可控了,在我們的掌控中了。

當(dāng)然Random也有很多不同的方法,大家詳細(xì)可以去上面我分享的軟件中查閱。

方法

在C語(yǔ)言中方法也稱為函數(shù),為什么會(huì)有方法呢?目的是為了可以模塊化管理代碼,對(duì)于重復(fù)使用代碼的地方,只需要調(diào)用即可,減少了代碼量。

那么方法是如何定義的呢?

修飾符 返回值類型 方法名稱([參數(shù)類型 形參 ...]){
方法體代碼;
[return 返回值];
}

修飾符有很多,但初期我們剛編寫的時(shí)候先可以都寫成public static,其余的我們后面詳細(xì)介紹。

返回值類型,一個(gè)方法可以沒有返回值,也就是void,也可以有不同類型的返回值,看自己需要什么樣的,int,double,數(shù)組,String等

方法名稱為自己取的方法名字,這里要命名規(guī)范,需要為小駝峰形式。

參數(shù)類型,也就是基本數(shù)據(jù)類型或者引用類型

形參,也就是在方法中定義的變量名

方法體代碼也就是具體操作的部分

return 返回值,看前面返回類型是啥,若是void就不用返回,如果為Int就得返回一個(gè)int類型的數(shù),返回值類型應(yīng)與返回的值類型對(duì)應(yīng)。

注意!

  • Java中方法不用聲明。
  • Java中方法不可以嵌套定義。下面那樣就是錯(cuò)誤的。
public static void func(int a) {
	System.out.print("方法一");
	public static void func2(int a) {
		System.out.print("方法二");
	}
}
  • Java中的方法需要在類中定義。
  • 定義方法的時(shí)候,不會(huì)執(zhí)行方法體里面的語(yǔ)句。只有調(diào)用的時(shí)候才會(huì)執(zhí)行里面的語(yǔ)句。
  • 一個(gè)方法可以被調(diào)用多次。

方法調(diào)用的執(zhí)行過(guò)程

我們可以在idea中調(diào)試,來(lái)一步一步的看執(zhí)行過(guò)程,這里我用例子來(lái)給大家描述一下執(zhí)行過(guò)程。

 public static int add(int a, int b) {
        System.out.println("方法中");
        return a + b;
    }

    public static void main(String[] args) {
        int num = add(2,3);
        System.out.println(num);
    }
  • 程序運(yùn)行進(jìn)入到main方法中(main方法為程序的入口),然后執(zhí)行里面的代碼。
  • 看到調(diào)用了方法add,并且傳遞了參數(shù)2,3。
  • 計(jì)算機(jī)找到方法地址,進(jìn)入到方法add中。
  • 執(zhí)行add方法里面的代碼,先進(jìn)行了輸出,然后返回了一個(gè)值。
  • 返回值也就代表方法中的內(nèi)容已經(jīng)結(jié)束了,我們回到main方法中,將返回的值賦給了num。
  • 最后輸出num。

形參和實(shí)參的關(guān)系(重要重要!?。?/h3>

什么是形參什么是實(shí)參呢?

上面橙色框框的是形參,下面紅色框框的是實(shí)參。那他倆究竟有什么關(guān)系呢?

基本數(shù)據(jù)類型

如果參數(shù)類型是基本數(shù)據(jù)類型,那么她們兩者之間的關(guān)系就是將實(shí)參拷貝到形參。然后形參再去完成一些操作。這里需要記住一個(gè)知識(shí)點(diǎn),局部變量是存儲(chǔ)到棧上的。

    public static void add(int a, int b) {
        a++;
        b++;
    }
    public static void main(String[] args) {
        int a = 2;
        int b = 3;
        add(2,3);
        System.out.println(a + "," + b);
    }

這個(gè)代碼最后運(yùn)行結(jié)果是2,3。希望下面的圖示能讓大家明白形參和實(shí)參的關(guān)系。

到最后一步,我們也就知道了為什么輸出的是2,3了,你在add方法中改變的是拷貝后的a和b的值,并不是原來(lái)的。

引用數(shù)據(jù)類型

對(duì)于引用數(shù)據(jù)類型,這里面形參和實(shí)參也比較重要了!也比較容易出錯(cuò)。這里我們用數(shù)組來(lái)舉例。這里也要注意一個(gè)知識(shí)點(diǎn),就是對(duì)象是存儲(chǔ)到堆上的。我們同樣圖示方法展示。

    public static void change(int [] arr) {
        arr[0] = 10;
    }

    public static void main(String[] args) {
        int[] array = {1,2,3,4};
        change(array);
        System.out.println(Arrays.toString(array));//Arrays.toString是將數(shù)組轉(zhuǎn)為字符串,快速輸出。后續(xù)講數(shù)組的時(shí)候再詳細(xì)講。
    }

該代碼的最后結(jié)果為[10,2,3,4]。數(shù)組為引用數(shù)據(jù),變量里面存儲(chǔ)的為地址。

希望大家看到這個(gè)圖示能懂得引用類型形參和實(shí)參的關(guān)系。數(shù)組還有一個(gè)點(diǎn)喜歡考,也是形參和實(shí)參的關(guān)系。

    public static void change(int[] array) {
        array = new int[10];
        array[0] = 1;
        System.out.println(Arrays.toString(array));
    }

    public static void main(String[] args) {
        int[] array = {1,2,3,4,5};
        change(array);
    }

上面這個(gè),雖然實(shí)參將地址傳過(guò)去了,但是在方法中,又新創(chuàng)建了一個(gè)對(duì)象,然后array指向了新對(duì)象,修改的數(shù)據(jù)也是新對(duì)象里面的,然后當(dāng)方法執(zhí)行完畢后,返回main方法,形參不再指向任何東西,創(chuàng)建的新對(duì)象由于沒有人指向,會(huì)被系統(tǒng)自動(dòng)回收。

方法重載

這個(gè)和后面要學(xué)到的重寫要進(jìn)行區(qū)分,在這我們來(lái)介紹一下什么是方法重載。

在Java中我們?nèi)绻玫椒椒〞r(shí)候,肯定得給方法起名字。但如果功能都一樣,只不過(guò)操作的數(shù)據(jù)類型不一樣,還得繼續(xù)重新起名字,那不是很讓人頭疼嘛。所以這也就用到了重載。也就允許同樣功能的方法,方法名字可以一樣。如下:

    public static int add(int a, int b) {
        return a + b;
    }
    public static double add(double a, double b) {
        return a + b;
    }
    public static void main(String[] args) {
        System.out.println(add(1,2));
        System.out.println(add(1.5,3.6));
    }

這里我們定義了兩個(gè)add方法,分別求兩個(gè)整數(shù)的和,兩個(gè)小鼠的和。
重載的要求:

  • 方法名字必須相同
  • 參數(shù)列表必須不同(可以是參數(shù)個(gè)數(shù)不同,參數(shù)順序不同,參數(shù)數(shù)據(jù)類型不同)
  • 對(duì)于方法返回類型,對(duì)于重載沒有影響,可以相同,可以不同。

方法簽名(了解即可)

對(duì)于同樣名字的方法,系統(tǒng)怎么知道我們要用哪一種呢?這就和方法簽名有關(guān)系了。

方法簽名:經(jīng)過(guò)編譯器編譯修改過(guò)之后方法最終的名字。具體方式:方法全路徑名+參數(shù)列表+返回值類型,構(gòu)成方法完整的名字。

例子如下:

對(duì)于其簽名中有一些特殊符號(hào),解釋如下:

遞歸

遞歸就是指自身又調(diào)用自己的方法。在解決一些問(wèn)題的時(shí)候,遞歸的方式會(huì)提高效率。

在用遞歸解決問(wèn)題的時(shí)候,往往都需要將問(wèn)題拆分成一個(gè)個(gè)小問(wèn)題來(lái)解決。

遞歸需要滿足條件:1.必須有結(jié)束條件(遞歸結(jié)束的出口)2.必須可以將原問(wèn)題能拆分成子問(wèn)題,并且子問(wèn)題和原問(wèn)題解決方法一致。

遞歸是如何執(zhí)行的呢?請(qǐng)見下圖。

對(duì)于遞歸這一塊,不要著急,可以多做些題,慢慢就熟練了,加油!

總結(jié)

到此這篇關(guān)于java輸入輸出與方法的文章就介紹到這了,更多相關(guān)java輸入輸出與方法內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java網(wǎng)絡(luò)通信中URL與HTTP編程技術(shù)詳解

    Java網(wǎng)絡(luò)通信中URL與HTTP編程技術(shù)詳解

    要想實(shí)現(xiàn)網(wǎng)絡(luò)編程,除了可以使用Socket之外,我們還可以利用URL編程或HTTP編程技術(shù),所以今天這篇文章,就給大家介紹一下URL編程和HTTP編程技術(shù),看看這兩種技術(shù)有什么特點(diǎn),文中有詳細(xì)的代碼講解,需要的朋友可以參考下
    2023-11-11
  • SpringMVC 文件上傳配置,多文件上傳,使用的MultipartFile的實(shí)例

    SpringMVC 文件上傳配置,多文件上傳,使用的MultipartFile的實(shí)例

    本篇文章主要介紹了SpringMVC 文件上傳配置,詳解介紹了如何使用SpringMVC進(jìn)行表單上的文件上傳以及多個(gè)文件同時(shí)上傳的步驟,有興趣的可以了解一下。
    2016-12-12
  • 淺談java中字節(jié)與字符的區(qū)別

    淺談java中字節(jié)與字符的區(qū)別

    這篇文章主要介紹了淺談java中字節(jié)與字符的區(qū)別,字節(jié)是java中的基本數(shù)據(jù)類型,用來(lái)申明字節(jié)型的變量;字符是語(yǔ)義上的單位,它是有編碼的,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • 關(guān)于Java數(shù)組聲明、創(chuàng)建、初始化的相關(guān)介紹

    關(guān)于Java數(shù)組聲明、創(chuàng)建、初始化的相關(guān)介紹

    這篇文章主要是關(guān)于Java數(shù)組聲明、創(chuàng)建、初始化的相關(guān)介紹,并給出其對(duì)應(yīng)的代碼,需要的朋友可以參考下
    2015-08-08
  • 使用maven運(yùn)行Java Main的三種方法解析

    使用maven運(yùn)行Java Main的三種方法解析

    這篇文章主要介紹了使用maven運(yùn)行Java Main的三種方式的相關(guān)內(nèi)容,具有一定參考價(jià)值,需要的朋友可以了解下。
    2017-10-10
  • JAVA編程實(shí)現(xiàn)隨機(jī)生成指定長(zhǎng)度的密碼功能【大小寫和數(shù)字組合】

    JAVA編程實(shí)現(xiàn)隨機(jī)生成指定長(zhǎng)度的密碼功能【大小寫和數(shù)字組合】

    這篇文章主要介紹了JAVA編程實(shí)現(xiàn)隨機(jī)生成指定長(zhǎng)度的密碼功能,可生成帶有大小寫和數(shù)字組合的隨機(jī)字符串,需要的朋友可以參考下
    2017-07-07
  • Java中Map實(shí)現(xiàn)線程安全的3種方式

    Java中Map實(shí)現(xiàn)線程安全的3種方式

    本文主要介紹了Java中Map實(shí)現(xiàn)線程安全的3種方式,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • SpringMVC如何用Post方式重定向

    SpringMVC如何用Post方式重定向

    這篇文章主要介紹了SpringMVC如何用Post方式重定向,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-10-10
  • java實(shí)現(xiàn)字符串反轉(zhuǎn)

    java實(shí)現(xiàn)字符串反轉(zhuǎn)

    這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)字符串反轉(zhuǎn),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-05-05
  • SpringBoot項(xiàng)目熱部署的實(shí)現(xiàn)

    SpringBoot項(xiàng)目熱部署的實(shí)現(xiàn)

    SpringBoot項(xiàng)目熱部署是一種讓開發(fā)人員在修改代碼后無(wú)需重啟應(yīng)用即可看到更改效果的技術(shù),通過(guò)使用SpringBoot的DevTools等工具,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2024-09-09

最新評(píng)論