Java语言发展历史
詹姆斯~高斯林 :Java之父 1995年正式推出"Java" "爪哇"
Jdk版本:目前使用的8版本/9版本 自己新特性
1)电商平台
8.Java语言特点
jdk安装目录的文件夹以及文件的介绍
2)医院挂号系统
3)收银系统
4)健康码
5)比亚迪----MES系统 (传统行业)
6)物流系统
7)元宇宙
Java平台版本(重点)
JAVASE:桌面应用程序
学习java语法/运算符/流程语句/面向对象的基础/高级特性(集合,io流,多线程,网络编程,反射,jdk新特性....) Java认知
JAVAME:针对嵌入式设备提供一套解决方案
JAVAEE:针对企业级开发提供一套解决方案
Java语言特点
安全性,健壮性,分布式...
开源----->开发源代码---涉及的Java设计模式/数据结构/算法...
跨平台---->Java语言是跨平台的,任何软件的运行都要在操作系统上,而java语言编写的软件可以运行在任何操作系统上。
jdk安装目录的文件夹以及文件的介绍
Java系统环境的配置path
为什么要配置系统环境变量?
如果不配置系统环境变量,永远只能在jdk安装目录中bin目录里面去使用javac和java指令,对java编译和运行!
配置是为了让我们在任何目录中都能够使用javac和java指令!
配置方式1:
1)复制jdk安装目录的bin目录的路径 举例:D:\develop_software\Java\jdK_8\bin
2)此电脑--->右键属性---->高级系统设置---->环境变量----->系统环境---->找到path将上面路径复制到path中(放在最前面)
3)退出dos窗口,重写打开新的dos窗口,在任何目录中进行编译和运行!
方式1配置的弊端
1)不安全,当jdk版本切换,需要手动更改系统变量中path,可能会导致别的环境变量被误删!
2)这种方式后期 学习"web应用服务器" tomcat(用java编写的),启动会闪屏(启动失败),tomcat服务器启动的时候会寻找系统变量是否有"JAVA_HOME"的变量,如果存在,tomcat启动不会闪屏!
配置方式2(推荐方式)
1)复制jdk安装路径(不需要bin目录的路径)
举例:D:\develop_software\Java\jdK_8
2)此电脑--->右键属性---->高级系统设置---->环境变量----->系统环境---->
新建一个变量名
变量名 JAVA_HOME
变量值 上的jdk的安装路径
3)在path中的路径上使用 %JAVA_HOME%\bin
优点:
1)安全,即使jdk升级,不需要改动系统变量中path路径,只需要更改JAVA_HOME对应的路径
2)后期使用tomcat web服务器的时候,不会出现闪屏!
Path环境变量的执行流程
1)先要去在指定目录中(文件夹)找是否存在这个 xxx.java文件,如果存在这个文件就直接编译然后运行字节码的前缀
2)如果当前指定的目录中(文件夹)如果不存在xxx.java文件,那么就需要在系统变量path中 %JAVAH_H0ME%\bin这个路径去寻找是否存在,如果存在,就编译,如果也不存在,那么说明系统中不存在这个文件 "找不到文件!"
关键字
什么是关键字?
关键字:被赋予特定含义的单词!
class:Java语言中定义类的格式! (面向对象部分去讲)
public:权限修饰符号 (公开的/公共的,任何人都可以访问的,访问权限足够大)
static:静态修饰符号(在面向对象部分去讲)
void:和Java语言中定义方法(函数)一种格式
注意事项:
1)组成关键字的字母全部都是小写,而且特殊含义的!
2)goto 和const不作为关键字,保留字使用!
标识符
什么是Java中的标识符?
在Java语言中,给包,类名,接口名,方法名,变量名,常量等等起名字一种"字符序列";
起名字---做到四个字 "见名知意!"
1)给类名(或者接口名)起名字: 遵循格式 "大驼峰命名法" ("阿里规范")
类名是单个单词: 首字母大写,其余小写!
类名是多个单词: 每个单词首字母大写,其余小写。
2)给变量(和方法就是函数)起名字:遵循"小驼峰命名法"
变量名是一个单词:字母全部小写;
变量名是多个单词:第一个单词字母全部小写,从第二个单词开始每一个单词首字母大写.其余小写
3)给常量(程序执行过程中,其值是固定的),起名字的时候:
常量是一个单词(开发中很少见):字母全部大写
常量是多个单词(开发中经常见到):每个单词字母都大写,单词和单词之间下划线隔开
JDK,JRE,JVM分别是什么?
JRE:
Java Runtime Environment Java运行环境,包含jvm以及java文件运行所需要的核心类库 (lib--rt.jar)
JDK:
Java Development Kit :Java软件开发工具包,包含jre以及工具文件(toos.jar)
JVM:
Java Virtual Machine :Java虚拟机, 抽象化的计算机(在实际计算机上模拟各种功能)
JVM有自己的内存模型结构:
栈(本地方法栈,操作数栈...) ,堆,方法区,pc寄存器(程序计数器) 等等
Java文件需要运行在操作系统上,而操作系统需要有Java运行环境里面需要jvm来编译并且解析Java文件中的内容!
java指令:负责解析java文件编译后的.class文件
java中的注释分为哪些?有什么作用
//单行注释
/*
多行注释
*/
/**
文档注释
@author:作者名称
@version:版本号
*/
作用:
1) 提高代码阅读性
2) 可以排错
3)注销无用代码
基本数据类型
整形类型
byte 字节型 1字节 -128--127
short 短整型 2字节
int 整形 4字节
long 长整型 8字节
浮点型
float 单精度浮点型 4字节
double 双精度浮点型 8字节
布尔型
boolean 布尔型(true,false) 1字节
字符型
char 字符类型 2字节
引用数据类型
字符
数组
常量
概念:在程序执行值,值不发生改变的量
1)字面值常量
1.字符串常量:使用双引号括起来的内容都是字符串常量
2.字符常量:使用单引号括起来的单个内容
3.整数常量
4.小数常量
5.布尔常量
6.空常量 属于引用类型的默认值
2)自定义常量:
final关键字修饰
进制
十进制
0 1 2 3 4 5 6 7 8 9 10 11
二进制
0 1 10 11 100
八进制
0 1 2 3 4 5 6 7 10 11 12
十六进制
0 1 2 3 4 5 6 7 8 9 A B C D E F 10
十进制转二进制
规律:十进制数除2取余,余数倒读,除到商为空
十进制转八进制
规律:十进制数除8取余,余数倒读,除到商为空
十进制转十六进制
规律:十进制数除16取余,余数倒读,除到商为空
二进制转换为十进制
规律:二进制数所在位的数*2所在位-1次幂+其他位置
八进制转换为十进制
十六进制转换为十进制
1.二进制的最高位是符号位:0表示正数,1表示负数。 2.正数的原码,补码,反码都一样(三码合一)。 3.负数的反码 = 它的原码符号位不变,其他位取反(0->1,1->0) 4.负数的补码 = 它的反码 + 1 , 负数的反码 = 它的补码 - 1 5.0的反码,补码都是0 6.java没有无符号位,换言之,java中的数都是有符号的 7.在计算机运算的时候,都是用补码来运算的。 8.当我们看运算结果的时候,要看它的原码
变量
概念: 在程序执行过程中,其值发生改变的量
作用:临时记录一个数值
使用:
1,声明
注:同一个作用域下变量名不能重复,
语法:数据类型 变量名;
2,赋值
注:一个变量可以赋值多次
语法:变量名 = 值;
要求:两边数据类型一致
3.使用:
语法:之间使用变量名
int i;
i = 1;
System.out.println(i);
特殊情况:
声明并赋值
语法:数据类型 变量名 = 值;
Java的数据类型转换
隐式类型转换(默认类型提升)
在Java语言中 byte short char 三者之间不转换,一旦参与运算时,优先针对提升为int------->long-
----->floa----->double
boolean 不参与任何转换
强制类型转换(现实转换)
目的:将大的数据类型转换为小的数据类型类型
语法:
目标数据类型 变量名 = (目标数据类型)(初始化值);