Java进阶核心之常见class类讲解
Java顶级对象值object对象-面试题
什么是object类
- object类位于Java.lang包中,Java.lang包包含着Java最基础的核心类,在编译时会自动导入.
- object类是所有Java类的祖先,每个类都使用object作为超类.
常见方法
public final native class<?> getClass()
讲解:获取对象的运行时class对象,class对象就是描述对象所属类的对象,类的对象可以获取这个类的基本信息,如名、包、字段、方法等(用于反射会比较多,以后有机会再了解)
public native int hashcode()
讲解:获取对象的散列值,集合框架中应用,比如HashMap
public boolean equals(object obj)
讲解:比较两个对象,如果这两个对象引用指向的是同一个对象,那么返回true,否则返回false集合框架中有讲
public String tostring()
讲解:用于返回一个可代表对象的字符串,看源码可以得知,默认返回格式如下:对象的class名称+e+hashcode的十六进制字符串,所以前面课程写对象时候,需要重写这个方法,方便调试
- native方法,本地方法,具体是C(C++)在DLL中实现的,然后通过JNI调用
- 什么是JNI:Java平台和本地C(C++)代码进行互相操作的API,成为Java Native Interface(Java本地接口)
Java基本数学运算之Math类讲解
什么是Math类
- Java操作数学运算相关的类
- 构造函数被私有化,所以不允许创建对象
- 都是静态方法,使用是直接类名.方法名
常用API方法讲解
System.out.print1n(Math.sqrt(16));
system.out.print1n(Math.cbrt(8));
/∥两个数的最大,支持int,1ong,float,double system.out.print1n(Math.max(2.9,4.5));System.out.print1n(Math.min(2.9,4.5));
System.out.print1n(Math.ceil(19.7));System.out.print1n(Math.ceil(-20.1));
System.out.print1n(Math.random());
int random=(int)(Math.random()*10+1);
- 产生随机数,math.ramdom()=[0,1)
Java核心字符串String进阶
字符串对象String
- 字符串是对象,不是简单数据类型
- 封装在Java.lang包,自动导入
创建字符串对象
- 常见创建一个字符串对象"你好,世界;hello world;"方法有下面两个
- String str = new String(“你好,世界;hello world;”)
- String str = “你好,世界;hello world;”
字符串比较内容是否相等
- == 是比较地址
- 内容是否相等需要用equals()方法比较
常见API
String str="小滴课堂xdclass.net"
str.length();
char char=str.charAt(5);
boolean result=strl.equals(str2);
boolean result=strl.equals(str2);
int index=str.indexof(".");
String result1=str.substring(index);
String result2=str.substring(index1,index2);
str.replace("x","a");
str.toUpperCase();str.toLowerCase();
strl.trim();
其他类型和字符串互相转换
boolean bool=Boolean.getBoolean("false");
int integer=Integer.parseInt("20");
1ong LongInt=Long.parseLong("1024");
float f=Float.parseFloat("1.521");
double d=Double.parseDouble("1.52123");
Java系统类之System类讲解
什么是System类
- 位于Java.lang包中,它是系统类,代表程序所在系统,提供了对应的一些系统属性信息和系统操作
- final类型,构造函数被私有化
常用API
System.out
System.in
System.err
System.currentTimeMillis()
System.getProperties()
System.getProperties(key)
基本数据类型的包装 数据类型讲解-面试题
什么是包装数据类型
- Java是一个面向对象的编程语言,但基本类型并不具有对象的性质,为了让基本类型也具有对象的特征,就出现了包装类型
- 集合框架里面需要存储对象,不能存储基本数据类型,所以需要存储包装类型
Java中的包装数据类型
基本类型 包装器类型
boolean Boolean
char Character
int Integer
byte Byte
short short
1ong Long
float Float
double Double
互相转换
int il=0;
Integer integer1=new Integer(i);
Integer integer2=new Integer(0);
int i2=integer2. intValue();
Boolean booleanObj1=new Boolean(false);
boolean baseBool1=booleanobj. booleanValue();
boolean baseBool2=false;
Boolean booleanobj2=new Boolean(baseBool2);
基本数据类型和包装数据类型去吧
- 创建方式不同
- 基本数据类型不用new
- 包装数据类型需要使用new关键字来在堆中分配存储空间
- 存储方式以及位置不同
- 基本数据类型是直接将变量值存储在栈中
- 包装类型是将对象放在堆中然后通过引用来使用
- 初始值不同
- 基本类型的初始值如
int
为0
,bollean
为false
- 包装类型的初始值为
null