Java基础知识(一)
了解Java
Java是由Oracle(甲骨文)创建的编程语言,具有三个特性:高可用、高性能、高并发。
Java有三个体系JavaSE、JavaME、JavaEE
- JavaSE,用于桌面应用开发,是最基本的Java
- JavaME,用于开发手机应用、嵌入式
- JavaEE,用于wab、服务器的开发
Java运行需要哪些东西
- JVM,Java虚拟机,有了这个就可以实现多平台开发,write once,run anywhere
- JRE,Java的运行环境,= JRE的一些API + JVM
- JDK, = 一些独有的API + JRE。开发者需要安装JDK,而使用者只需安装JRE即可运行Java应用
Java的一些工具
- 构建工具,Maven、Ant等
- 应用服务器,Tomcat等
- web开发,spring等
- 开发工具,IDEA等
Java的运行顺序
- 编写Java(.java)-> 经过编译器(javac)-> 字节码文件(.class)-> 类装载器、字节码校验器、解释器(java)-> 操作系统平台
Java基础语法
注释
注释是在运行时不会编译、给程序猿用的一种代码,注释分为三种
单行注释:在注释文字前加 //
多行注释:使用 /* 内容 */,可以在多行写注释,相当于每行前加 //
JavaDoc:用来解释自己写的一些API,使用 /** */,其内容中可以加入代码:@author、@version、@since、@param、@return、@throws,分别表示作者、版本、使用JDK版本、参数、返回值、异常抛出
JavaDoc可以使用cmd或IDEA生成自己的API文档。
在Java文件路径cmd中键入代码:javadoc -encoding UTF-8 -charset UTF-8 name.java
- encoding是为了使你的文档可以出现中文,当然用纯英文写的直接 javadoc name.java即可
在IDEA中可以在最上面那栏找到Tools然后点击Gerenate JavaDoc,会出现一个界面,output directory是文档的输出路径,Other command line arguments是文档的编码格式,点击ok。接下来在你的文档路径中会出现html后缀文件,点开打开一个页面里面就是你写的API文档了。
标识符
Java标识符是用来标识东西的,比如变量名、函数名、类名、关键字,由:大小写字母、数字、$、下划线组成,但是你自己定义的标识符有一些限制。
- 只能由数字、字母、$、下划线组成
- 不能以数字开头
- 不能用关键字
Java中共有这么多关键字
Java自定义标识符还有一些规范,不这样写不会报错但是不利于阅读,阿里巴巴都要求员工写代码时要规范并写了一本规范阿里巴巴开发手册
- 包名各字母小写
- 类名、接口名的单词首字母都要大写
- 变量名、函数名第一个单词小写,其余单词首字母大写
- 常量名全部字母都大写
数据类型
基本数据类型与c++基本是类似的。但是在赋值变量时,float类型小数后要加 F 不加默认double,long类型数字后要加 L,布尔类型只有true、false两种不可以转换成0、1进行数字运算
类型转换
类型转换分为自动类型转换、强制类型转换。
-
低存储类型向高存储类型转换时进行自动类型转换,因为不会造成内存溢出(不会缺失数据)
-
高存储类型向低存储类型转换时要手动的进行强制转换,具体操作是在数字前加个括号里面写类型名,但是在转换时你要注意数值的范围会不会造成溢出
比如说:
byte a = (byte)128;
System.out.println(a)
// 输出-128
因为byte的范围是 -128~127,在计算机中是进行补码运算的,128的补码是1000 0000,在补码中+0、-0是相同的用同一个二进制码表示,0111 1111(127)–>0111 1110(126)–>…–>0000 0000(+0)–>0000 0000(-0)–>1111 1111(-1)–>1111 1110(-2)–>…–>1000 0001(-127)–>1000 0000(-128),这是一字节的表示,但是int的字节数是32字节的符号位在老前边所以0000…1000 0000表示128(int中)
运算符
就这些运算符,整体上优先级大概就是,算数运算符–>逻辑运算符–>位运算符–>条件运算符–>赋值运算符
变量
变量就是可以变化的量,在Java中变量由三种
- 局部变量:函数、代码块中声明的变量
- 实例变量:类中函数外声明的变量
- 类变量:有static修饰的实例变量
与变量相对的就是常量了,常量不可改变,用final修饰。注意前面提到的命名规范。
包机制
包的本质就是文件,引用包机制可以更好的管理工程,使之具有层次结构。你的每个.java文件顶都有个package .java文件的路径,这个就是你这个.java文件所属的包。
你也可以用import导入包使用其他的API,当一个包中有多个.java文件时你想全导进去用个.* 例如:com.baidu.wenku.*,就将wenku这个包中的文件全导进去了。
包的命名方法一般是公司域名的倒置