JavaSE-01【初识Java】
第一章:Java开发序言
1.1 Java语言概述
1、什么是Java语言
Java语言是美国Sun公司,在1995年推出的高级编程语言。
所谓编程语言,就是计算机语言,人们可以使用编程语言对计算机下达指令,让计算机完成指定的功能。
Java是一门面向对象编程语言,是一种广泛使用的计算机编程语言,拥有跨平台、面向对象、
泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发。
2、Java语言的发展史
- 1995年5月23日,Java语言诞生
- 1996年1月,第一个JDK-JDK1.0诞生
- 1997年2月18日,JDK1.1发布
- 1997年4月2日,JavaOne会议召开
- 1998年12月8日,JAVA2企业平台J2EE发布
- 1999年6月,SUN公司发布Java的三个版本:标准版(J2SE)、企业版(J2EE)和微型版(J2ME)
- 2000年5月8日,JDK1.3发布
- 2000年5月29日,JDK1.4发布
- 2001年6月5日,NOKIA宣布,到2003年将出售1亿部支持Java的手机
- 2001年9月24日,J2EE1.3发布
- 2002年2月26日,J2SE1.4发布,自此Java的计算能力有了大幅提升
- 2004年9月30日,J2SE1.5发布
- 2005年6月,JavaOne大会召开,SUN公司公开Java SE 6
- 2006年12月,SUN公司发布JRE6.0
- 2009年12月,SUN公司发布Java EE 6
- 2010年11月,由于Oracle公司对于Java社区的不友善,因此Apache扬言将退出JCP
- 2011年7月28日,Oracle公司发布Java SE 7
- 2014年3月18日,Oracle公司发表Java SE 8
- 2017年7月,Oracle公司将发布 JDK 9
- 2018年,从2018 年开始,每6个月就会发布一个 Java 版本
- 2019年,2019年2月Java 12发布2019年9月Java 13 发布。
- 2020年,2020年3月17日,Java14 发布。2020年9月15日,Java 15发布。
- 2021年,2021年3月16 日,JavaSE 16 发布。2021年9月14 日,JavaSE17LTS 发布。
3、Java语言之父—詹姆斯高斯林
3、Java语言能做什么
Java语言主要应用在互联网程序的开发领域,如金融、医疗、电商、物流、OA等。
1.2 计算机基础知识
二进制 比尔欧巴diss好十六
日常生活中的数据采用十进制,但是计算集中采用二进制表示,二进制只包含0和1两个数字,逢二进一。
每一个0或者1,都叫做一个bit(比特,即:位)
- 十进制转二进制:除二取余法
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-crUAg784-1686187348306)(photo/JavaSE01_初识Java.assest/1663595914908.png)]
- 二进制转十进制:8421编码方式
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OPoR3ceT-1686187348308)(photo/JavaSE01_初识Java.assest/1663596377388.png)]
字节
字节是计算机中存储的最小单元,计算机中存储任何数据,都是以字节的形式存储的。
8bit(比特),比特即二进制位,00000000表示为1字节,也就是1Byte,即常说的1B。
- 8 bit = 1 Byte 即 1B
- 1024 B = 1 KB
- 1024 KB = 1 MB
- 1024 MB = 1 GB
- 1024 GB = 1 TB
常用的DOS命令
作为一名Java初学者,我们需要学习一些基本的DOS命令,对我们学习Java是有帮助的。
对于开发人员来说,需要在DOS中完成一些事情,因此需要掌握一些基本的DOS命令。
-
DOS窗口:win+R快捷键
操作方式:同时按下Windows+R键,输入cmd,点击回车,进入DOS的操作窗口
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4GBSsu8d-1686187348308)(photo/JavaSE01_初识Java.assest/1663596906160.png)]
- 命令提示符:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Fpuv41yT-1686187348308)(photo/JavaSE01_初识Java.assest/1663597366681.png)]
- 常用DOS指令:
启动: Win+R 输入cmd回车
切换盘符: 盘符名称:
进入文件夹: cd 文件夹名称
进入多级文件夹: cd 文件夹1\文件夹2\文件夹3\
返回上一级: cd ..
返回根目录: cd \
查看当前目录下的文件以及文件夹: dir
清屏: cls
退出: exit
第二章:Java开发环境
2.1 JDK和JRE和JVM
-
JDK (Java Development Kit)。是Java程序开发工具包,包含JRE和开发人员使用的工具
-
JRE (Java Runtime Environment)。是Java程序的运行时环境,包含JVM和运行时所需要的核心类库
-
JVM(Java Viritual Machines),Java虚拟机,简称JVM,是运行所有Java程序的虚拟计算机
-
JDK、JRE、JVM的关系
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FDqbLm4e-1686187348309)(photo/JavaSE01_初识Java.assest/1663599571390.png)]
2.2 Java虚拟机 (JVM)
- JVM(Java Viritual Machines),Java虚拟机,简称JVM,是运行所有Java程序的虚拟计算机,是Java程序的运行环境,我们编写的Java代码都运行在JVM上。
- 跨平台:任何软件的运行,都必须运行在操作系统上,而是用Java编写的代码可以运行在任何操作系统之上,这个特性就是Java语言的跨平台性。这个特性是JVM实现的,我们编写的程序运行在JVM上,JVM运行在操作系统上。
- 注意:Java的虚拟机本身不具备跨平台的功能,每个操作系统下都有不同版本的虚拟机
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-V0TausT0-1686187348309)(photo/JavaSE01_初识Java.assest/1663598383289.png)]
2.3 JDK的下载安装
下载
官网:http://www.oracle.com (下载期间可以免费注册ORACLE账号)
注意:安装路径不建议出现空格以及中文路径
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Vw7PTdZf-1686187348310)(photo/JavaSE01_初识Java.assest/1663634395378.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YpKqgDCD-1686187348310)(photo/JavaSE01_初识Java.assest/1663634499349.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-W6uGsvJo-1686187348310)(photo/JavaSE01_初识Java.assest/1663634556613.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-T9JhHIna-1686187348311)(photo/JavaSE01_初识Java.assest/1663634636667.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Aa7J3Yxw-1686187348311)(photo/JavaSE01_初识Java.assest/1663634702312.png)]
安装
-
1、 双击下载下来的安装文件,
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PNlqj07k-1686187348311)(photo/JavaSE01_初识Java.assest/1663652338944.png)] -
2、 选择安装路径,也可以默认安装。
注意:如果更改路径最好不要放在中文或者带空格的目录下
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-u7QsEGdy-1686187348312)(photo/JavaSE01_初识Java.assest/1663652312566.png)]
-
3、 点击下一步就开始安装了,直到安装完成,点击关闭
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QHhuQMWU-1686187348312)(photo/JavaSE01_初识Java.assest/1663652410428.png)]
2.4 JDK环境变量的配置
1、第一步:此电脑–右键–属性—系统高级设置
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xM60WM71-1686187348313)(photo/JavaSE01_初识Java.assest/1663634846621.png)]
2、第二步:环境变量
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vWP38Jig-1686187348314)(photo/JavaSE01_初识Java.assest/1663636530927.png)]
第三步:系统变量
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cc4pS7Jk-1686187348314)(photo/JavaSE01_初识Java.assest/1663636565140.png)]
第四步:配置环境变量
-
1、 新建系统变量
变量名:JAVA_HOME
变量值:(自己电脑上的jdk路径)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8Ja3bYxn-1686187348315)(photo/JavaSE01_初识Java.assest/1663636607882.png)]
-
2、 新建系统变量
变量名:CLASSPATH
变量值: .;%JAVA_HOME%\bin;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RSKNNRFn-1686187348315)(photo/JavaSE01_初识Java.assest/1663636630413.png)]
-
3、 修改环境变量:找到系统变量中已经存在的Path变量,双击打开
变量值: %JAVA_HOME%\bin
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8suOIT0f-1686187348315)(photo/JavaSE01_初识Java.assest/1663636767916.png)]
第五步:测试环境变量是否生效
-
1、 快捷键Win+R或直接在电脑左下角搜索栏输入cmd打开命令提示符
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-H6SWiZEo-1686187348316)(photo/JavaSE01_初识Java.assest/1663651527209.png)] -
2、 分别输入java,javac,java -version 如果出现以下结果,表示jdk安装成功
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7sAF89WH-1686187348316)(photo/JavaSE01_初识Java.assest/1663651562354.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-q4hsWhsK-1686187348316)(photo/JavaSE01_初识Java.assest/1663651721743.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ftvzkJxo-1686187348316)(photo/JavaSE01_初识Java.assest/1663651658427.png)]
第三章:HelloWorld-入门程序
3.1 程序开发步骤
Java开发程序三步骤:编写、编译、运行
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1FY6dyMI-1686187348317)(photo/JavaSE01_初识Java.assest/1663651942768.png)]
3.2 入门程序源代码编写
-
1、打开编辑器工具IDEA,File–New–Project–Java–项目名称(字母小写)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TlGJV3Vy-1686187348317)(photo/JavaSE01_初识Java.assest/1663653489231.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DV5P1bQj-1686187348317)(photo/JavaSE01_初识Java.assest/1663653595986.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tcwnptqy-1686187348318)(photo/JavaSE01_初识Java.assest/1663653646741.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eUM67JfZ-1686187348318)(photo/JavaSE01_初识Java.assest/1663653747962.png)]
-
2、创建类 src–右键New–class–类名称(首字母大写)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sXAfRE0c-1686187348318)(photo/JavaSE01_初识Java.assest/1663653981457.png)] -
3、编写程序
/**
* 第一个Java程序
*/
//public class后面代表定义一个类的名称,类是Java当中所有源代码的基本组织单位
public class HelloWorld {
//第二行的内容是亘古不变的写法,代码程序的入口函数,即main方法
public static void main(String[] args) {
System.out.println("Hello World!!!");
}
}
3.3 Java源代码编译
Java代码编译是由Java源码编译器来完成,即将 xxx.java源代码编译成xxx.class文件
流程图如下所示:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-io1VqMtE-1686187348319)(photo/JavaSE01_初识Java.assest/1663823520942.png)]
3.4 Java程序运行
Java 程序的运行必须经过编写、编译和运行 3 个步骤:
1、编写:是指在 Java 开发环境中进行程序代码的输入,最终形成后缀名为 .java 的 Java 源文件。
2、编译:是指使用 Java 编译器对源文件进行错误排査的过程,编译后将生成后缀名为 .class 的字节码文件,
3、运行:是指使用 Java 解释器将字节码文件翻译成机器代码,执行并显示结果。
3.5 Java注释用法
-
什么是Java注释
java注释是不会被编译器和解释器执行的语句。 注释可以用于提供关于变量,方法,类或任何语句的信息或解释。 它也可以用于在特定时间隐藏程序代码。 -
在Java中有3种类型的注释。它们分别如下 -
单行注释、多行注释、文档注释
-
1、单行注释
(1)符号: //
(2)注释范围:从符号 “ // ” 开始,到本行结束
(3)快捷键 “ Ctrl + / ” (Ctrl 和 / 的组合):
(4)选中要注释的内容,按 “ Ctrl + / ”,便可“同时单行注释多行内容”。
(若想多个同个取消,则选中“以及单行注释过的内容”,再次按Ctrl+/ 组合键即可同时取消多个单行注释) -
2、多行注释
(1)符号:/* */
(2)注释范围:从左边“ /* ” 开始,到右边 “ */ ”结束
(3)快捷键 “ Ctrl + shift + / ” (Ctrl 、Shift 和 / 的组合)
选中要注释的内容,按 “ Ctrl + shift + / ”,便可用多行注释的方法注释选中的内容。 -
3、文档注释
(1)符号:/** */
(2)注释范围:一般用在函数前面,Java编译器会自动读取邻近函数体中的关键变量等要素,
辅助开发人员进行“函数”说明。
(3)使用方法:在要进行文档注释的函数前面一行输入“ /** ”(一个 “ / ”和两个“ ** ”),**
之后按回车即可,Java编译器会自动提取。
3.6 Java关键字
-
什么是Java关键字?
Java 语言中有一些具有特殊用途的词被称为关键字。 -
Java中常用的关键字
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IIIpfw7r-1686187348319)(photo/JavaSE01_初识Java.assest/1663822760328.png)]
-
Java关键字的含义
关键字 含义 abstract 表明类或者成员方法具有抽象属性 assert 用来进行程序调试 boolean 基本数据类型之一,布尔类型 break 提前跳出一个块 byte 基本数据类型之一,字节类型 case 用在switch语句之中,表示其中的一个分支 catch 用在异常处理中,用来捕捉异常 char 基本数据类型之一,字符类型 class 类 const 保留关键字,没有具体含义 continue 回到一个块的开始处 default 默认,例如,用在switch语句中,表明一个默认的分支 do 用在do-while循环结构中 double 基本数据类型之一,双精度浮点数类型 else 用在条件语句中,表明当条件不成立时的分支 enum 枚举 extends 表明一个类型是另一个类型的子类型,这里常见的类型有类和接口 final 用来说明最终属性,表明一个类不能派生出子类,或者成员方法不能被覆盖,或者成员域的值不能被改变,用来定义常量 finally 用于处理异常情况,用来声明一个基本肯定会被执行到的语句块 float 基本数据类型之一,单精度浮点数类型 for 一种循环结构的引导词 goto 保留关键字,没有具体含义 if 条件语句的引导词 implements 表明一个类实现了给定的接口 import 表明要访问指定的类或包 instanceof 用来测试一个对象是否是指定类型的实例对象 int 基本数据类型之一,整数类型 interface 接口 long 基本数据类型之一,长整数类型 native 用来声明一个方法是由与计算机相关的语言(如C/C++/FORTRAN语言)实现的 new 用来创建新实例对象 package 包 private 一种访问控制方式:私用模式 protected 一种访问控制方式:保护模式 public 一种访问控制方式:共用模式 return 从成员方法中返回数据 short 基本数据类型之一,短整数类型 static 表明具有静态属性 strictfp 用来声明FP_strict(单精度或双精度浮点数)表达式遵循IEEE 754算术规范 super 表明当前对象的父类型的引用或者父类型的构造方法 switch 分支语句结构的引导词 synchronized 表明一段代码需要同步执行 this 指向当前实例对象的引用 throw 抛出一个异常 throws 声明在当前定义的成员方法中所有需要抛出的异常 transient 声明不用序列化的成员域 try 尝试一个可能抛出异常的程序块 void 声明当前成员方法没有返回值 volatile 表明两个或者多个变量必须同步地发生变化 while 用在循环结构中
3.7 Java标识符
- 标识符:是指在程序中,我们自己定义的内容,如:类的名称,方法的名称,变量的名称
- 命名规则
1、标识符可以包含26个英文字母,区分大小写,0-9数字,$美元符号,_下划线
2、标识符不能以数字开头
3、标识符不能是关键字 - 命名规范:
1、类名称:首字母必须大写,后面每个单词首字母必须大写—大驼峰格式
2、方法名称:首字母小写,后面的每个单词首字母大写—小驼峰格式
3、变量名称:同上方法名称一样
第四章:常量
4.1 常量概述
常量:是指在Java程序运行期间固定不变的数据
4.2 常量分类
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FKjH6LhO-1686187348320)(photo/JavaSE01_初识Java.assest/1663557700754.png)]
1、字符串常量:凡是用双引号引起来的部分,称为字符串常量。如:“abc”、“hello”、“ccc”
2、整数常量:直接写上的数字,没有小数点。如:20、100、0、-160
3、浮点数常量:直接写上的数字,有小数点。如:3.14 、1.5、 -2.1、0.0
4、字符常量:凡是用单引号引起来的单个字符,称为字符常量。如:‘a’、‘A’、‘国’、‘6’
5、布尔常量:有两种取值,即true和false
6、空常量:null,表示没有任何数据
4.3 常量练习
public class ConstDemo {
public static void main(String[] args) {
//字符串常量:
System.out.println("abc");
System.out.println("");//字符串两个双引号中间的内容为空
System.out.println("QWE");
//整数常量
System.out.println(100);
System.out.println(-30);
//浮点数常量
System.out.println(3.14);
System.out.println(-2.0);
//字符常量
System.out.println('A');
System.out.println('1');
System.out.println('中');
//System.out.println('');//两个单引号中间有且只有一个字符,没有不可以
//System.out.println('中国');//两个单引号中间有且只有一个字符,不可以出现两个
//布尔常量
System.out.println(true);
System.out.println(false);
//空常量
//System.out.println(null);//空常量不能用来打印输出
}
}
第五章:变量&数据类型
5.1 变量的概述
常量:是固定不变的数据,
变量:是指在Java程序运行期间可以改变的数据
程序中,可以使用字符代替数字进行运算,如:x=1+2,y=2+5
程序中,可以使用字母保存数字的方式进行运算,提高计算效果,可以解决诸多问题,如:x可以保存3,也可以保存4,这 样x保存的数据是可以改变的,其中x也就是我们说的变量。变量好比一个容器,每次可以在容器中存放一个数 据,供程序使用。
Java中要求,每一个变量每次只能保存一个数据,必须要明确保存的数据类型
5.2 数据类型
数据类型分类
Java的数据类型分为两大类:
- 基本数据类型:整数型、浮点型、字符型、布尔型
- 引用数据类型:类、数组、接口、字符串
Java的基本数据类型
四类八种数据类型:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1iGgSxQO-1686187348320)(photo/JavaSE01_初识Java.assest/1663562625496.png)]
Java中的默认数据类型:整数型是int,浮点型是double
5.3 变量的定义
格式一:分步骤
数据类型 变量名称; //创建一个变量
变量名称 = 数据值; //赋值。等号的作用:将右边的数据值赋值给左边的变量
格式二:一步到位
数据类型 变量名称 = 数据值; //创建一个变量的同时,立即放入指定的数据值
5.4 变量和数据类型练习
/**
* 变量的练习
*/
public class VariableDemo {
public static void main(String[] args) {
/*
变量:程序运行期间,内容发生改变的量,称之为变量
创建变量使用的格式:
格式一:
数据类型 变量名称; //创建一个变量
变量名称 = 数据值; //赋值。等号的作用:将右边的数据值赋值给左边的变量
格式二:创建一个变量的同时,立即放入指定的数据值
数据类型 变量名称 = 数据值;
*/
//格式一:分步骤
//创建一个变量
//格式:数据类型 变量名称;
int num1;
//向变量中存放一个数据值
//格式:变量名称 = 数据值;
num1 = 20;
//打印输出num1变量中存放的数据值,当打印输出变量的名字的时候,输出的是变量的内容
System.out.println(num1);//20
//修改变量中的值
num1 = 33;
System.out.println(num1);//33
//格式二:一步到位
//使用一步到位的格式来定义变量
//格式:数据类型 变量名称 = 数据值;
int num2 = 50;
System.out.println(num2);//50
//修改变量的值
num2 = 55;
System.out.println(num2);//55
//byte类型
byte num4 = 22;
System.out.println(num4);//22
//byte num5 = 156;报错,注意:等号右边的数据值,不能超过等号左边变量数据类型的取值范围
//short类型
short num6 = 33;
System.out.println(num6);//33
//long类型
long num7 = 100000000000L;//long类型的数据值后缀需要加大写L或者小写l。推荐使用大写L
System.out.println(num7);//100000000000
//浮点型
float num8 = 2.1F;//float类型的数据值后缀需要加大写F或者小写f,推荐使用大写F
System.out.println(num8);//2.1
double num9 = 3.14;//浮点型的默认类型是double类型
System.out.println(num9);//3.14
//char类型
char c1 = 'a';
System.out.println(c1);//a
//boolean类型
boolean b1 = true;
System.out.println(b1);//true
//修改变量b1的值
b1 = false;
System.out.println(b1);//false
//变量值的传递
boolean b2 = b1;
System.out.println(b2);//false
/*
注意事项:
1、等号右侧的数据值的范围不能超过等号左侧数据类型的取值范围
2、对于long和float类型。数据值的后缀需要添加L和F
3、变量名称不能重复
*/
}
}
5.5 变量注意事项
- 1 字符串类型不是基本数据类型,是引用数据类型。
- 2 浮点型可能只是一个近似值,不是精确的值。
- 3 数据范围与字节数不一定相关,如float类型比long类型的数据范围更大,但float是4字节,long是8字节。
- 4 浮点数中默认类型是double,如果一定要使用float,则需要在后缀加一个F,(大写F和小写都可以,推荐使用大写F)。
- 5 整数中默认使用int类型,如果一定要使用long类型,则需要加上一个后缀L,(大写L和小写l都可以,推荐使用大写L)
ut.println(b1);//false
//变量值的传递
boolean b2 = b1;
System.out.println(b2);//false
/*
注意事项:
1、等号右侧的数据值的范围不能超过等号左侧数据类型的取值范围
2、对于long和float类型。数据值的后缀需要添加L和F
3、变量名称不能重复
*/
}
}
## 5.5 变量注意事项
- 1 字符串类型不是基本数据类型,是引用数据类型。
- 2 浮点型可能只是一个近似值,不是精确的值。
- 3 数据范围与字节数不一定相关,如float类型比long类型的数据范围更大,但float是4字节,long是8字节。
- 4 浮点数中默认类型是double,如果一定要使用float,则需要在后缀加一个F,(大写F和小写都可以,推荐使用大写F)。
- 5 整数中默认使用int类型,如果一定要使用long类型,则需要加上一个后缀L,(大写L和小写l都可以,推荐使用大写L)