1.jdk jre jvm
jre: java运行环境和普通的jar包,适合运行javaSE程序
jdk: 包括jre和JaveEE的部分jar包
2.jdk下的路径
/bin 二进制指令 编译指令:javac xxx.java 运行指令:执行java xxx.class**因为计算机只认识二进制,所以要先编译将
.java文件变成二进制的.class文件**
eclipse默认的将创建的.java的名字与.java下的类的名字一致
.class文件跟.java文件的名字没有任何关系,而是与.java文件里的类名一致,.java文件下有几个类,编译时就会产生几个.class文件
通常.java下只写一个类,目的是①可读性强②编程思想,一个.java文件下放一个类,体现的是面向对象③便于其他包访问某个类,而不用全部转换为.class文件
/include
/lib 运行java企业级程序对应的jar包
环境变量:将局部路径变为全局路径
3.常用终端命令
cd 打开
cd …返回上一层目录
dir 查看当前路径的内容
cls 清屏
4.大数据
存储 HDFS <–ZooKeeper
运算 mapreduce <–Spark
5.java基本语法
①关键字:不能改
②标识符:不能跟关键字重名,应该以字母或下划线或$开头, 标识符由数字,字母,下划线组成
③注释:注释不参与编译
单行注释:control+/
多行注释:control+shift+/
文档注释:/** enter
④常量:固定不变的量
⑤变量:在内存中开辟一块空间,变量本身是可以存储数据,同一时间只可以存储一个数据,这个数据是可以改变的
⑥数据类型:规范变量的大小
基本数据类型
数据类型的优先级(char,byte-short-int-long-float-double)
自动类型转换:低优先级转高优先级,没有数据损失
强制类型转换:高优先级转低优先级,可能有数据损失
一个字节:byte char boolean(默认false)
两个字节:short
四个字节:int float
八个字节:long double
1Byte=8Bit 1KB=1024B 1MB=1024KB 1GB=1024MB 1TB=1024GB 1PB=1024TB
数值型:byte [-27,27-1]
short [-215,215-1]
int [-231,231-1]
long [-263,263-1]
引用数据类型
数组,类,接口
6.进制的转换
正数: 存储的原码
负数: 存储的补码
正数的原码反码补码一致
负数的补码为原码按位取反加一(符号位不变)
正数的原码转换为负数的补码:直接用正数的原码按位取反加一(符号位也变)
ASCII---->国标 不支持中文
0—48
A—65
a—97
GBK---->中国标准 两个字节
UTF-8---->国际通用标准 三个字节
uncode---->内部编码 两个字节
ISO8859-1---->欧洲编码 不支持中文,对中文能进行编码,但不能解码
7.硬盘,内存,cpu
硬盘:长期存储
内存:短期存储
io流以内存为中心
从硬盘向内存传数据 InputStream
从内存向硬盘传数据 OutputStream
在java中内存分为堆区,栈区,方法区,本地方法区,寄存器因为内存中存储的某一块区域与栈数据结构相似,所以称为栈区
栈:先进后出
队列:先进先出
堆区:垃圾回收机制进行资源释放
8.java运算符
根据数据类型分类:
算术运算符:+ - * 、 % ++(自增) --(自减)
赋值运算符:= += -= *= /= %= ^=
逻辑运算符:&& || !
关系运算符:== < <= > >= !=
位运算符:& | (按位异或,相同为0,不同为1,目的是交换两个数的值a=ab;b=ab;a=ab,通常运用在数组排序中) ~ 位运算符不存在短路与,短路或
移位运算符:>>(有符号右移,相当于除2) <<(有符号左移相当于乘2,通常运用在二分查找中) >>>(无符号右移)
三目运算符: a?b:c
计算:先找优先级最低的运算符,然后按照运算符的结合性计算,再去找优先级最低的运算符,再按照运算符的结合性计算,重复此步骤
9.流程控制语句
if和Switch区别:
如果分支很多,一般用Switch,分支少,用if
Switch()中可以取的值:整型,字符串,字符,枚举
break:直接跳出整个循环
continue:结束当前循环
给循环做标识:m:for(;;)
在内部循环break m;可以结束外层循环
10.方法
方法:对某一功能的封装
作用:可以提高程序的安全性,复用性(一次定义,多次调用),健壮性,可读性,节省内存
方法不可以嵌套,一个方法中最好只有一个功能
11.全局变量与局部变量
全局变量,默认有初值,存放在堆区,因为对象在堆区
局部变量,必须初始化,存放在栈区,因为函数在栈区
12.重载
重载:参数的类型,个数,顺序
重载最大的应用在构造方法上
重载与返回值无关,与参数的名字无关