Java 基础知识(一)

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 Files\java\jdk1.8.0.201
                           CLASSPATH-->.;%JAVA_HOME%\lib
                           PATH:-->%JAVA_HOME%\bin
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型

猜你喜欢

转载自www.cnblogs.com/dxjx/p/12447189.html