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

Java Scanner的使用和hasNextXXX()的用法說明

 更新時(shí)間:2021年10月30日 15:35:46   作者:無賴H4  
這篇文章主要介紹了Java Scanner的使用和hasNextXXX()的用法說明,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

輸入輸出

輸出

基本語法

System.out.println(msg); //輸出一個(gè)字符串,自帶換行
System.out.print(msg); //輸出一個(gè)字符串,不帶換行
System.out.printf(msg); //格式化輸出,和C語言相同

例如:

public class SannerDemo {
    public static void main(String[] args) {
        System.out.println("hello world!");
        System.out.print("hello world!");
        String str = "hello world";
        System.out.printf("%s\n",str);
    }
}

在這里插入圖片描述

快捷鍵推薦:在這里,如果使用的是 IDEA的話,可以輸入sout然后回車,會(huì)自動(dòng)輸出 System.out.println();

輸入

使用Scanner讀取

首先需要導(dǎo)入==import java.util.Scanner;==的包,然后 Scanner sc =new Scanner(System.in);,這段代碼的主要作用是,從鍵盤中輸入中讀取數(shù)據(jù)。

然后讀取數(shù)據(jù):

next()、nextInt()和nextLIne()的區(qū)別;

import java.util.Scanner;
public class SannerDemo {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int i = sc.nextInt();
        System.out.println(i);   //讀取int型的數(shù)據(jù)
        //讀取一行數(shù)據(jù)
        String s1 = sc.nextLine();
        System.out.println(s1);
        //讀取字符串
        String s2 = sc.next();
        System.out.println(s2);
    }

nextInt():

 		int i = sc.nextInt();
        System.out.println(i);   //讀取int型的數(shù)據(jù)

在這里插入圖片描述

在這里插入圖片描述

可以讀取數(shù)字,但是遇到空格,只能讀取空格前的數(shù)字。

next():

//        //讀取字符串
        String s2 = sc.next();
        System.out.println(s2);

在這里插入圖片描述

可以讀取字符串,但是遇到空格,只能讀取空格前的數(shù)字。

nextLine():

  		 //讀取一行數(shù)據(jù)
        String s1 = sc.nextLine();
        System.out.println(s1);

在這里插入圖片描述

可以讀取字符串,并讀取這一行 ,但是遇到回車結(jié)束。

注意:

next()和nextLine()不可以同時(shí)使用:

例如:

        //讀取字符串
        String s2 = sc.next();
        System.out.println(s2);
        //讀取一行數(shù)據(jù)
        String s1 = sc.nextLine();
        System.out.println(s1);

在這里插入圖片描述

這樣只會(huì)輸出一行,這是因?yàn)閚extLine()讀取了回車,然后結(jié)束。

next()遇到空客會(huì)結(jié)束。

在這里插入圖片描述

使用Scanner循環(huán)讀取N個(gè)數(shù)字/字符串

hasNextInt()的使用

import java.util.Scanner;
public class SannerDemo {
    public static void main(String[] args) {
        Scanner sc =new Scanner(System.in);        
        while (sc.hasNextInt()){
            int i = sc.nextInt();//輸入數(shù)字i
            System.out.println(i);//打印數(shù)字i
        }        
    }

在這里插入圖片描述

當(dāng)程序開始之后,會(huì)一直循環(huán)輸入并打印一個(gè)數(shù)字,知道Ctrl+d結(jié)束程序

在這里sc.hasNextInt()的結(jié)果是一個(gè)boolean的類型,當(dāng)結(jié)果為false是結(jié)束。

注意:

Ctrl+d用來結(jié)束循環(huán)輸入多個(gè)數(shù)據(jù)

同理:

在這里插入圖片描述

這些方法都可以用于循環(huán)數(shù)據(jù)輸入。

關(guān)于Scanner中nextxxx()須注意的一點(diǎn)

 public static void main(String[] args) {
        // TODO code application logic here        
        Scanner s = new Scanner(System.in); 
        
        //需要注意的是,如果在通過nextInt()讀取了整數(shù)后,再接著讀取字符串,讀出來的是回車換行:"\r\n",因?yàn)閚extInt僅僅讀取數(shù)字信息,而不會(huì)讀走回車換行"\r\n".
 
        //所以,如果在業(yè)務(wù)上需要讀取了整數(shù)后,接著讀取字符串,那么就應(yīng)該連續(xù)執(zhí)行兩次nextLine(),第一次是取走整數(shù),第二次才是讀取真正的字符串
        int i = s.nextInt(); 
        System.out.println("讀取的整數(shù)是"+ i);
        String rn = s.nextLine();//讀取到的是空格
        String a = s.nextLine();//讀取到的是字符串
        System.out.println("讀取的字符串是:"+a);
    }

PS:nextDouble,nextFloat與nextInt是一樣的

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

相關(guān)文章

  • Java實(shí)現(xiàn)設(shè)計(jì)模式之責(zé)任鏈模式

    Java實(shí)現(xiàn)設(shè)計(jì)模式之責(zé)任鏈模式

    責(zé)任鏈模式是一種行為設(shè)計(jì)模式,允許你將請求沿著處理鏈發(fā)送,然后處理者都可對其進(jìn)行處理,完成后可以再將其傳遞給下一個(gè)處理者。下面將會(huì)舉例說明什么是責(zé)任鏈模式,責(zé)任鏈模式該如何使用
    2022-08-08
  • maven在IDEA下載依賴包速度慢的問題解決

    maven在IDEA下載依賴包速度慢的問題解決

    這篇文章主要介紹了maven在IDEA下載依賴包速度慢的問題解決方案,本文通過圖文結(jié)合的形式給大家分享解決方案,供大家參考,需要的朋友可以參考下
    2024-01-01
  • Spring?Data?JPA實(shí)現(xiàn)審計(jì)功能過程詳解

    Spring?Data?JPA實(shí)現(xiàn)審計(jì)功能過程詳解

    Spring?Data?JPA為跟蹤持久性層的變化提供了很好的支持。通過使用審核,我們可以存儲(chǔ)或記錄有關(guān)實(shí)體更改的信息,例如誰創(chuàng)建或更改了實(shí)體以及何時(shí)進(jìn)行更改
    2023-02-02
  • Java中異常Exception和捕獲以及自定義異常詳解

    Java中異常Exception和捕獲以及自定義異常詳解

    在工作過程中,我們常常需要在合適的地方拋出合適的異常,除了java自帶的一些異常,我們可以在項(xiàng)目中定制自己的異常,并且全局捕獲它,下面這篇文章主要給大家介紹了關(guān)于Java中異常Exception和捕獲以及自定義異常的相關(guān)資料,需要的朋友可以參考下
    2023-05-05
  • SpringBoot actuator 健康檢查不通過的解決方案

    SpringBoot actuator 健康檢查不通過的解決方案

    這篇文章主要介紹了SpringBoot actuator 健康檢查不通過的解決方案,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • Java分布式ID中Snowflake雪花算法應(yīng)用實(shí)現(xiàn)

    Java分布式ID中Snowflake雪花算法應(yīng)用實(shí)現(xiàn)

    Snowflake算法作為一種高效且易于實(shí)現(xiàn)的分布式ID生成方案,能夠很好地滿足分布式系統(tǒng)中對全局唯一ID的需求,本文就來介紹一下Java分布式ID中Snowflake雪花算法應(yīng)用實(shí)現(xiàn),感興趣的可以了解一下
    2024-07-07
  • MyBatis-Plus聯(lián)表查詢及分頁代碼舉例

    MyBatis-Plus聯(lián)表查詢及分頁代碼舉例

    本文介紹了mybatis-plus-join工具的使用,該工具可以簡化mybatis-plus的聯(lián)表查詢,使得開發(fā)者可以以類似QueryWrapper的方式進(jìn)行聯(lián)表查詢,無需手動(dòng)編寫xml文件,感興趣的朋友跟隨小編一起看看吧
    2025-03-03
  • Maven多模塊及version修改的實(shí)現(xiàn)方法

    Maven多模塊及version修改的實(shí)現(xiàn)方法

    這篇文章主要介紹了Maven多模塊及version修改的實(shí)現(xiàn)方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2019-06-06
  • JAVA實(shí)現(xiàn)sm3加密簽名以及防止重復(fù)攻擊

    JAVA實(shí)現(xiàn)sm3加密簽名以及防止重復(fù)攻擊

    這篇文章主要給大家介紹了關(guān)于JAVA實(shí)現(xiàn)sm3加密簽名以及防止重復(fù)攻擊的相關(guān)資料,SM3是簽名算法,和MD5一樣(對于應(yīng)用層來說),SM4是對稱加密算法,和AES一樣(對于應(yīng)用層來說),需要的朋友可以參考下
    2023-10-10
  • Java 基礎(chǔ)面試真題:String 為什么是不可變的?

    Java 基礎(chǔ)面試真題:String 為什么是不可變的?

    本文主要介紹了String、StringBuffer和StringBuilder的區(qū)別,以及String不可變的原因,String不可變的原因是其內(nèi)部使用final修飾的char數(shù)組保存字符串,同時(shí)String類沒有提供修改字符串的方法,在Java9之后,String的底層實(shí)現(xiàn)由char[]改成了byte[],這是為了節(jié)省內(nèi)存空間
    2025-01-01

最新評論

方城县| 南通市| 新绛县| 弋阳县| 威宁| 永寿县| 青海省| 板桥市| 肇州县| 翁牛特旗| 朝阳县| 乐东| 镇远县| 三亚市| 佳木斯市| 临漳县| 宜川县| 通江县| 安阳市| 嵊泗县| 靖州| 云龙县| 永泰县| 双柏县| 化德县| 澄城县| 太原市| 瑞安市| 昆明市| 张家口市| 闽侯县| 郧西县| 名山县| 屯门区| 巨鹿县| 珲春市| 新津县| 马公市| 惠州市| 岗巴县| 曲周县|