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.length2是长度(也可以用常量)(不足用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),然后继续执行静态直到结束才执行非静态