计算机 : 输入设备–> 存储器 --> 输出设备
GHz: 每台计算机内都已一个内部时钟,该时钟以固定速度发射电子脉冲,时钟速度越快,在给定时间段内执行的指令就越多。1Hz :每秒发射一个脉冲。
一个核代表一个cpu, cpu是控制器和运算器在一起的一个芯片
内存与硬盘:
内存数据断电消失,硬盘永久保存数据和程序。
内存:
bit 和byte:
一个0或者一个1储存为一个比特(bit)是计算机中最小的存储单位。
计算机中最基本的存储单元是字节(byte)。每个字节由8个比特构成。
char字符: 一个字符是两个字节
乱码:
最初就是ASCII码值,UTF-8 是unicode的一种实现方式。
出现乱码的本质原因就是 存储时候的编码集合展示时候的编码集不一致。
例如存储时候是GBK编码形式保存,但是展示时候使用UTF-8展示。ANSI 就是GBK
八种基本数据类型:
boolean(true,false) byte(1)–> short(2)–> int(4)–> long(8)–> float(4)–> double(8) char(2)
float 容量要大于long的容量
byte、short、char 三个进行运算的话(包括同种之间进行运算) 结果都转换为int
整型常量默认类型为int
浮点型常量默认类型为double型
String
String 不是基本数据类型,是引用数据类型
数组的查找
线程查找
从头开始查找一直找到尾
二分法查找
// 必须从小到大排序
int[] erStr = {-1, 2, 5, 7, 9, 12, 34, 678, 9009};
int target = 9;
int head = 0;// 头索引位置
int tail = erStr.length - 1;// 尾索引的位置
boolean isFind = true;
while (head <= tail) {
int middle = (head +tail)/2;
if(erStr[middle] == target){
System.out.println("找到了,数组下标为:"+middle);
isFind = false;
break;
}else if(erStr[middle]>target){
tail = middle -1;
}else{
head = middle+1;
}
}
if(isFind){
System.out.println("没找到");
}
166 finished