1.JDK与JRE
1)JDK:Java Development Kit,顾名思义是 java 开发工具包,是程序员使用 java 语言编写 java 程序所需的开发工具包,是提供给程序员使用的。JDK 包含了 JRE,同时还包含了编译 java 源码的编译器 javac,还包含了很多 java 程序调试和分析的工具。
2)JRE :Java Runtime Environment 的缩写,顾名思义是 java 运行时环境,包含了 java 虚拟机,java 基础类库;是使用 java 语言编写的程序运行所需要的软件环境,是提供给想运行 java 程序的用户使用的,还有所有的 Java 类库的 class 文件,都在 lib 目录下,并且都打包成了 jar。
注意:配置系统变量:JAVA_HOME-->c:Programer Filesjavajdk1.8.0.201
CLASSPATH-->.;%JAVA_HOME%lib
PATH:-->%JAVA_HOME%in
2.javac和javap
1)javac: 编译.java文件 javac -d 文件路径 a.java 在文件夹生成.class文件;
2)javap: 反编译,java -c a.class 将字节码转为汇编代码;
3)java: java a.class 或者 java -jar a.jar
3.char 的表示方式
char x = ‘A’; char x = 65; Unicode表示 char x='4e00'
4."admin".equals(username)与"username".equals(admin)
前者编码规范健壮性好 后者:username==null 会引起空指针异常,前者admin时常量,所以健壮性好
5.int Integer
int 包装类是Integer 从 Java 5 开始引入了自动装箱/拆箱机制,使得二者可以相互转换。
int-->Integer:
int i=1; Integer integer=new Integer(i); Integer integer=Integer.valueOf(i);
Integer-->int:
Integer integer=new Integer(1); int i=integer.intValue(); int j=(int)integer;
基本类型 byte short char int long float double boolean
包装类型 Byte Short Character Integer Long Float Double Boolean
后续:string-->int:
String str = "10"; int i = Integer.intValue(string);
string-->Integer:
String str = "10"; Integer it = Integer.valueOf(str);
int-->string:
int i = 10; String s = String.valueOf(i);//第一 String s = Ingeger.toString(i);//第二 String s = "" + i;//第三
Integer-->string:
Integer it = new Integer(10); String str = it.toString();
string-->BigDecimal:
BigDecimal bd = new BigDecimal(str);
6. == 与 equals
== 判断变量或实例是否指向同一方向;内存地址进行比较;引用是否相同
equals: 对象的内容是否相等 object中equals未被重写,和 == 使用方法相同
7. & 与 &&
&:按位取与;逻辑运算与,无短路运算
&&:逻辑运算与,存在短路运算:从左到右,左边为false,则不继续判断
8. short s1=1 s1=s1+1 与 short s1=1 s1+=1
前者 s1是short,1是int,s1+1也是int,int转为short,会存在损失
后者 s1+=1 暗含强制转换,可以正确编译
9.如何跳出当前多重嵌套循环
在最外层循环前加一个标记如 A,然后用 break A;可以跳出多重循环。
public static void main(String[] args) { boolean f = true; for (int i = 0; i < 10; i++) { for (int j = 0; j < 10 && flag; j++) { if (j == 5) f= false; } } }
10.ceil floor和round
1)ceil:Math.celi(i), 向上取整,返回值为double型
2)floor: Math.floor(i), 向下取整,返回值为double型
3)round: Math.round(i), i+0.5然后向下取整,返回值为long型