ホームページ  >  記事  >  Java  >  Java の一般的なデータ型の入出力について話しましょう

Java の一般的なデータ型の入出力について話しましょう

WBOY
WBOY転載
2022-03-24 18:59:482292ブラウズ

この記事では、java に関する関連知識を提供し、主に一般的なデータ型の入出力関連の問題を紹介します。例を通してこれらの問題を解決する方法を見てみましょう。一般的に使用されるデータ型の入出力。皆様のお役に立てれば幸いです。

Java の一般的なデータ型の入出力について話しましょう

おすすめの学習:「java チュートリアル

C言語を学んでJavaに乗り換えて、最初に感じるのはJavaです記述方法は非常に複雑であり、同時によく使用されるデータ型の入出力は C 言語ほど便利ではありません。 C言語ではscanf関数を使用することでほとんどの形式を簡単に入力できますが、Javaではscanf関数に相当する文がありません。

この記事では、私の入出力の習慣と質問の記録を組み合わせて、整数、整数だが分離されたパラメーターなど、さまざまなタイプの概要を作成します。次の手順では、メイン クラスはすべて Main クラスであり、入力には Scanner を使用します。各入力または出力には複数のメソッドがある場合がありますが、ここではより単純なメソッドのみを書きました。

1. char型

ここでいうchar型とは、1文字のみを入力する場合を指します。

1.1 入力形式:

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> {<!-- -->

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

}}

注: 使用する必要がありますIOException 例外が発生します。 では、System.in は標準入力ストリーム (最も一般的にはキーボード) から入力され、rand() メソッドはこのストリームから入力コンテンツを読み取ります。 の入力結果はint型なのでchar型にキャストする必要があります。

1.2 例

##2、int型

1.1 単純な int 形式の入力:

これは、各行に int 形式の入力が 1 つだけある状況を指します。たとえば、各行には整数型が 1 つだけ入力されます。

import java.util.Scanner;

public クラス Main {

public static void main(String[] args) {

スキャナ scan = new Scanner(System.in);
int num = scan.nextInt();

System.out.println(num);

}

}
1.2 例

注: Long num である必要があります。そうしないと、num が非常に大きい場合に結果が不正確になります。



2.1 スペースを含む int 形式で入力します:

23 34 の形式と同様です。 2つの数値の間にはスペースが入っていますが、このときint入力だけでは問題は解決しませんが、もちろんscan.nextInt()を2つ連続して入力することも可能です。しかし、現時点ではまだ視点を変える必要があります。 23 34 を全体として文字列として扱い、スペースの部分で 23 と 34 の 2 つの文字列に分割し、この 2 つの文字列を整数に変換します。 Split()メソッドについては公式ヘルプマニュアルをご確認ください。

import

java.util.Scanner;

public クラス Main {

public static void main(String[] args) {


Scanner scan = new Scanner(System.in);
String[] str = scan.nextLine().split("[ ]");//いくつかのブロックに分かれており、いくつかの文字があります文字列配列。ここには 2 つの部分があります
int a = Integer.parseInt(str[0]);
int b = Integer.parseInt(str[1]);//etc. 。 ..
System.out.println(a " " b);
}
}

2.2 例

3.1 複素整数形式の入力

a=3, b=2の入力と同様、2.1で説明した方法と同じです。ここで、直接例に進みます。

3.2 例を示します

long 型と int 型の入力は似ているため、再度説明しません。 。

3. Double 型

Java では、double 型は float 型よりも頻繁に使用する必要があります。

浮動小数点型は主に、小数点以下 2 桁を保持するなど、フォーマットされた出力です。 Java には C 言語と同様の printf メソッドがあり、String の format() メソッドを使用して実装することもできます。

1.1 double は 2 桁の形式の出力を保持します

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 形式の出力:

/ / System.out.printf("/", num);

1.2 例

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、

# を複数回入力します##1.1 入力形式

C 言語では、複数の入力をループする簡単な方法が 2 つあります:

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

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

Java には、次のような簡単な方法もあります。

while(scan.hasNext())

1.2 例

入力単一文字の複数のグループが必要であることに注意してください。文字列形式で入力して文字型に変換します。

5. 配列

入力は C 言語と同様です。ただし、C言語では文字列などの入力はポインタ型ですが、Javaでは独自の文字列型があり、C言語のようにループで各文字を入力してからポインタを学習することはできません。文字列。

1.1 配列入力形式:

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 配列を文字列に変換

そのまま使用します配列で toString() メソッドを使用します。

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));
   }
}

1、2、3 を入力すると、結果 [1,2,3]。 OJ の質問の形式は 1 2 3 である場合があります。形式 [1,2,3] も渡すことができます。

6. 文字列

ほとんどの入力は文字列型に変換されるためです。したがって、文字列の場合、分割された文字列を整数、浮動小数点型、配列などに変換するなど、多くの変換操作が必要になります。

1.1 文字列を整数型または浮動小数点型に変換します (整数を例にします)

int a =

Integer.parseInt

(str[0] ); //分割後のstr[0]が文字'1'であるとする

1.2 整数型、浮動小数点型は文字列に変換

int num = 10 ;

// メソッド 1

String str1 = num "";//"" は空の文字列を表し、Java の null とは異なります。

// メソッド 2

String str2 = String.valueOf(num);

2.1 文字列を文字配列に変換します

import java.util.Scanner;

import java.util.Arrays;

パブリック クラス 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学习教程

以上がJava の一般的なデータ型の入出力について話しましょうの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はcsdn.netで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。