Javaに関するちょっとしたメモ(個人的なまとめ版)

1. 変数演算式の入出力

単純な Java プログラム

public class Main {
    public static void main(String[] args) {
        System.out.println("Hello World");
    }
}

演算子 +、-、*、/、%、++、--、+=、-=、*=、/=、および %= は C++ に似ています。

変数は使用する前に定義する必要があります。同じ名前を持つことはできません。


変数の定義方法:

public class Main {
    public static void main(String[] args) {
        int a = 5;
        int b, c = a, d = 10 / 2;
    }
}

定数は、final で変更されます。final として宣言された参照は、C++ で const として宣言された変数と同様であり、変更できません。

final int N = 110;

組み込みのデータ型

byte、short、int、long、double、char、および boolean はすべて C++ に似ており、boolean は 1 バイトを占有し、式形式は true または false です。

import java.util.Scanner;
public class Main{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        int a = sc.nextInt();//整型
        double b = sc.nextDouble();//浮点数
        String op = sc.next();//字符的定义
        boolean flag = true;
    }
}

文字を比較する場合

if("M".equals(op))

2. 判決文

Java では、出力時に三項演算子を直接使用することもできます。

たとえば、この例では、 Z が 5.0 以上の場合は を出力し、 Aluno aprovado.それ以外の場合は を出力します。 Aluno reprovado.

System.out.println(z >= 5.0 ? "Aluno aprovado." : "Aluno reprovado.");

完全数 (整数、それ自体を除く他のすべての約数の合計がその数に等しい場合、その整数を完全数と呼びます) かどうかを判断する場合、利点は、「+」を使用して直接判断できることです。スプライシングの声明。

System.out.println(sum == a ? a + " is perfect" : a + " is not perfect");

に相当

            if (sum == x)
                System.out.printf("%d is perfect\n", x);
            else
                System.out.printf("%d is not perfect\n", x);

3. ループステートメント

3 種類のループ:

while ループ、do while ループ、for ループ (C++ と同じ)

ジャンプステートメント:

中断、続行 (C++ と同じ)

典型的な例:

フィボナッチ数列

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();

        int a = 1, b = 1;
        for (int i = 1; i < n; i ++ ) {
            int c = a + b;
            a = b;
            b = c;
        }

        System.out.println(a);
    }
}

4. アレイ

1次元配列を定義する

public class Main {
    public static void main(String[] args) {
        int[] a = new int[10], b;
        float[] f = new float[33];
        double[] d = new double[123];
        char[] c = new char[21];
    }
}

配列の初期化

public class Main {
    public static void main(String[] args) {
        int[] a = {0, 1, 2};        // 含有3个元素的数组,元素分别是0, 1, 2
        int[] b = new int[3];       // 含有3个元素的数组,元素的值均为0
        char[] d = {'a', 'b', 'c'}; // 字符数组的初始化
    }
}

多次元配列を定義する

public class Main {
    public static void main(String[] args) {
        int[][] a = new int[3][4]; // 大小为3的数组,每个元素是含有4个整数的数组。
        int[][][] b = new int[10][20][30]; // 将所有元素的初值为0
        // 大小为10的数组,它的每个元素是含有20个数组的数组
        // 这些数组的元素是含有30个整数的数组
    }
}

配列の走査:

for(int[] 行: a)

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        int[][] a = {
            {0, 1, 2, 3},
            {4, 5, 6, 7},
            {8, 9, 10, 11},
        };

        for (int[] row: a) {  // 范围遍历
            for (int x: row)  // 范围遍历
                System.out.printf("%d ", x);
            System.out.println();
        }
    }
}

典型的な例:

フィボナッチ数列のN番目の項を見つけるための配列

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();

        int[] f = new int[n + 1];
        f[0] = 0;
        f[1] = 1;
        for (int i = 2; i <= n; i ++ )
            f[i] = f[i - 1] + f[i - 2];

        System.out.println(f[n]);
    }
}

よく使用される API

5. 文字列

初期化

String a = "Hello World";
String b = "My name is ";
String x = b;  // 存储到了相同地址
String c = b + "abc";  // String可以通过加号拼接
String d = "My age is " + 18;  // int会被隐式转化成字符串"18"
String str = String.format("My age is %d", 18);  // 格式化字符串,类似于C++中的sprintf
String money_str = "123.45";
double money = Double.parseDouble(money_str);  // String转double

よく使用される API

入出力

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String str1 = sc.next();  // 输入字符串,遇到空格、回车等空白字符时停止输入
        String str2 = sc.nextLine();  // 输入一整行字符串,遇到空格不会停止输入,遇到回车才会停止

        System.out.println(str1);  // 可以直接输出
        System.out.printf("%s\n", str2);  // 也可以格式化输出,用 %s 表示字符串
    }
}

おすすめ

転載: blog.csdn.net/m0_74776728/article/details/131892928