Java的发展
Sun公司1995年推出、96发布JDK1.0、19年发布J2SE、J2EE、 J2ME、05年、09年被Oracle收购;
C/S(Client/Server):需要下载安装本地客户端软件
B/S(Browser/Server):通过浏览器,输入域名可直接访问的软件
Java语言的特点
面向对象:
使用计算机模拟现实世界,解决现实问题,贴近人类思维。
简单:
不易造成内存溢出、减少代码量、可读性强
Java有虚拟机,内置了垃圾收集器(GC),自动完成内存空间的管理,规避了因 人为导致的问题。相对而言更加安全。
跨平台:
JAVA的重要优势:跨操作系统、服务器、数据库
计算机执行机制
编译执行:
将源文件编译成机器码,一次编译,多次执行。
特点:执行效率高,不可跨平台。
再具体的环境(这个平台只能在这个平台不能跨平台)中执行一次翻译工作(源文件——>二进制),执行时是二进制文件。
执行效率高,不跨平台,先翻译然后执行翻译后的文件;
解释执行:
将源文件被一行一行解释,一行一行执行。不同的操作系统具备不同的解释器。
特点:执行效率低,可以跨平台
再具体环境一行一行的执行,不同环境都有自己的解释器。效率低、可跨平台。(直接源文件执行)
.java先编译为平台中立的字节码文件.class,在执行跨平台的解释执行,将计算机的两种执行合二为一。
Java名词
- JVM(Java Virtual Machine)虚拟机:(使用软件在不同操作系统中,模拟相同的环境)
- JRE(Java Runtime Environoment)运行环境:(包含JVM和解释器,完整的JAVA运行环境)
- JDK(Java Development Kit)开发环境:(包含JRE+类库+开发工具包(编译器+调试工具))
环境搭建
安装JDK\JRE
配置环境变量
用户变量:只有本账户可以使用
系统变量:只要在这个设备上就可以使用配置过的
测试:
cmd中输入javac
编译与运行:
Java:运行使用的变量
Javac:用于将Hello.java编译成Hello.class文件的变量
Class(类)
同一个源文件可有多个类;一个源文件只能有一个公开类
编译后,每个类都会生成独立的.class文件
一个类中,只能有一个主函数,每个类都有自己的主函数
- Public(修饰符)修饰成为公开类,要求类名必须与文件名一致,注:大小写
一个源文件中只能有一个公开类
公开类:权限更宽,没有私密性同一个源文件中可以定义多个类,但只能有一个公开类
编译后,每个类都会生成独立的.class文件
一个类中只能有一个主函数,每个类都可以有自己的主函数
Package(包)
作用:相当于文件夹,管理字节码文件.class(区分相同的文件)
声明:package 包名;(为源文件所生成的字节码文件去增加一个前缀,区分相同的.calss文件 )
位置:源文件第一行
带包编译:javac – d .
带包运行:java 包名.类名(权限定名)
类名相同后.class文件相同,前者会被后者代替
采用域名倒置:
cn.com.company.department.group.project.module.kaka加入package的声明后,可有效的区分同名的.class文件
编码的规范
代码格式
Tab(一个制表位):层级缩进
一行一句
代码注释
- 单行注释://(不能换行)
- 多行注释:/ /
- 文档注释:/* /(生成外部文档:javadoc -d . 1.java)(index文件)
要写文档注释要变为公开类---public命名规范
语法规定
可由字母(52)、数字(10)、_ 、$、组成,不可以数字开头;
不可与关键字、保留字(const、goto)重名;
约定俗成
- 望文生义
- 类名由一个或者多个单词组成,每个单词的首字母要大写;
- 函数名、变量名由一个或者多个单词组成,首字母首单词小写,拼接词首字母大写;
- 包名全部小写,只可以使用“.”,不可以“.”开头或者结尾;
- 常量全部大写,多个单词用“_”连接;
Java中各类名称
类名:HelloWorld、TestPackage、MyPackage(帕斯卡命名法)
一个或者多个单词组成,首字母大写,拼接字母也大写。函数名、变量名:main、run、testMethod、getDemo(驼峰命名法)
首字母小写,拼接字母大写。包名:com.qf.xa.stu;com.xa.(全小写、不已“.”开头或者结尾)
常量:HELLOWORLD (全部大写单词用“”连接)