java基础
java之父:詹姆斯·高斯林(James Gosling)
java三大平台版本
J2ME(Java 2 Platform Micro Edition)小型版
是为开发电子消费产品和嵌入式设备提供的解决方案
J2SE(Java 2 Platform Standard Edition)标准版
是为开发普通桌面和商务应用程序提供的解决方案
该技术体系是其他,可以完成一些桌面应用程序的开发两者的基础
J2EE(Java 2 Platform Enterprise Edition)企业版
是为开发企业环境下的应用程序提供的一套解决方案
该技术体系中包含的技术如 Servlet、Jsp等,主要针对于Web应用程序开发
java特点
简单性
抛弃了c语言中复杂的指针等操作,使程序开发更加的简单快捷
面向对象
java语言最重要的特性(封装、继承、多态)
可移植性(跨平台)
java基于虚拟机实现了多平台兼容
分布式
java将系统某一功能单独运行
多线程
程序运行期间运行同时执行多个代码
动态性
java默认提供简单开发工具环境,在后期使用可以进行动态的添加
健壮性
基于java健全的代码检测机制,在代码编译阶段对代码进行语法与逻辑上的简单纠错
安全性
java执行的是编译后的文件,不允许被修改只能执行
JDK/JRE/JVM关系
JRE(Java Runtime Environment Java运行环境) |
---|
包括Java虚拟机(JVM Java Virtual Machine)和Java程序所需的核心类库等,如果想要运行一个开发好的Java程序,计算机中只需要安装JRE即可。 |
JDK(Java Development Kit Java开发工具包) |
JDK是提供给Java开发人员使用的,其中包含了java的开发工具,也包括了JRE。所以安装了JDK,就不用在单独安装JRE了。 其中的开发工具:编译工具(javac.exe) 执行工具(java.exe) 打包工具(jar.exe)等 |
JVM(JVM Java Virtual Machine java虚拟机) |
简单而言:使用JDK开发完成的java程序,交给JRE去运行。(jvm保证跨平台) |
jdk包含jre以及执行打包编译指令
jre包含jvm以及java执行必要的库
jvm用于执行编译好的java代码
jdk的下载与安装
输入cmd打开命令行工具,输入javac与java如果提示
则当前电脑没有安装jdk
1、官网下载jdk
2、安装jdk
1)双击安装包,选择安装版本与路径
开发工具:默认选择,安装jdk
源代码:只安装源代码
公共jre:只安装java运行环境
注意:如果选择默认路径记住默认路径,如果修改路径,不会创建文件夹会将jdk直接安装到选择的文件夹
2)进行安装
jdk10之前进行安装时,会进行jdk与公共jre的安装,在jdk安装过程中会继续弹出jre安装页面
3)检测安装的公共jre是否安装成功
打开cmd命令行工具,输入java(java运行指令)
4)配置java环境变量
配置Java开发环境
JAVA_HOME:JDK的安装目录
提供第三方软件支持(例如开发工具)
CLASSPATH:去哪里找需要运行的class文件
用于指定编译的class文件存储的位置
(jdk1.5版本以后不需要配置,已经进行了默认配置,不要配错)
path:去哪里找编译或运行等工具(必须设置)
用于告诉系统指令所在的位置
①右键电脑属性选择高级系统设置
②选择高级选项选择环境变量
③修改环境变量
正常情况下应该没有JAVA_HOME需要新建,如果已有点击编辑,变量名固定为JAVA_HOME,变量值为安装jdk所在路径
JAVA_HOME:C:\Program Files\Java\jdk1.8.0_261
C:\Program Files\Java\jdk1.8.0_261
修改path,注意path存在很多系统环境配置,不要进行额外的修改,在最前面添加%JAVA_HOME%/bin;
5)通过javac命令验证
常见问题:“javac不是内部或者外部命令”,原因是path配置错误
避免C:\WINDOWS\system32出现所有名字以java开头的文件,有,删之;
注:jdk不要安装在带中文的路径下,最好也是不包含空格字符的英文路径;重新打开cmd命令工具进行验证
出现错误解决方案:
1)path写错了
验证方法:cmd命令行输入path查看结果
如果指定位置路径错误则为path配置错误
2)javahome写错了
修改javahome环境变量
3、jdk的卸载
1)打开程序选择java进行卸载
2)打开存储jdk的文件夹删除残留文件
3)删除响应的环境变量(不删除也可以)
hello world的书写
1.创建指定名称的文件
2.将文件后缀改为java
3.编写指定文件
public class HelloWorld{
public static void main(String [] args){
System.out.println("hello world");
}
}
4.使用cmd命令找到指定文件(.java)并编译
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ITNroBI7-1604393680390)(D:/teacher/笔记/img/image-20201009140709845.png)]
语法:javac 编译文件的全名
编译成功后会生成同名的class文件
5.使用cmd命令找到指定文件(.class)并执行
代码书写可能出现问题的地方:
①class后的类名要求与文件名一致
②严格区分大小写
③输出语句结束使用;(以}结尾省略;)
④java执行时输入类名
⑤javac编译时输入文件全名
java执行流程
注释
用于解释说明程序的文字
Java中注释分类格式
单行注释 格式: //注释文字
以//开头注释本行后所有内容
多行注释 格式:
以 结尾 可以注释多行内容
文档注释 格式:
以结尾 也可以注释多行内容并进行标签标注(不常用)
public class HelloWorld{ //声明一个名为HelloWorld的类
public static void main(String [] args){
System.out.println("asdasdasdsaazdvv");
System.out.println("asdasdasdsaazdvv");
System.out.println("asdasdasdsaazdvv");
System.out.println("asdasdasdsaazdvv");
}
}
在程序编译阶段,jvm虚拟机在编译时会自动忽略注释
注释的作用:
1.用于已有代码的功能标识
public class HelloWorld{
public static void main(String [] args){
//在每行代码上书写单行注释 用于标识单行代码功能
System.out.println("asdasdasdsaazdvv");
System.out.println("asdasdasdsaazdvv");
System.out.println("asdasdasdsaazdvv");
System.out.println("asdasdasdsaazdvv");
}
}
2.在初期书写代码是进行思路整理
public class HelloWorld{
public static void main(String [] args){
//在代码书写中明确执行步骤
//使用注释先以文字的形式将代码执行的过程进行书写
//书写完毕后根据注释再进行代码的书写
System.out.println("asdasdasdsaazdvv");
}
}
3.用于缓解程序员孤身一人加班书写代码时**的精神
关键字
在java中被赋予特殊含义(功能)的单词,全部由小写字母组成
一共有51+2个关键字。其中goto conest为保留关键字
标识符
在代码书写过程中只要是我们自己命名都可以称之为标识符
组成规则:
以字母、数字、下划线_、美元符号$组成,不能以数字开头,不能使用关键字命名(可以组成或修改大小写),严格区分大小写
命名规范:
针对于不同位置的命名,使用不同的规范要求,通用要求:
见名知意:根据名字知道功能
驼峰命名法:当名字由多个单词组成,除首个单词外其余单词首字母大写
包(其实就是文件夹,用于解决相同类名问题)
小写单个单词多个包使用.分隔
类或者接口
要求首字母大写
方法和变量
首字母小写
常量
所有字母均大写,多个单词组成使用_连接
常量
在程序运行过程中不允许被改变的量称之为常量
常量声明格式
final 数据类型 常量名=值;
字符串常量 用双引号括起来的内容
整数常量 所有整数
12,23+
小数常量 所有小数
12.34,56.78
字符常量 用单引号括起来的内容
‘a’,’A’,’0’
布尔常量 较为特有,只有true和false
空常量 null(数组部分讲解)
在代码书写阶段进行定义死了的值,在程序运行中只能使用指定值
变量
在程序运行过程中可以被改变的量称之为变量
变量定义格式
数据类型 变量名 = 初始化值;
注意:格式是固定的,记住格式,以不变应万变
作用范围:定义开始到定义它的代码块结束;
注意:同一范围内,不允许多个局部变量命名冲突
定义开始到定义它的代码块结束
底层原理:
开辟内存空间,命名空间并存储数据
开辟空间存储数据是在赋值阶段进行的
java数据类型
java中的数据类型分为两大类基本数据类型与引用数据类型(类类型)
基本数据类型分为四类八种
其中,在开发过程中,直接书写的整数默认int类型,小数默认doule类型
变量声明时指定数据类型,是为了开辟指定大小的空间进行数据的存储
字符串类型String 用于保存字符串
基本数据类型的转换
按照转换类型分为
强制类型转换:强制进行数据的转换
语法:
目标类型 变量名=(目标类型)(被转换的数据);
自动类型转换:自动进行数据的转换
数值直接数据类型小的向大的自动转换
byte,short,char—int—long—float—double
byte,short,char相互之间补转换,他们参与运算首先转换为int类型
运算符会自动进行类型的转换,但如果是通过变量对数据进行运算那么不会进行转换