1:
java的环境配置 (java严格区分大小写)

属性->高级系统配置->环境变量->新建->输入(JAVA_HOME+自己的安装路径)->双击Path对其进行修改,在原变量 值前面加上(.;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;)->检测:输入javac(编译器)

2:
操作系统只认识汇编和c语言,所以需要翻译(JDK和JRE)

.java(JDK)->.class(JRE)->操作系统的本地方法

JRE(java的运行环境),JDK(java所需的编译,调试等工具

3:
a=4时
b=++a(此时b=5,a=5,先加一再赋值) b=a++(此时b=4,a=5,先赋值再加一)

4:switch的使用模板

switch(str){
    case 1:
    System.out.println("1");
    break;
    default: System.out.println("都不是");
}

5:
indexOf(str):返回首次出现的位置

lastIndexOf(str):最后一次出现的位置

charAt():指定索引处的字符返回   eg:  str.char(6)

substring(0,3):截取0-3位置的字符串,若单写一个0,则从0--结尾

trim():忽略前导空格和尾部空格   eg:  str.trim().length()

str.replace("a","A");将所有的a替换成A

boolean b=str.(endsWith)startsWith("22"); 判断字符串是否以(22结束)22开头

s.compareTo(s1): s靠前返回-1,靠后返回1,相等返回0

toLowerCase():  将String全部转化为小写 toUpperCase():大写

6:
java.util.Arrays类

fill():填充(替换,即覆盖) 可指定范围, eg:   Arrays.fill(arr,1,2,8); 从1开始(包括)到2结束(不包括),用8覆盖

copyOf():复制数组至指定长度
eg:   intnewarr[]=Arrays.copyOf(arr,arr.length2)
arr.length
2是长度(也可以用常量)(不足用0补充,char类型用null补充)

copyOfRange():将数组的指定长度复制到一个新数组中 eg:  int newarr[]=Arrays.copyOf(arr,0,3) ;

7:
用this(隐式参数)来代表本类对象的引用 eg:  this.name=name; 前者指成员变量 ,后者name指形参name(显式参数)
引用this的原因:参数name覆盖了成员变量name;

8:
静态(常量,变量,方法)在别的类(eg:相同地位的子类)中被调用:类名.静态成员 eg:Static.id

静态方法中不能使用this关键字,也不可以直接调用非静态方法

9:
类的主方法:

public static void main(String[] args){}: 主方法是静态的,所以调用别的方法的话也必须是静态的

10:
getClass():获得Class实例 getClass().getname();取得类的名称

11:
byte:8位 char(short):16位 float(int):32位 double(long):64位

byte(8位:-128~127)->short(char)->int(float)->long(double)

double>float>long>int(自动转换时)

特例char(16位),转int不丢失精度 long(64)可转float(32),丢失精度转换

12:
输入输出

Scanner scanner =new Scanner(System.in);

//scanner 是一个扫描对象 system.in 是控制台输入 这样就可以获得从控制台输入的参数了

while(scanner.hasNext()){

int i=scanner.nextInt(); 

System.out.println(i);}

next(),nextLine(),nextInt():区别在于对于空格的处理方式不同,以及返回值不同

hasNext():判断扫描器中当前扫描位置后是否还存在下一段

hasNextLine():如果在此扫描器的输入中存在另一行,则返回 true

13:
:import java.util.*; 导入了java.util包中的所有类

14:
:Source->(shift+Alt+s)

1:Generate Getters and Setters... 生成Getter和Setter方法

2:Generate Constructor using Fields... 生成带参数的构造函数

3:Generate Constructors from Superclass... 生成空参的构造函数

15:
print: 函数,可以返回一个值,只能有一个参数.(println:换行)

printf:函数,把文字格式化以后输出,直接调用系统调用进行IO(输入/输出)的 eg:printf("%4d",odd)

16:
先执行静态初始化再执行非静态初始化,且静态初始化只执行一次

静态初始化,遇到new,就从上往下执行一次非静态(有无static),然后继续执行静态直到结束才执行非静态