Heim  >  Artikel  >  Java  >  Lassen Sie uns über die Eingabe und Ausgabe gängiger Datentypen in Java sprechen

Lassen Sie uns über die Eingabe und Ausgabe gängiger Datentypen in Java sprechen

WBOY
WBOYnach vorne
2022-03-24 18:59:482240Durchsuche

Dieser Artikel vermittelt Ihnen relevantes Wissen über Java, das hauptsächlich die Eingabe- und Ausgabeprobleme gängiger Datentypen vorstellt. Wir hoffen, dass es allen hilft .

Lassen Sie uns über die Eingabe und Ausgabe gängiger Datentypen in Java sprechen

Empfohlenes Studium: „Java-Tutorial

Nach dem Erlernen der C-Sprache und dem Wechsel zu Java ist das erste Gefühl, dass die Schreibmethode von Java sehr kompliziert ist. Gleichzeitig gibt es kein C in der Eingabe und Die Ausgabe häufig verwendeter Datentypen ist sehr praktisch. In der C-Sprache können mit der Scanf-Funktion die meisten Formate problemlos eingegeben werden, in Java jedoch nicht. In Java gibt es keine ähnliche Anweisung wie scanf.

Dieser Artikel kombiniert meine Eingabe- und Ausgabegewohnheiten und Aufzeichnungen über die Beantwortung von Fragen, um eine Zusammenfassung dieser verschiedenen Typen zu erstellen, z. B. ganze Zahlen, ganze Zahlen, aber getrennte Parameter ... In der folgenden Beschreibung sind die Hauptklassen alle Hauptklassen, und wir verwenden Scanner für die Eingabe. Jede Eingabe oder Ausgabe kann mehrere Methoden haben, und ich habe nur die einfachere Methode geschrieben.

1. Zeichentyp

Der hier erwähnte Zeichentyp bezieht sich auf den Fall, dass nur ein Zeichen eingegeben wird.

1.1 Eingabeformat:

<code>import <code>import <span style="background-color:#ed7976;">java.io.IOException</span>;//导入包

public class Main {<!-- -->

    public static void main(String[] args) <span style="background-color:#ed7976;">throws</span> <span style="background-color:#ed7976;">IOException</span> {<!-- -->

        <strong><span style="color:#0d0016;">char</span></strong> ch = (char)System.in.read();//<1>

        System.out.println((int)ch);

    }

}java.io.IOException

;//Import package

public class Main {

public static void main(String[] args) throws

IOException

{

char

ch = (char)System.in.read();// <1>

System.out.println((int)ch); code> code><p></p> <code> }

}

Hinweis: Muss mit IOException verwendet werden. In <1> gibt System.in Eingaben aus dem Standardeingabestream (am häufigsten die Tastatur) ein und die rand()-Methode liest den Eingabeinhalt aus diesem Stream. Das Eingabeergebnis von <1> ist vom Typ int und muss in den Typ char umgewandelt werden.


1.2 Beispiel

2, int-Typ

1.1 Einfache Eingabe im Int-Format:

Dies bezieht sich auf die Situation, in der jede Zeile nur eine Eingabe im Int-Format hat. Beispielsweise wird in jeder Zeile nur ein Integer-Typ eingegeben.

import java.util.Scanner;

public class Main { public static void main(String[] args) {

nextInt ();           System.out.println(num);
    } }

🎜🎜 1.2 Beispiel 🎜🎜Hinweis: Es muss eine lange Zahl sein, andernfalls ist das Ergebnis ungenau, wenn die Zahl sehr groß ist. 🎜🎜🎜🎜🎜🎜🎜🎜2.1 Eingabe im int-Format mit Leerzeichen: 🎜🎜 ähnlich einem Format wie 23 34. Zwischen den beiden Zahlen befindet sich ein Leerzeichen. Zu diesem Zeitpunkt kann die Verwendung von int-Eingaben das Problem natürlich nicht lösen. Allerdings müssen wir zum jetzigen Zeitpunkt noch unsere Perspektive ändern. Wir behandeln 23 34 als Ganzes als Zeichenfolge, teilen sie dann an der Stelle in zwei Zeichenfolgen von 23 und 34 auf und konvertieren diese beiden Zeichenfolgen dann in ganze Zahlen. Bitte lesen Sie das offizielle Hilfehandbuch für die Methode split(). 🎜🎜🎜import 🎜java.util.Scanner🎜;🎜🎜public class Main {🎜🎜 public static void main(String[] args) {🎜🎜


          Scanner scan = new Scanner(System.in);
        String[] str = scan.nextLine().split("[ ]");// In mehrere Teile unterteilt, gibt es mehrere String-Arrays, hier sind zwei Blöcke
        int a = Integer.parseInt(str[0]);
      int b = Integer.parseInt(str[1]);//Und so weiter...
      System.out.println(a + " " + b);
}
}

2.2 Geben Sie ein Beispiel

3.1 Eingabe eines komplexen Int-Formats

Ähnlich wie bei der Eingabe von a=3, b=2 ist die Methode dieselbe wie die erläuterte Situation in 2.1 Es ist das Gleiche. Hier kommen wir direkt zum Beispiel.

3.2 Geben Sie ein Beispiel

Die Eingaben von Long-Typ und Int-Typ sind ähnlich und werden nicht noch einmal wiederholt.

3. Double-Typ

In Java sollte der Double-Typ häufiger verwendet werden als der Float-Typ.

Das Wichtigste am Gleitkommatyp ist seine formatierte Ausgabe, z. B. die Beibehaltung von zwei Dezimalstellen. In Java gibt es eine printf-Methode, die der in der C-Sprache ähnelt, und wir können sie auch mit der format()-Methode in String implementieren.

1.1 double behält die Ausgabe im zweistelligen Format bei

import java.util.Scanner;

public class Main {
     public static void main(String[] args) { 

        Scanner scan = new Scanner(System.in); 
        double num = scan.nextDouble(); 
        String a = String.format("%.2f", num); 
        System.out.println(a); 
     }
}

//printf-Formatausgabe:

//System.out.printf("%2f", num);

1.2 Zum Beispiel

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        
        Scanner scan = new Scanner(System.in);
        String str = scan.nextLine();
        String[] num = str.split("[;,]");
        String a = String.format("%.2f", Double.parseDouble((num[1])));
        String b = String.format("%.2f", Double.parseDouble((num[2])));
        String c = String.format("%.2f", Double.parseDouble((num[3])));
        System.out.println("The each subject score of No. " + num[0] + " is " + a + ", " + b + ", " + c + ".");
    }
}

4, mehrere Eingaben

1.1 Eingabeformat

In der Sprache C gibt es zwei einfachere Möglichkeiten, mehrere Eingaben zu schleifen:

while(scanf("%d", &n ) ! = EOF)

while(~scanf("%d", &n) )

In Java gibt es auch einen einfachen Weg:

while(scan.hasNext())

1.2 Beispielhinweis

Es ist zu beachten, dass bei der Eingabe mehrerer Gruppen einzelner Zeichen diese im String-Format eingegeben werden müssen, um sie in den Zeichentyp umzuwandeln.

5. Array

Die Eingabe ähnelt der in C-Sprache. Es ist jedoch zu beachten, dass es sich bei Eingaben wie Zeichenfolgen um einen Zeigertyp in der C-Sprache handelt. Es kann nicht wie bei der C-Sprache sein, dass Sie jedes Zeichen in eine Schleife eingeben können, bevor Sie die Zeigerform eingeben eine Zeichenfolge.

1.1 Array-Eingabeformat:

import java.util.Scanner;

public class Main {
   public static void main(String[] args) {

       Scanner scan = new Scanner(System.in);
       int[] arr = new int[3];//输入3个
       for(int i = 0; i < arr.length; i++) {
           arr[i] = scan.nextInt();
       }
       for(int i = 0; i < arr.length; i++) {
           System.out.print(arr[i] + " ");
       }
  }
}

2.1 Array in String konvertieren

Verwenden Sie die Methode toString() in Arrays.

import java.util.Scanner;

import java.util.Arrays;

public class Main {
    public static void main(String[] args) {

       Scanner scan = new Scanner(System.in);
       int[] arr = new int[3];//输入3个
       for(int i = 0; i < arr.length; i++) {
           arr[i] = scan.nextInt();
       }
       System.out.println(Arrays.toString(arr));
   }
}

Geben Sie 1, 2, 3 ein und Sie sehen [1,2,3]. Manchmal ist das Format von ABl.-Fragen 1 2 3. Auch das Format [1,2,3] kann passieren.

6. String

Da die meisten Eingaben in den String-Typ konvertiert werden. Daher sind für Zeichenfolgen viele Konvertierungsvorgänge erforderlich, z. B. die Konvertierung der geteilten Zeichenfolge in Ganzzahlen, Gleitkommatypen, Arrays usw. ?? 1'

1.2 Ganzzahl- und Gleitkommatyp in String konvertieren

int num = 10;

//Methode 1

String str1 = num + "";//"" bedeutet leere Zeichenfolge, anders Null in Java

// Methode 2

String str2 = String.valueOf(num);

2.1 Konvertieren Sie die Zeichenfolge in ein Zeichenarray

import java.util.Scanner;

import java.util. Arrays;

öffentliche Klasse Main {

        public static void main(String[] args) {

        Scanner scan = new Scanner(System.in); 

        String str = scan.nextLine();

        char[] arr = str.toCharArray();

        for (int i = 0; i < arr.length; i++) {

               System.out.print(arr[i] + " ");

        }

      }

}

2.2  字符数组转换成字符串

// 方法1

new String(arr);

//方法2

String.copyValueOf(arr); 

3  举例说明

描述:写一个函数,输入一个字符串,实现字符串的逆置。代码如下:

import java.util.Scanner;

public class Main {

    public static String my_reverse(String str) {

        int left = 0;
        int right = str.length() - 1;
        char[] arr = str.toCharArray();
        while(left < right) {
            char tmp = 0;
            tmp = arr[left];
            arr[left] = arr[right];
            arr[right] = tmp;
            left++;
            right--;
        }
        return new String(arr);
    }

    public static void main(String[] args) {

        Scanner scan = new Scanner(System.in);
        String str = scan.next();
        String ret = my_reverse(str);
        System.out.println(ret);
    }
}

 结果如下:


7、快速输入

        用Scanner进行输入是比较慢的,在这里介绍一个新的输入输出的函数。它们相比起来,优点是速度比较快,缺点可能就是太长了,打字很费劲。

import java.io.*;
//省略了Main
    public static void main(String[] args) throws IOException {
        
        BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
        
        int a = Integer.parseInt(bf.readLine());
        System.out.println(a);
        double b = Double.parseDouble(bf.readLine());
        System.out.println(b);
        char c = bf.readLine().charAt(0);
        System.out.println(c);
        char d = (char)bf.read();//都可以,但是这个不能和多组输入连用,原因是它保留了换行。
        System.out.println(d);
        System.out.println("------");
        String str = null;
        //多组输入
        while((str = bf.readLine()) != null) {
            char ch = str.charAt(0);//其他的类似
            System.out.println(ch);
        }
    }

推荐学习:《java学习教程

Das obige ist der detaillierte Inhalt vonLassen Sie uns über die Eingabe und Ausgabe gängiger Datentypen in Java sprechen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:csdn.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen