1995年 Sun公司 java之父 詹姆斯·戈士林 OAK->JAVA
Application Programming Interface 应用程序编程接口
该文档记录了Java中海量的API
操作分布:在多个不同的主机上布置相关操作
数据分布:将数据分别存在不同网络的不同主机上,凭借URL
具有与体系结构无关的特性,java的类库中也实现了针对不同平台的接口,使得类库也可以移植
运行Java程序需要解释器,任何移植了Java解释器的都可以用Java字节码进行解释运行,字节码独立于平台
删除了指针和内存释放等语法,有效地避免了非法操作内存。
java程序代码要经过 代码校验 指针校验 等很多测试步骤才能运行
Java会检查程序在 编译和运行 的错误 并 消除错误
类型检查也能帮助用户检查开发早期出现的错误
使应用程序在同一时间并行执行多项任务,相应的同步机制保证不同线程间正确的共享数据。
更好的交互能力和实时行为
java编译后的字节码在解释器中运行,较多数交互式应用程序提高了许多。
另外,字节码可以在程序运行时被翻译成特定平台的机器指令,进一步提高速度
可以动态调整库中的方法和增加变量,而客户端不需要任何修改,在Java中进行动态调整是非常简单和直接的
JDK=JRE+开发工具
JRE=JVM+类库
JDK>JRE>JVM
安装JDK会先后弹出下列三个安装程序
1.jdk
2.独立的jre
3.JavaFX SDK(不需要装)
命令行中输入命令都是在当前文件夹下操作 如果没有找到 会去Path中再寻找 找不到就报错
这时候就需要配置好java的路径 就可以在命令行任意位置使用java命令
1.我的电脑 右键 属性 高级 环境变量
新建三个系统变量
JAVA_HOME C:\Java\jdk1.8.0_191
CLASSPATH .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
PATH %JAVA_HOME%\bin;
2.验证JDK环境变量是否配置成功的三个命令
Java
Javac
Java -version
help 列出所有命令
dir 列出当前文件夹下文件
cd +文件夹 进入指定文件夹
cd..向上一级文件夹
cd\ 回到根目录下
md +文件夹名 新建文件夹
rd +文件夹名 删除空文件夹
del +文件名 删除文件
exit 退出dos
public class HelloJava{
public static void main(Strings args[]){
}
}
Java严格区分大小写
总共8种基本数据类型 (注意String不算是基本数据类型)
具体可以看下图 红色部分是需要注意的
其中unicode编码字符包含65536个 几乎可以处理所有国家的文字
关于转义字符我拍了书上的解释 和表格
布尔类型没什么好讲的 true或false 需要注意的是不可以和整数类型转换
四种字符
两个规则
所以只要是四种字符组成的且符合两个规则的标识符都是可以作为名字的
表示类名首字母大写
表示方法和变量的表示符-“驼峰原则” goodMan
表示常量全部字母大写 PI
图片来源:https://www.cnblogs.com/chenglc/p/6922834.html
用final关键字 说明只能赋值一次 通常用大写字符
成员变量(全局变量)在定义时就必须赋值
局部变量可以先定义 后赋值
实例变量就是正常的成员变量,定义在一个类里面 从属于具体的实例对象
静态变量就是实例变量加上关键字 static 从属于类
静态变量的有效范围可以跨类 甚至可以达到整个应用程序 还可以用“类名.静态变量”的方式在其他类使用
局部变量就是定义在块语句或者方法内部的变量 从属于方法
局部变量定义后不赋值无法使用
但是实例变量(成员变量)有定义后有初始化 具体如下
局部变量和成员变量名字相同时 优先使用方法内的局部变量
赋值运算符 = (优先处理右边的表达式结果)(x=y=z=5这种赋值也是可以的 一般不这样做)
5种算数运算符 + - * / %
> < >= <= != ==6种比较运算符
3种逻辑运算符 &&(&) || !
自增自减运算符 a++ ++a a-- --a
位运算符 &按位与 |按位或 ~按位取反 ^按位异或(相同为0 相反为1) <<左移 >>右移 <<<无符号左移 >>>无符号右移
三目运算符 条件式?值1:值2
关于运算符的执行顺序 可以参考下图 推荐用()来限定顺序
1.复合语句
{ }
2.条件语句
if
if...else
if...else if
switch
3.循环语句
while
do...while
for
foreach (遍历数组)
常见构造方法
1.String s="student";
2.String s=new String(char a[]);
=new String(char a[],int offset,int length)
连接字符串用‘+’
如果连接其他的数据类型 系统会自动调用 toString()方法
eg: System.out.print("我每天花费"+booktime+"小时看书“);
常用方法
String str="We are students";
int length() 获取字符串的长度
int indexOf(String s) 返回字符或者字符串s在str中首次出现的索引位置 如果没有则返回-1
int lastIndexOf(String s) 返回字符或者字符串s在str中最后一次出现的索引位置 如果没有则返回-1(如果s为空字符串“” 返回与length()相同 都是字符串长度)
char charAt(int index) 返回指定索引index的字符
String substring(int beginIndex) 返回从指定索引位置到结尾的子串
String substring(int beginIndex,int endIndex) 返回从指定索引位置到指定索引位置的子串
String trim() 返回去除前导空格和尾部空格的子串 “ java class “ -----> "java class"
boolean startWith(String s) 返回str是否以s为前缀的布尔值
boolean endWith(String s) 返回str是否以s为后缀的布尔值
str == otherStr 返回str是否和otherStr具有相同的地址的布尔值
boolean equals(String otherStr) 返回str是否和otherStr具有相同的字符和长度的布尔值
boolean equalsIgnoreCase(String otherStr) 忽略大小写 返回str是否和otherStr具有相同的字符和长度的布尔值
中间件就是在大型网站中,帮助各子模块间实现互相访问,消息共享或统一访问等功能的软件产品。常见的有:
注:部分资料来自于《JAVA从入门到精通》第三版 清华大学出版社
仅用于个人学习总结