Java基础

139 阅读1分钟

进制

  1. 二进制:0b
  2. 八进制:0
  3. 十六进制:0x
  4. BigDecimal 数学工具类

字符

Unicode编码,2字节 U0000~UFFFFF


布尔

boolean,不是bool


类型转换

  1. 不能对boolean转换
  2. 不能转换为不相干类型
  3. 高转低需要强制转换、低转高直接转
  4. 注意
int money = 10_0000_0000;
int years =  20;
long total = money * years;

结果先是int再转为long,所以无效 正确操作:

long total = 1l * money * years;
  1. 整数运算,有long转换为long,没long转换为int
short a = 1;
byte b = 2;
System.out.println(a+b); //结果是int类型

变量&常量

  1. 局部变量
  2. 实例变量:从属于对象,如果不初始化,会有默认值
  3. 类变量:加static关键字
  4. 常量: final(常量名一般用大写)
public class demo1 {
    static final double PI = 3.1415925;
    static double salary = 30000; //类变量
    int age; //实例变量
    public static void main(String[] args) {
        System.out.println(salary);
        demo1 demo = new demo1();
        System.out.println(demo.age);
        System.out.println(PI);
    }
}

包机制

项目管理界面右键创建package

import base1.helloworld; //从src下一层开始
import base1.*; //导入包中所有的类

生成Javadoc文档

  1. /** + enter
  2. 命令行界面javadoc -encoding UTF-8 -charset UTF-8 xxx.java

Scanner输入交互

package base;

import java.util.Scanner;

public class demo3 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        if(scanner.hasNextLine()){
            String str = scanner.nextLine();
            System.out.println(str);
        }
        scanner.close();
    }
}

scanner还有scanner.hasNextDouble()、scanner.hasNextInt()等骚操作

其他零碎知识点

  1. 字符串比较用equal,不能用==
s.equal(b)
  1. print和println一个换行一个不换行
  2. 增强型for循环(和C++一样的)
int[] number = {10, 20, 30, 40, 50};
for(int x: number) {
    System.out.println(x);
}

学习资源

space.bilibili.com/95256449/ch…