文章目录
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));
//cei1向上取整,更大的值方向靠拢,中文是天花板
System.out.print1n(Math.ceil(19.7));System.out.print1n(Math.ceil(-20.1));
//f1oor向下取整,更小的值方向靠拢,中文是地板意思system.out.print1n(Math.floor(19.7));System.out.print1n(Math.floor(-20.1));
//随机数
System.out.print1n(Math.random());//小于1大于0的double类型的数
//产生1到10的随机数,int方法进行转换它会去掉小数掉后面的数字即只获取整数部分,不是四舍五入
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);
//字符串拆分,注意正则,可以先简单知道String[]arr=str.split("\.");
//字符串替换
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
//输入输出包含三个成员变量,分别是in,out,err
System.out//常用调试
System.in//用于数据读取,少用
System.err//用在错误输出,少用
//获取系统当前毫秒值
System.currentTimeMillis()
//获取系统环境的属性
System.getProperties()
//根据指定key获取系统属性
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
- 基本类型的初始值如
先自我介绍一下,小编13年上师交大毕业,曾经在小公司待过,去过华为OPPO等大厂,18年进入阿里,直到现在。深知大多数初中级java工程师,想要升技能,往往是需要自己摸索成长或是报班学习,但对于培训机构动则近万元的学费,着实压力不小。自己不成体系的自学效率很低又漫长,而且容易碰到天花板技术停止不前。因此我收集了一份《java开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担。添加下方名片,即可获取全套学习资料哦