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

Java中輸入輸出方式詳細(xì)講解

 更新時(shí)間:2023年09月25日 11:08:44   作者:永黯魔主  
這篇文章主要給大家介紹了關(guān)于Java中輸入輸出方式的相關(guān)資料,Java輸入輸出是指使用java提供的一些類和方法來實(shí)現(xiàn)數(shù)據(jù)的輸入和輸出,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下

前言

學(xué)過C語言的都是知道,在C語言中,輸入用scanf()函數(shù),輸出用printf。那么,Java中,輸入輸出的方式是怎樣的呢?這篇文章,我們來詳細(xì)討論一下Java中的輸入輸出方式。

一、輸出到控制臺(tái)

在前面幾篇文章中,我們會(huì)經(jīng)常用到打印,其實(shí),打印就是Java中的一種常用的輸出方式。所以,我們先來看看輸出

  • 基本語法
System.out.println(msg); // 輸出一個(gè)字符串, 帶換行
System.out.print(msg); // 輸出一個(gè)字符串, 不帶換行
System.out.printf(format, msg); // 格式化輸出

(1)println 輸出的內(nèi)容自帶 \n, print 不帶 \n。

(2)printf 的格式化輸出方式和 C 語言的 printf 是基本一致的。

  • 代碼示例
System.out.println("hello world"); 
int x = 10; 
System.out.printf("x = %d\n", x);
  • 格式化字符串當(dāng)我們使用printf格式化輸出的時(shí)候,會(huì)用到格式化字符串。下面這個(gè)表格,在我們需要用到的時(shí)候,可以方便查一下。
轉(zhuǎn)換符類型舉例
d十進(jìn)制整數(shù)(“%d”,100)100
x十六進(jìn)制整數(shù)(“%x”,100)64
o八進(jìn)制整數(shù)(“%o”,100)144
f定點(diǎn)浮點(diǎn)數(shù)(“%f”,100f)100.000000
e指數(shù)浮點(diǎn)數(shù)(“%e”,100f)1.000000e+02
g通用浮點(diǎn)數(shù)(“%g”,100f)100.000
a十六進(jìn)制浮點(diǎn)數(shù)(“%a”,100)0x1.9p6
s字符串(“%s”,100)100
c字符(“%c”,‘1’)1
b布爾值(“%b”,100)true
h散列碼(“%h”,100)64
%百分號(hào)(“%.2f%%”,2/7f)0.29
  • 錯(cuò)誤輸出這里補(bǔ)充一個(gè)錯(cuò)誤輸出(打印)格式:
System.err.println(msg);

示例代碼:

public class Test {
    public static void main(String[] args) {
        System.out.println("正確輸出");
        System.err.println("錯(cuò)誤輸出");      //錯(cuò)誤
    }
}

在這里插入圖片描述

從運(yùn)行結(jié)果,我們可以看到,錯(cuò)誤輸出被標(biāo)記為紅色了,而且我代碼的書寫順序是先正確輸出,后錯(cuò)誤輸出,但是執(zhí)行結(jié)果是,錯(cuò)誤輸出先打印。這是因?yàn)榇嬖谝粋€(gè)優(yōu)先級的問題,JVM內(nèi)部會(huì)將錯(cuò)誤的優(yōu)先輸出

二、從鍵盤輸入

  • 讀入一個(gè)字符直接使用 System.in.read 可以讀入一個(gè)字符. 但是需要搭配異常處理(關(guān)于異常處理后面會(huì)重點(diǎn)講到)
import java.io.IOException; // 需要導(dǎo)入 IOException 包
try { 
 System.out.print("Enter a Char:"); 
 char i = (char) System.in.read(); 
 System.out.println("your char is :"+i); 
} catch (IOException e) { 
 System.out.println("exception"); 
}

或者是:

import java.io.IOException;
public class Test {
    public static void main(String[] args) throws IOException {  //需要聲明異常
        System.out.println("請輸入一個(gè)字符!");
        char ch = (char) System.in.read();
        System.out.println("這個(gè)字符是:" + ch);
    }
}

這種方式非常麻煩,還特別容易出錯(cuò),所以強(qiáng)烈不推薦使用

  • 使用 Scanner 讀取字符串/整數(shù)/浮點(diǎn)數(shù)
import java.util.Scanner; // 需要導(dǎo)入 util 包
Scanner sc = new Scanner(System.in); 
System.out.println("請輸入你的姓名:"); 
String name = sc.nextLine(); 
System.out.println("請輸入你的年齡:"); 
int age = sc.nextInt(); 
System.out.println("請輸入你的工資:"); 
float salary = sc.nextFloat(); 
System.out.println("你的信息如下:"); 
System.out.println("姓名: "+name+"\n"+"年齡:"+age+"\n"+"工資:"+salary); 
sc.close(); // 注意, 要記得調(diào)用關(guān)閉方法
// 執(zhí)行結(jié)果
請輸入你的姓名:
張三
請輸入你的年齡:
18 
請輸入你的工資:
1000 
你的信息如下:
姓名: 張三
年齡:18 
工資:1000.0
  • 使用Scanner循環(huán)讀取N個(gè)數(shù)字
Scanner sc = new Scanner(System.in); 
double sum = 0.0; 
int num = 0; 
while (sc.hasNextDouble()) { 
 double tmp = sc.nextDouble(); 
 sum += tmp; 
 num++; 
}
System.out.println("sum = " + sum); 
System.out.println("avg = " + sum / num); 
sc.close(); 
// 執(zhí)行結(jié)果
10 
40.0 
50.5 
^D
sum = 150.5 
avg = 30.1

當(dāng)循環(huán)輸入多個(gè)數(shù)據(jù)的時(shí)候, 使用 ctrl + z(JDK1.7之前) 來結(jié)束輸入 ?,F(xiàn)在統(tǒng)一使用ctrl+d來結(jié)束輸入

  • 猜數(shù)字游戲游戲規(guī)則:系統(tǒng)自動(dòng)生成一個(gè)隨機(jī)整數(shù)(1-100), 然后由用戶輸入一個(gè)猜測的數(shù)字. 如果輸入的數(shù)字比該隨機(jī)數(shù)小, 提示 “低了”, 如果輸入的數(shù)字比該隨機(jī)數(shù)大, 提示 “高了” , 如果輸入的數(shù)字和隨機(jī)數(shù)相等, 則提示 “猜對了”。
import java.util.Random;
import java.util.Scanner;
public class Test {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        Random random = new Random();
        int toGuess = random.nextInt(100);         //隨機(jī)生成一個(gè)1~100以內(nèi)的任意整數(shù)
        while (true){
            System.out.println("請輸入要輸入的數(shù)字!");
            int num = sc.nextInt();
            if(num < toGuess){
                System.out.println("小了");
            }else if(num > toGuess){
                System.out.println("大了");
            }else {
                System.out.println("恭喜你猜對了!");
                break;
            }
        }
        sc.close();                               //最后,記得關(guān)閉輸入
    }
}

總結(jié) 

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

相關(guān)文章

  • Java Thread之Sleep()使用方法總結(jié)

    Java Thread之Sleep()使用方法總結(jié)

    這篇文章主要介紹了Java Thread之Sleep()使用方法總結(jié),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05
  • mybatis中的if-else及if嵌套使用方式

    mybatis中的if-else及if嵌套使用方式

    這篇文章主要介紹了mybatis中的if-else及if嵌套使用方式,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • 通過xml配置SpringMVC注解DispatcherServlet初始化過程解析

    通過xml配置SpringMVC注解DispatcherServlet初始化過程解析

    這篇文章主要為大家介紹了通過xml配置SpringMVC注解DispatcherServlet初始化過程解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-10-10
  • SpringBoot通過參數(shù)注解自動(dòng)獲取當(dāng)前用戶信息的方法

    SpringBoot通過參數(shù)注解自動(dòng)獲取當(dāng)前用戶信息的方法

    這篇文章主要介紹了SpringBoot通過參數(shù)注解自動(dòng)獲取當(dāng)前用戶信息的方法,文中使用HandlerMethodArgumentResolver 類來實(shí)現(xiàn)這個(gè)功能,并通過代碼示例講解的非常詳細(xì),需要的朋友可以參考下
    2024-03-03
  • Java中的HashMap實(shí)現(xiàn)原理深入理解

    Java中的HashMap實(shí)現(xiàn)原理深入理解

    HashMap是一種非常常見和實(shí)用的數(shù)據(jù)結(jié)構(gòu),它被廣泛應(yīng)用于Java編程中,這篇文章主要介紹了Java中HashMap實(shí)現(xiàn)原理的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2025-12-12
  • MyBatis通用Mapper和PageHelper的過程詳解

    MyBatis通用Mapper和PageHelper的過程詳解

    這篇文章主要介紹了MyBatis通用Mapper和PageHelper的相關(guān)知識(shí),本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-11-11
  • MyBatis?resultMap?id標(biāo)簽的錯(cuò)誤使用方式

    MyBatis?resultMap?id標(biāo)簽的錯(cuò)誤使用方式

    這篇文章主要介紹了MyBatis?resultMap?id標(biāo)簽的錯(cuò)誤使用方式,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-01-01
  • java中Calendar類用法實(shí)例詳解

    java中Calendar類用法實(shí)例詳解

    這篇文章主要介紹了java中Calendar類用法,結(jié)合實(shí)例形式較為詳細(xì)的分析了Calendar類的函數(shù)、方法功能與相關(guān)使用技巧,需要的朋友可以參考下
    2017-10-10
  • 手把手教你搭建第一個(gè)Spring Batch項(xiàng)目的步驟

    手把手教你搭建第一個(gè)Spring Batch項(xiàng)目的步驟

    這篇文章主要介紹了手把手教你搭建第一個(gè)Spring Batch項(xiàng)目的步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • Java 使用Axis調(diào)用WebService的示例代碼

    Java 使用Axis調(diào)用WebService的示例代碼

    這篇文章主要介紹了Java 使用Axis調(diào)用WebService的示例代碼,幫助大家更好的理解和使用Java,感興趣的朋友可以了解下
    2020-09-09

最新評論

仪征市| 郴州市| 越西县| 区。| 苍梧县| 遂川县| 汉源县| 唐河县| 荥经县| 海晏县| 巨野县| 迁安市| 同心县| 哈巴河县| 张家川| 陈巴尔虎旗| 顺义区| 蓬安县| 盐城市| 大丰市| 库尔勒市| 微博| 包头市| 洛浦县| 青神县| 马尔康县| 巴东县| 天镇县| 余干县| 田阳县| 绥化市| 西乌珠穆沁旗| 凉城县| 绥滨县| 调兵山市| 岳普湖县| 旌德县| 阿拉善左旗| 苗栗县| 黄平县| 广南县|