0
点赞
收藏
分享

微信扫一扫

JAVA的小知识2

非宁静不致远 2022-02-10 阅读 51
java

要背诵

import java.lang.Math.*;

Math.sqrt(x) 这是对x开根号

Math.pow(x,a);这是x的a次幂

1.数值类型的转换

实线是完全继承 虚线是有丢失

int转float有精度丢失 9.40以前

2.强制类型转换

double x =9.997;

int nx = (int) x; //nx=9

位运算算法面试

或就是有1就是1 ,与就是都是1 才是1

>>

任何的N进制向左移动M位,都是相当于乘以N^M;向右移动就等价于除以这个数

只要是能转成二进制的数都可以写成几个2的几次幂相加而成

二进制右移时,移几位就在前面加几个符号位

a= a>>>3;这个表示向右移,左侧一律补0

不存在算符

数组的大小是固定的,不能在原地址进行改变,要想增加,就需要重新申请地址进行改变

引用类型的==,是表示引用的是否是同一个地址

new 就是代表新开辟的空间

基本类型的数据无论怎么改,他所占的大小是不变的

引用类型无法预测申请多大的空间,所以每次改变都要重新申请地址进行修改(数组也是引用类型)

面试点:

可以使用 equals 方法检测两个字符串是否相等

s.equals(t)

如果字符串 s 与字符串 t 相等, 则返回 true ; 否则, 返回 false。

例如:

String API

char charAt (int index) :获取指定位置的字符

int codePointAt(int Index) :返回指定位置的码点

i n t compareTo(String other)

常用的API

面试点:int indexOf(String str):返回与字符串 str 或代码点 cp 匹配的第一个子串的开始位置。这个位置从索引 0 或fromlndex 开始计算。 如果在原始串中不存在 str,返回 -1。

String replace( CharSequence oldString,CharSequence newString) :替换

其意义就是用=替换数组中原有的sd

String[ ] split(x):以x为分割线进行分割

运行结果:

int 1ength( ):返回字符串的长度

返回st1中字符串的长度16

运行结果

System.currentTimeMillis();计算运行所需要的毫秒数 //16.42以前

b.append("" + i);能够增加他的速度,时间更短

换成append之后结果比较

面试重点

String ,StringBuilder, StringBuffer的区别

StringBuilder, StringBuffer一开始就申请了足够的空间,只需要在内部修改即可,节省了空间,StringBuffer是加了锁的

String 运行较慢,每次添加都需要重新申请一个页进行修改

StringBuilder, StringBuffer 他会一开始就构建足够大的空间,每次更改不需要重新申请地址,这样会大大加快速度

in.nextlnt():触发等待,输入后回车可进行下一步

向数组中添加数据

举报

相关推荐

0 条评论