Java基础学习笔记(狂神说)

A1oe / 2023-05-03 / 原文

目录
  • Java基础
    • 注释
    • 标识符
    • 数据类型
    • 变量
    • 包机制
    • JavaDoc生成文档
    • 交互Scanner对象
    • 增强for循环
    • 方法
    • 命令行传参
    • 可变参数
    • 数组
    • 构造器

Java基础

注释

单行//,多行/* 注释 /
文档注释
/
*

*@Description

*@Author
*/

标识符

数据类型

long num = 30L;

float num = 10.1F;

最好完全避免用浮点数进行比较 (用Bigdecimal)

强制类型转换(不能对boolean转换):(类型)变量名

数字可以用下划线区分,且不会被输出。

变量

类变量(static),实例变量,局部变量(方法内)

常量(final,不存在先后顺序)

驼峰原则(monthSalary)

类名首字母大写

包机制

一般用公司域名倒置作为包名

JavaDoc生成文档

package com.A1oe;

/**
 * @author A1oe
 * @version 1.0
 */

public class Hello {

    /**
     * @param args
     */
    public static void main(String[] args){
        System.out.println("com.A1oe.Hello World");
    }
}

cmd: javadoc -encoding UTF-8 -charset UTF-8 Hello.java

IDEA: Tools - Generate JavaDoc

交互Scanner对象

package com.A1oe;

import java.util.Scanner;

public class Hello {
    public static void main(String[] args){
        Scanner scanner = new Scanner(System.in);
        while (scanner.hasNext()){  //hasNextLine(), hasNextInt(),hasNextFloat()等
            String str = scanner.next();
            System.out.println(str);
        }
        // 凡是IO流都要关掉
        scanner.close();
    }
}

增强for循环

package com.A1oe;

public class Hello {
    public static void main(String[] args){
        int[] nums = {1,2,3,4,5};
        for (int x: nums){
            System.out.println(x);
        }
    }
}

方法

修饰符 返回值类型 方法名(参数类型 参数名){
    方法体
    return x;
}

方法重载:方法名字相同,参数类型/个数/顺序不同

命令行传参

package com.A1oe;

public class Hello {
    public static void main(String args[]){
        for (int i=0; i<args.length; i++){
            System.out.println(args[i]);
        }
    }
}

cmd: java com.A1oe.Hello hello world

可变参数

一个方法中只能指定一个可变参数,必须是方法的最后一个参数

package com.A1oe;

public class Hello {
    public static void main(String[] args){
        System.out.println("Hello World");
    }
    public static void PrintMax(double... nums){
        if (nums.length == 0){
            return;
        }
        double result = nums[0];
    }
}

数组

//声明
dataType[] arrRefVar;
//new操作符创建数组
dataType[] arrayRefVar = new dataType[arraySize];
//数组长度
array.length

初始化

//静态
int[] a = {1,2,3};
//动态
int[] a = new int[2];
a[0]=1;
a[1]=2;
//默认初始化
  • 数组长度是确定的,大小不可以改变

  • 元素类型相同

多维数组

int a[][] = new int[2][5];

Arrays类

package com.A1oe;

import java.util.Arrays;

public class Hello {
    public static void main(String[] args){
        int[] a = {1,2,3};
        Arrays.sort(a); //fill, equals, binarySearch
        System.out.println(Arrays.toString(a));
    }

}

稀疏数组

构造器

  • 必须和类名相同

  • 必须没有返回值,也不能是void

package com.A1oe;

public class Hello {
    String name;
    public Hello() {
        this.name = "a";
    }
}

IDEA: alt+insert 生成构造器