最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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è)方法可以沒(méi)有返回值,也就是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ì)象由于沒(méi)有人指向,會(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ì)于重載沒(méi)有影響,可以相同,可以不同。

方法簽名(了解即可)

對(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)文章

  • Maven 多模塊父子工程的實(shí)現(xiàn)(含Spring Boot示例)

    Maven 多模塊父子工程的實(shí)現(xiàn)(含Spring Boot示例)

    這篇文章主要介紹了Maven 多模塊父子工程的實(shí)現(xiàn)(含Spring Boot示例),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • IDEA使用入門小白操作教程

    IDEA使用入門小白操作教程

    IntelliJ IDEA,就是Java語(yǔ)言開發(fā)工具 (IDE) 功能與Eclipse同類!本文通過(guò)圖文并茂的形式給大家介紹IntelliJ IDEA使用入門教程,非常適合新手小白操作,感興趣的朋友一起看看吧
    2020-10-10
  • java手動(dòng)實(shí)現(xiàn)常見數(shù)據(jù)結(jié)構(gòu)的示例代碼

    java手動(dòng)實(shí)現(xiàn)常見數(shù)據(jù)結(jié)構(gòu)的示例代碼

    本文介紹了Java中常用數(shù)據(jù)結(jié)構(gòu)的特點(diǎn)和Java實(shí)現(xiàn),包括數(shù)組、動(dòng)態(tài)數(shù)組、鏈表、棧、隊(duì)列、哈希表、樹、堆、圖、集合、雙向隊(duì)列以及自定義鏈表,幫助開發(fā)者選擇合適的數(shù)據(jù)結(jié)構(gòu)以提升代碼效率,感興趣的朋友一起看看吧
    2025-02-02
  • SpringMVC自定義攔截器實(shí)現(xiàn)過(guò)程詳解

    SpringMVC自定義攔截器實(shí)現(xiàn)過(guò)程詳解

    這篇文章主要介紹了SpringMVC自定義攔截器實(shí)現(xiàn)過(guò)程詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-05-05
  • Java設(shè)計(jì)模式中的工廠及抽象工廠模式解析

    Java設(shè)計(jì)模式中的工廠及抽象工廠模式解析

    這篇文章主要介紹了Java設(shè)計(jì)模式中的工廠及抽象工廠模式解析,工廠模式作為創(chuàng)建型設(shè)計(jì)模式中常見的設(shè)計(jì)方法,一般情況下,工廠模式分為3種,簡(jiǎn)單工作、工廠方法、抽象工作,其實(shí)簡(jiǎn)單工廠只是工廠方法的一種特例,需要的朋友可以參考下
    2023-12-12
  • 利用java開發(fā)簡(jiǎn)易版掃雷游戲

    利用java開發(fā)簡(jiǎn)易版掃雷游戲

    這篇文章主要介紹了利用java開發(fā)一個(gè)丐版掃雷游戲,喜歡玩掃雷的小伙伴們一定要試試哦,對(duì)正在學(xué)習(xí)java開發(fā)的小伙伴們也有一定幫助,需要的朋友可以參考下
    2021-04-04
  • 帶你快速搞定java多線程

    帶你快速搞定java多線程

    這篇文章主要介紹了java多線程編程實(shí)例,分享了幾則多線程的實(shí)例代碼,具有一定參考價(jià)值,加深多線程編程的理解還是很有幫助的,需要的朋友可以參考下
    2021-07-07
  • Java線程中的notifyAll喚醒操作(推薦)

    Java線程中的notifyAll喚醒操作(推薦)

    這篇文章主要介紹了Java線程中的notifyAll喚醒操作,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2017-03-03
  • java中charAt()方法的使用及說(shuō)明

    java中charAt()方法的使用及說(shuō)明

    這篇文章主要介紹了java中charAt()方法的使用及說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • 基于Java實(shí)現(xiàn)XML文件的解析與更新

    基于Java實(shí)現(xiàn)XML文件的解析與更新

    配置文件可以有很多種格式,包括?INI、JSON、YAML?和?XML。每一種編程語(yǔ)言解析這些格式的方式都不同。本文將通過(guò)Java語(yǔ)言實(shí)現(xiàn)XML文件的解析與更新,需要的可以參考一下
    2022-03-03

最新評(píng)論

泊头市| 新河县| 酒泉市| 搜索| 大埔县| 含山县| 株洲县| 和顺县| 鄢陵县| 炉霍县| 抚宁县| 朝阳区| 宕昌县| 永和县| 临海市| 沙河市| 射洪县| 桑植县| 广东省| 綦江县| 伊金霍洛旗| 云龙县| 南康市| 泽州县| 察雅县| 宜君县| 务川| 邵武市| 浦江县| 板桥市| 凤山市| 禹州市| 上犹县| 怀仁县| 威远县| 平遥县| 隆德县| 吴旗县| 舟山市| 简阳市| 河津市|