JAVA介绍:
缔造者:詹姆斯高斯林
缔造时间:1996年
改革比较大的事件:2004年JDK1.5更名JDK5.0
2009年SUN公司被Oracle公司收购
目前最新的版本:JDK17
目前开发使用的版本:JDK8
特点:简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性
Java不同于一般的编译语言或解释型语言。它首先将源代码编译成字节码,再依赖各种不同平台上的虚拟机来解释执行字节码,从而具有“一次编写,到处运行”的跨平台特性.在早期JVM(虚拟机)中,这在一定程度上降低了Java程序的运行效率。但在J2SE1.4.2发布后,Java的执行速度有了大幅提升。
一、JAVA常见的几个名词
JavaSE(Java平台标准版)
JavaEE(Java平台企业版)
JavaME((Java平台微型版)现在被Android取代了)
JDK:java development kit java开发工具包
JVM: java virtual machine java虚拟机
JRE:java runtime environment java运行环境
GC:garbage connection 垃圾回收器(
垃圾回收是对内存堆中已经死亡的或者长时间没有使用的对象进行清除和回收,目的是防止内存泄露。)
语法注意事项:
标识符(官方定义):
定义:java中一切我们自己命名的内容。
大小写敏感:
Java是区分大小写的.
构成元素
只能由数字,字母,下划线,$符组成
不能以数字开头
不能是保留字和关键字
支持中文但不建议使用(和编码格式有关)
源文件名:
源文件名必须和文件内名字唯一且公开(由public 关键词修饰)的类名相同。当保存文件的时候,你应该使用该类名作为文件名保存(切记Java是大小写敏感的),文件名的后缀为.java。(如果文件名和类名不相同则会导致编译错误)。
程序员约定俗成:
- 变量,方法名:遵循驼峰命名法(命名由多个单词组成,第一个单词首字母小写,后面每个单词首字母大写)
- 类名:对于所有的类来说,类名的首字母应该大写。如果类名由若干单词组成,那么每个单词的首字母应该大写,例如MyFirstJavaClass。
- 包名:所有单词全部小写,一般为公司域名反过来写+模块名称
例: com.chen.login
- 见名知意
数据类型
每种数据类型所存储的数据大小不同。
1字节=8bit
每种数据类型所存储的数据大小:
整数类型 | 浮点类型 | 字符类型 | 布尔类型 |
---|---|---|---|
byte | float | char | boolean(在java中只有true和false两个值) |
short | double | ||
int | |||
long |
数据类型 | 取值范围 | 公式 |
---|---|---|
byte:1字节 | 取值范围:-128~127 | -2^7~2^7-1 |
Short: 2字节 | 取值范围: -32768~32767 | -2^15~2^15-1 |
int: 4字节 | 取值范围: 约+-21亿多 | -2^31~2^31-1 |
long: 8字节 | 取值范围: 无穷 | -2^63~2^64-1 |
float: 4字节 | 取值范围: 无穷(单精度) | |
double: 8字节 | 取值范围: 无穷 (双精度) |
备注:官方规定:在整数类型中将int类型作为基准数据类型,要想表示long类型数据需在数据后面加上L或者l;在浮点类型中将double双精度作为基准数据类型,要想表示float类型需在数据后加上F或者f。
不同类型间的数据运算,byte,short,char三种类型参与运算时,先一律转换成int类型再进行运算
其他类型间运算,如果类型不同,那么先提升类型,后进行运算
数据类型的转换
- 取值范围从小到大,自动转换
byte-> | short-> | int-> | lang-> | float-> | double |
---|---|---|---|---|---|
char-> | ↑ |
- 取值范围从大到小,强制转换:需加强制转换符(要转的类型)
注:在进行强制转换的时候,要注意数据的溢出和精度的丢失。
byte | <-short | <-int | <-lang | <-float | <-double |
---|---|---|---|---|---|
↑ | <-char<- | ↓ |
变量
- 先声明,后初始化
数据类型 变量名;
变量名=数据;
例:int a;
a=5;
- 或声明的时同时初始化:
数据类型 变量名=数据;
例: int a=5;
注:变量在使用的时候必须进行初始化操作,否则程序报错。
在一个类中不允许重复声明变量名。
//:单行注释
/内容/:多行注释
关于变量赋值在内存中的存储
- 变量若为基本数据类型,此时赋值的是保存的数据值
- 变量若为引用数据类型,此时赋值的是保存的是地址值
运算符
算术运算符 | 关系运算符 | 条件运算符 | 逻辑运算符 | 按位运算符 | 赋值运算符
- 赋值运算符:= 将等号右边的值赋值给左边的变量
- 算术运算符:+ - * / % ++ --
+:(加号)在java中有3个作用,
- 做正数符号,做加法,做拼接。
- 当+号两边都是数值型数据的时候做加法运算.
- 至少一边为字符串类型的时候做拼接,拼接完之后类型自动转为字符串类型。