一、 概述
1.1 Java语言发展史
Java语言之父:詹姆斯·高斯林(James Gosling)
诞生时间:1995年
发明公司:斯坦福大学网络公司 SUN(Stanford University Network)
跨平台:Java程序可以再任意操作系统上运行,一次编写到处运行,依赖的是Java的虚拟机JVM。
1.2 发行版本
JavaSE:标准版,是为开发普通桌面和商务应用程序提供的解决方案,该技术体系是其他两者的基础,可以完成一些桌面应用程序的开发。
JavaEE:企业版,是为开发企业环境下的应用程序提供的一套解决方案,该技术体系中包含的技术如 Servlet、Jsp等,主要针对于Web应用程序开发
JavaME:移动版,是为开发电子消费产品和嵌入式设备提供的解决方案
1.3 组成部分
JDK : Java开发工具 --- JRE + JAVA的开发工具
JRE :Java运行时环境 --- JVM + 类库
JVM:Java虚拟机
二、 基础语法
2.1 注释
2.1.1 单行注释
格式: //注释文字 ( Ctrl + / 添加、取消)
2.1.2 多行注释
格式:/* 注释文字 */ ( Ctrl + Shift + / 添加 )( Ctrl + Shift + \ 取消 )
2.1.3 文档注释
格式:/** 注释文字 */
2.2 关键字
2.2.1 概述
Java 规定的有特殊含义的单词
2.2.2 特点
组成关键字的字母全部小写
常见的代码编辑器对关键字有特殊的颜色标记
2.2.3 举例
2.3 常量
2.3.1 概述
在程序执行的过程中,其值不可以发生改变的量
用 public static final 修饰,名称大写,多个单词中间用_连接
2.3.2 分类
字符串常量 :用双引号括起来的内容( “HelloWorld” );
整数常量 : 所有整数 (12 ,-23)
小数常量 :所有小数(12.34)
字符常量 : 用单引号括起来的内容 ( 'a' , 'A' , '0' )
布尔常量 : 较为特有,只有true和false
空常量 : null
2.4 变量
2.4.1 概述
在程序执行的过程中,在某个范围内其值可以发生改变的量
从本质上讲,变量其实是内存中的一小块区域
2.4.2 定义格式
数据类型 变量名 = 初始化值;
2.5 数据类型
2.5.1 基本数据类型
2.5.2 引用数据类型
类:class
接口:interface
数组:[ ]
2.6 标识符
2.6.1 规则
unicode字符(数字,英文大小写,汉字)
下划线 _
美元符号 $
2.6.2 规范
见名知意
2.6.3 驼峰命名法
包
最好是域名倒过来,要求所有的字母小写
类或者接口
如果是一个单词首字母大写
如果是多个单词每个单词首字母大写(驼峰标识)
方法或者变量
如果是一个单词全部小写
如果是多个单词,从第二个单词首字母大写
常量
如果是一个单词,所有字母大写
如果是多个单词,所有的单词大写,用下划线区分每个单词
2.7 数据类型转换
2.7.1 隐式数据类型转换
1:基本类型参与运算遵循以下原则:char/byte/short -> int -> long -> float -> double
2:小容量类型的数据可以赋值给大容量类型的变量
2.7.2 显式数据类型转换
大容量类型的数据赋值给小容量类型的变量 但是有可能会出现损失精度的问题
2.7.2.1 格式
目标类型 变量名 = ( 目标类型 )(被转换的数据);
2.8 运算符
2.8.1 算术运算符
2.8.1.1 + - * / %
a: / java中两个整数相除得到的结果一定是整数 如果想要得到浮点值 ,就把其中一个数定义为浮点类型
b: / 得到的结果是两个数相除的商值
c: % 得到的结果是两个相除之后的余数
d: + 在整数和小数以及char类型之间是做数学运算
e: 如果字符串后面有+ 那么是做得字符串拼接操作 ,是按照运算的顺序 自左向右运算
"5 + 5 : " + 5 + 5 -> "5 + 5 : 55"
"5 + 5 : " + (5 + 5) -> "5 + 5 : 10"
2.8.1.2 自增自减运算符
++ / -- 变量自身自加一/自减一
a:如果x单独使用,++在前在后都一样 都是自加一 x++; ++x;
b:如果x出现在表达式或者参与运算
1:++在后 先使用变量自身的值参与运算 然后自加1
2:++在前 先自加1 然后再去参与运算
int x = 5;
int y = x++ + ++x + x-- + ++x;
5 7 7 7
2.8.2 赋值运算符
2.8.2.1 基本的赋值运算符 =
表示把等号右边的值赋值给等号左边的变量
2.8.2.2 扩展的赋值运算符 += , -= , *= , /= , %=
a: += 里面隐含了数据类型的强制转换
b: += 除了可以做数学运算 还可以做字符串的拼接
2.8.3 关系运算符
== , != , > , >= , < , <=
关系运算符组成的关系表达式结果一定是布尔类型
2.8.4 逻辑运算符
&& AND 两边条件都为true 结果才为true 遇到false则false
|| OR 两边条件只要有一个为true 结果就是true 遇到true则true
! NOT 取相反的值
注意 : &&和&,||和| 区别 :&& ||能够提高程序的执行效率
2.8.5 三元运算符
数据类型 变量名 = ( 关系表达式 ? 结果1 : 结果2 ) ;
关系表达式结果 true 则 结果1,false 则 结果2