Java的一些笔记(个人总结版)

一、变量 运算符 表达式 输入与输出

一个简单的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))

二、判断语句

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

三、循环语句

三种循环:

while循环、 do while循环、for循环(同C++一样)

跳转语句:

break、 continue(同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);
    }
}

四、数组

定义一维数组

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[] row: 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

五、字符串

初始化

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