一、《Java核心技术》0~40页
java“白皮书”关键术语:
1)简单性
语言易于理解,符合当前标准惯例。
2)面向对象
对象和对象的接口。
3)分布式
java有一个丰富的例程库,用于处理TCP/IP协议。
4)健壮性
Java编译器进行早期的问题检测和运行时的检测。采用指针模型=可以消除重写内存和损坏数据的可能性。
5)安全性
J创建“沙箱”,JDK环境
6)体系结构中立
Java编译器生成与特定计算机体系无关的字节码指令来实现,虚拟机
7)可移植性
强类型语言,基本数据类型大小和运算有明确的说明
定义了可移植的接口
8)解释型
解释器的机器上执行Java字节码
9)高性能
即时编译器
10)多线程
摩尔定律即将完结,我们着眼于获得更多的处理器,并让他们一直保持工作
11)动态性
库中可以自由的添加变量和实例
Java发展史
高斯林大佬
1991年,GREEN项目,为有线电视转换盒开发:代码短小、紧凑且平台无关
1993-1994上半年,没卖出去,First Person公司解散
1995,Hot Java浏览器,引发狂潮
1996,Java1.0
1998,Java 1.2
2004,java 5.0
Java误解
Java是一种程序设计语言,HTML是一种描述网页结构的方式,XML是一种描述数据的方式,JavaScript是一种在网页中使用的脚本语言
Java安装与环境配置
Java基本数据类型
一个字节8位
数据类型 | 大小 |
---|---|
byte | 1字节 |
short | 2字节 |
int | 4字节 |
long | 8字节 |
float | 4字节 |
double | 8字节 |
char | 2字节 |
boolean | 1或4字节,由虚拟机确定数据类型是byte还是int |
其中:
- 浮点数值不适用于无法接受舍入误差的金融计算中,例子:2.0-1.1=0.899999999
- 最好不要使用char型,最好将字符串作为抽象数据类型处理。
- $是合法的Java字符,但是最好不要用,只用于Java编译器和其他工具生成的名字。
- Java中,变量的声明尽可能地靠近变量第一次使用的地方
- java.lang.Math.* 定义了常用的函数
二、LeetCode
最长公共前缀
public String longestCommonPrefix(String[] strs) {
if (strs.length != 0 && strs != null) {
String s = strs[0];
String[] var3 = strs;
int var4 = strs.length;
for(int var5 = 0; var5 < var4; ++var5) {
for(String str = var3[var5]; !str.startsWith(s); s = s.substring(0, s.length() - 1)) {
if (s.length() == 0) {
return "";
}
}
}
return s;
} else {
return "";
}
}
函数介绍:
String a,b;
a.indexOf(b):返回一个int,b从a的int开始匹配,(0,a.length()-1),不存在返回-1
a.startsWith(b):返回一个boolean值
a.endswith(b):返回一个boolean值