java小记
写在前面
Java优势:
- Write Once, Run Anywhere
Java三大版本
JavaSE:标准版
JavaME:嵌入式开发
- JavaEE:企业级开发
三大名词
JDK:Java Development Kit
JRE:Java Runtime Environment
JVM:Java Virtual Machine
JDK包含JRE,所以下载JDK就可以了,java的跨平台核心是使用了JVM
java开发环境搭建
JDK的下载与安装
- 通过官网获取JDK:http://www.oracle.com
配置环境变量
- 系统变量里添加JAVA_HOME
在系统变量path路径添加bin目录
同样在系统变量path路径添加jre/bin目录
Java8之后安装jdk不再提供jre的安装,可以通过命令导出:管理员身份打开cmd,切换到java安装路径,输入命令
bin\jlink.exe --module-path jmods --add-modules java.desktop --output jre
即可在用户变量中添加Classpath:
.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar
测试jdk安装是否成功
JDK目录介绍
- bin:放可执行程序
- include:java是用c和c++编写的,这里引入c语言的头文件
- jre:java的运行环境
- lib:放一些类库文件
HelloWorld及简单语法规则
- 新建一个.java文件
1 | public class Hello{ |
cmd里编译和运行
Notepad++安装和使用
IDEA安装
- IDE:集成开发环境
- IDEA官网:https://www.jetbrains.com/
- IDEA常见优化配置
vscode虽然说对java已经很好的支持了,某些功能还是不尽人意,毕竟idea才是开发java的神器,对于java开发的功能可以说都有,市场占有率超过65%。
java基础语法
注释
- 单行注释:// 注释
- 多行注释:/ 注释 /
- 文档注释: /* 注释 /
书写注释是一个非常好的习惯,特别在BAT大厂里
标识符
类名、变量名以及方法名。
标识符开头以字母(A-Z或者a-z)、美元符($)和下划线(_)组成
- 大小写敏感
- 可以使用中文
数据类型
- 强类型语言:对于变量使用要求比较严格,所有变量必须先定义后才能使用
弱类型语言:随时定义和使用,javascript、python都是
基本类型
- 数值类型
- 整数类型
- byte 1个字节范围-128-127
- short 2个字节范围-32768-32767
- int 4个字节范围21亿左右
- long 8个字节范围
- 浮点类型
- float 4个字节范围
- double 8个字节范围
- 字符类型
- char 2个字节
- 整数类型
- boolean类型
- True 占一位
- False
- 数值类型
八大基本数据类型,这里基本类型和c语言基本没看出差别,字符串不属于基本类型
- 引用类型
- 类
- 接口
- 数组
类型转换
优先级:byte,short,char==>int==>long==>float==>double
强制转换:(类型)变量名 高==>低
- 自动转换:低—>高
先转换类型再计算
变量
- 变量作用域
- 类变量:定义前加一个static,用的时候可以不用声明值,全局可用
- 实例变量:写在方法外面,可以不赋值,全局可用,使用要new一个对象
- 局部变量:普通的定义,必须给初始化值,只在某个方法里有用
- 变量命名规范
- 见名知意
- 类成员变量:首字母小写驼峰原则 monthSalary
- 局部变量:首字母小写驼峰原则
- 常量:全部大写可以加下划线
- 类名:首字母大写驼峰原则 GoodMan()
- 方法名:首字母小写驼峰原则 runRun()
常量
用final声明,用大学字母表示
比如写个PI等于多少,后面一直用而且值不变
运算符
算术运算符 + - * / % ++ —
有long结果为long,没有long 都是int,int不能强制转成string
乘方计算:java里不能用2^3,需要借助工具Math.pow(2,3)
赋值运算符 =
关系运算符 > < >= <= == !=
逻辑运算符 && || !
&& 都真为真,执行短路运算,检测到一个假后面的都不计算,值也不变
|| 有真就真
!真变假,假变真
位运算符 & | ^ ~ >> << >>>
& 同1才是1
| 有1就是1
^ 不一样就是1
~ 0变1,1变0
<< 左移 *2
/>> 右移 /2
条件运算符 ? :
x ? y : z
如果x==true,结果为y,否则为z
扩展赋值运算符 += -= *= /=
字符串拼接
- “ “+a+b,先转换成字符串再拼接
- a+b+” “,先运算在转成字符串拼接