day01_Java基础

时间:2022-12-22 21:56:10

day01_Java基础

课程目标

1. 【了解】Java语言发展史                          
2. 【理解】Java语言平台版本
3. 【理解】Java语言特点
4. 【理解】JRE与JDK
5. 【掌握】Java开发环境搭建
6. 【掌握】第一个Java程序
7. 【掌握】注释
8. 【理解】关键字/标识符 

一.Java语言概述

Java语言发展史

Java之父:詹姆斯·高斯林(James Gosling)

day01_Java基础

1977年获得了加拿大卡尔加里大学计算机科学学士学位,1983年获得了美国卡内基梅隆大学计算机科学博士学位,毕业后到IBM工作,设计IBM第一代工作站NeWS系统,但不受重视。后来转至Sun公司,1990年,与Patrick,Naughton和Mike Sheridan等人合作“绿色计划”,后来发展一套语言叫做“Oak”,后改名为Java。

day01_Java基础

从Java9这个版本开始,Java 的计划发布周期是6个月。这意味着Java的更新从传统的以特性驱动的发布周期,转变为以时间驱动的发布模式,并逐步的将Oracle JDK原商业特性进行开源。

理念:小步快跑,快速迭代。后面周期变短,对之前的东西固定下来保存下来抛弃一些,版本趋于稳定,更新内容新特性就少。使用者就像小白鼠,我们相当于测试了,有一些功能优缺点进行测试和反馈,测试完它就改动,他掌握用户需求就可以改。针对企业客户的需求,Oracle将以三年为周期发布长期支持版本LTS(long term support)。

Java语言平台版本

  • JavaSE(Java Platform Standard Edition)标准版

    是为开发普通桌面和商务应用程序提供的解决方案 该技术体系是其他,可以完成一些桌面应用程序的开发两者的基础

  • JavaME(Java Platform Micro Edition)小型版

    是为开发电子消费产品和嵌入式设备提供的解决方案,已经被安卓 IOS所代替。

  • ==JavaEE(Java Platform Enterprise Edition)企业版==

    是为开发企业环境下的应用程序提供的一套解决方案

从Java的应用领域来分,Java语言的应用方向主要表现在以下几个方面:

企业级应用:主要指复杂的大企业的软件系统、各种类型的网站。J应用领域包括金融、电信、交通、电子商务等。 Android平台应用:Android应用程序使用Java语言编写。Android开发水平的高低很大程度上取决于Java语言核心能力是否扎实。 大数据平台开发:大数据深度挖掘、大数据开发工程师、大数据分析师都需要有。 移动领域应用:主要表现在消费和嵌入式领域,是指在各种小型设备上的应用,包括手机、PDA、机顶盒、汽车通信设备等。

<img src="asseits/image-20221127212954713.png" alt="image-20221127212954713" style="zoom:67%;" />

Java语言特点

简单性 ==面向对象== 分布式
==可移植性(跨平台)== 多线程 动态性
健壮性|鲁棒性robot* 安全性 ==开源==

Java跨平台

什么是平台

​ 通过Java语言编写的应用程序在不同的系统平台上都可以运行,平台这里指的是操作系统。Windows、Linux、MACOS,一般常用的就是这三类。

跨平台的原理

​ Java 有一句非常著名的口号: Write once, run anywhere,也就是一次编写、到处运行。为什么 Java 能够吹出这种牛批的口号来?核心就是 JVM

只要在需要运行java应用程序的操作系统上,先安装一个Java虚拟机(==JVM== Java Virtual Machine)即可。由JVM来负责Java程序在该系统中的运行。

虚拟机的概念,就类似于翻译,将java程序翻译成虚拟机可以理解的语言、理解的指令;jvm软件,这个软件可以执行java程序。程序员只需要关注写java代码即可,不用关注,平台。

图解

day01_Java基础

总结

​ 因为有了JVM,所以同一个Java程序在三个不同的操作系统中都可以执行。这样就实现了Java程序的可移植性。也称为Java具有良好的跨平台性。

JDK、JRE、JVM

  • ==JDK(Java Development Kit Java开发工具包)==

    JDK是提供给Java开发人员使用的,其中包含了java的开发工具,也包括了JRE。所以安装了JDK,就不用在单独安装JRE了。
    其中的开发工具:编译工具(javac.exe) 执行工具(java.exe) 打包工具(jar.exe)等.
    这个是程序员用的。
    
  • ==JRE(Java Runtime Environment Java运行环境)==

    包括Java虚拟机(JVM Java Virtual Machine)和Java程序所需的核心类库(扬了扬 跑 输出,系统命令)等,如果想要运行一个开发好的Java程序,计算机中只需要安装JRE即可。程序|游戏,运行,需要JRE。
    这个是程序|游戏,需要的。
    
  • ==JVM(Java Virtual Machine Java虚拟机)==

    整个java实现跨平台的最核心的部分,保证程序的跨平台性,以及编译执行写好的java程序!
    

    总结

    使用JDK开发完成的java程序,交给JRE去运行。由jvm保证跨平台性。

JDK、JRE、JVM 之间的关系

day01_Java基础

总结

JDK 包含JRE JRE包含JVM ,开发中我们只需要安装JDK即可!

JDK的下载安装

下载JDK

通过官方网站获取JDK http://www.oracle.com

==注意:针对不同的操作系统,需要下载对应版本的JDK==

https://www.oracle.com/java/technologies/downloads/

安装JDK

傻瓜式安装,下一步即可。但默认的安装路径是在C:\Program Files下,为方便统一管理建议修改安装路径,将与 开发相关的软件都安装到一个目录下,例如:E:\develop。 ==注意:安装路径不要包含中文或者空格等特殊字符(使用纯英文目录)。==

二.DOS命令

计算机功能键

tab shift alt 空格
enter window 上下左右 26字母
数字键 删除键 ctrl

快捷键

全选 ctrl + A 复制 ctrl + c 粘贴 ctrl + v
剪切 ctrl + x 撤销 ctrl + z 保存ctrl + s
打开所有磁盘 window + e 最小化当前所有窗口 window +d 切换程序 alt + tab / window + tab
打开运行窗口 window + r

<img src="asseits/image-20221128102622447.png" alt="image-20221128102622447" style="zoom:80%;" />

为什么学习DOS命令

在接触集成开发环境之前,我们需要使用命令行窗口对java程序进行编译和运行,所以需要知道一些常用DOS命令。也为以后学习Linux等其他内容做一些准备!

如何打开DOS命令窗口

打开命令行窗口的方式:

  • win + r 打开运行窗口,输入cmd,回车。
  • 点击win窗口图标,输入cmd,选择命令提示符

常用的DOS命令

D: 盘符切换
dir 查当当前目录
md 创建目录(计算机中只有目录(文件夹)和文件)
rd 删除目录(只能删除空目录),有文件,先删除文件。
echo > a.txt 创建文件
del 删除文件
cd 指定进行目录 (change directory:改变目录)
cd.. 退回上一级目录
cd\ 退回当前盘符的根目录
cls 清屏
calc 打开计算器
notepad 打开记事本
control 打开控制面版
services.msc 打开服务
exit 退出dos

三.环境搭建

配置开发环境

为什么配置环境变量

开发Java程序,需要使用JDK提供的开发工具(比如javac.exe、java.exe等命令),而这些工具在JDK的安装目录的 bin目录下,如果不配置环境变量,那么这些命令只可以在该目录下执行。我们不可能把所有的java文件都放到JDK 的bin目录下,所以配置环境变量的作用就是可以使bin目录下的java相关命令可以在任意目录下使用。

*说白了:就是文件的路径信息。

java拿过来使用。

配置步骤

首先右键==【此电脑】==---> 选择==【属性】==---> 点击左侧的==【高级系统设置】== ---> 点击==【环境变量】==---> 在下方的==【系统变量】==中点击==【新建】==

<img src="assets/image-20200922165042212.png" alt="image-20200922165042212" style="zoom: 67%;" />

新建变量名为==【JAVA_HOME】==,变量值我们点击==【浏览目录】==,选择jdk的安装路径jdk1.8.0_121文件夹 然后点击==【确定】==

<img src="assets/image-20200922165306433.png" alt="image-20200922165306433" style="zoom:67%;" />

找到path路径中写 %JAVA_HOME%\bin; ,放在最前面,不要忘了加英文的分号

<img src="assets/image-20200922170053693.png" alt="image-20200922170053693" style="zoom:67%;" />

测试开发环境

通过javac和java命令验证 注意 :如果提示 ==javac不是内部或者外部命令==,原因是path配置错误, 重新按照上一步的步骤进行配置即可!

避免C:\WINDOWS\system32出现所有名字以java开头的文件,有,删之; ==注意 :jdk不要安装在带中文的路径下,最好也是不包含空格字符的英文路径;==

day01_Java基础

day01_Java基础

四.HelloWorld

Java程序开发运行流程

开发Java程序,需要三个步骤:

1.编写源程序

2.编译程序

3.运行程序

编程语言:

编译型语言,解释型语言;比如说,一本书:《西游记》,日本人,美国人、德国人,找个翻译,翻译形成一个书籍、视频加字母(配音),形成日语版西游记、英语班、德语版。编译型语言,最终会有结果文件的生产。java,好处 快 ,由于生了可被利用的文件。

解释性语言:会谈,翻译,类似于同声翻译,需要一句一句的解释一下。没有响应的文件生产。js,简单、方便,随意。

day01_Java基础

javac编译: 编译是你java源文件中语法(检查你的语法是否正确)

java运行: 运行是的你编译之后的字节码文件;
.class 字节码程序是虚拟机直接运行的。

编写HelloWorld程序

新建文本文档文件,修改名称为HelloWorld.java

用记事本打开HelloWorld.java文件,输写程序内容

class HelloWorld {
	public static void main(String[] args) {
		System.out.println("HelloWorld");
	}
}

HelloWorld案例的编译和运行

编译:javac 文件名.java
范例:javac HelloWorld.java
////////////////////////////////////////////////////////////////////
执行:java 类名
范例:java HelloWorld

HelloWorld常见问题

  1. ==大小写问题。Java语言对大小写敏感(区分大小写)==
  2. ==非法字符问题。Java中的符号都是英文格式的==
  3. ==在系统中显示文件的扩展名,避免出现HelloWorld.java.txt文件==
  4. ==编译命令后的java文件名需要带文件后缀.java==
  5. ==运行命令后的class文件名(类名)不带文件后缀.class==

Notepad++软件的安装和使用

为什么要使用Notepad++软件

Notepad++功能比windows中的自带记事本功能强大,除了可以用来制作一般的纯文字说明文件,也十分适合编写计算机程序代码。Notepad++有行号,能够快速定位问题位置,还有语法高亮度显示、代码折叠等功能。而且它是免费的。

Notepad++软件安装

安装:傻瓜式安装,一直下一步即可。建议也安装到统一的开发软件目录下,比如E:\develop。
具体安装步骤请参见《Nodepad++软件安装及配置说明》文档。

Notepad++软件配置

安装完毕之后,为了使用方便,做一个简单的配置:修改默认语言和编码。
具体配置的说明请参见《Nodepad++软件安装及配置说明》文档。

五.Java基础语法

5.1注释

什么是注释

注释是对代码的解释和说明文字,可以提高程序的可读性,因此在程序中添加必要的注释文字十分重要。

注释的分类

  • 单行注释

    单行注释的格式是使用//,从//开始至本行结尾的文字将作为注释文字

    // 这是单行注释文字
    
  • 多行注释

    多行注释的格式是使用/* 和 */将一段较长的注释括起来

    /*
    这是多行注释文字
    这是多行注释文字
    这是多行注释文字
    */
    // 注意:多行注释不能嵌套使用。
    
  • 文档注释(面象对象时用,此次了解即可)

    文档注释以/**开始,以*/结束

javadoc -d 目录 -author -version 类.java

语法:-d 表示生成的目录;后期做项目,需要生成项目的帮助文档,可以使用这个;

/**
   这是文档注释的内容
*/

5.2关键字

什么是关键字

就是java系统提供的专有的单词,特定使用。像我们国家政权机关的:税务局、工商局、*局,自己创业的时候不可能,开设一个公司叫xx市税务局,也不会批下来。避讳:观音菩萨,观世音菩萨,唐代,观音菩萨;

定义:被Java语言赋予了特殊含义,用做专门用途的字符串(单词) 特点:关键字中所有字母都为小写,50个;46;-4;-8

我们下面定义变量、类、接口名、方法名的时候,不能和关键字一样(重名)。

官方:https://docs.oracle.com/javase/tutorial/java/nutsandbolts/_keywords.html

day01_Java基础

5.3 数值输出

信息社会-->信息--》数据--》数值;

数据社会,数据都来源于现实世界,镜像之后-》信息-》数据。凡是可以数据化的,一定可以IT化。

数据类型 名称 值;这三项构成数值信息;

5.3数据类型*

计算机存储单元

我们知道计算机是可以用来存储数据的,但是无论是内存还是硬盘,计算机存储设备的最小信息单元叫“位(bit)”,我们又称之为“比特位”,通常用小写的字母”b”表示。而计算机中最基本的存储单元叫“字节(byte)”
通常用大写字母”B”表示,字节是由连续的8个位组成。1byte:8bit;bit就是计算机的二进制01代码。

存储单位换算

除了字节外还有一些常用的存储单1位,其换算单位如下 ;抖音:字节跳动;

把自己的手机卡,取下来,看下手机卡的存储空间。为什么手机卡不能放一个美国超级大片1G?

1B(字节)= 8bit(位)
1KB = 1024B yte
1MB = 1024KB
1GB = 1024MB
1TB = 1024GB 
1PB = 1024TB
1EB = 1024PB

Java中的数据类型

  • 为什么有数据类型

    Java是一个强类型语言,对每一种数据都规定了范围.

  • 数据类型的分类

    day01_Java基础

  • 基本数据类型

    day01_Java基础

  • 注意

    ==e+38表示是乘以10的38次方,同样,e-45表示乘以10的负45次方。==

    ==在java中整数默认是int类型,浮点数默认是double类型==

    测试案例在讲完变量的时候,写代码测试。

5.4变量

什么是变量

类似于数学中的未知数x、y、z;

本质是内存中的一块空间,这块空间包含“数据类型”、“名字”、"数值信息";

用于在内存中保存数据

变量的使用步骤:

1.先声明

* 语法:数据类型  变量名;变量名要见名知意,定义这个变量一眼可以知道设么含义。
* 案例:int age; char type;boolean hunfou;float shengao;

2.后复制

  • 语法:变量名=值; =是赋值运算符,注意;表示右边的值 ,赋值给左边的变量,类似于x=2;
  • 案例: age=22;type='A';

---*************

升级格式二:

3.声明的时候赋值

  • 语法:数据类型 变量名=值;
  • 案例: int age=18;

升级格式三:

4.声明多个,可以将变量名,以逗号“,”隔开

  • 语法: 数据类型 变量名=值1,变量名2=值2,...n;
  • 案例:int age=22,height=18,value=89;

在同一行定义多个同一种数据类型的变量,中间使用逗号隔开

数据类型 变量名 = 值,变量名 = 值, ....;
int a = 10, b = 20; // 定义int类型的变量a和b,中间使用逗号隔开
System.out.println(a);
System.out.println(b);

int c,d; // 声明int类型的变量c和d,中间使用逗号隔开
c = 30;
d = 40;
System.out.println(c);
System.out.println(d);

变量注意事项

1. 在同一对花括号中,变量名不能重复。
2. 变量在使用之前,必须初始化(赋值)。
3. 定义long类型的变量时,需要在整数的后面加L(大小写均可,建议大写)。因为整数默认是int类型,整数太大可能超出int范围。
4. 定义float类型的变量时,需要在小数的后面加F(大小写均可,建议大写)。因为浮点数的默认类型是double, double的取值范围是大于float的,类型不兼容。

5.5标识符

什么是标识符

标识符是用户编程时使用的名字,用于给类、方法、变量、常量等命名。

标识符的组成规则(必须遵守)

​ 1.由字母、数字、下划线“_”、美元符号“$”组成,且第一个字符不能是数字。 ​ 2.不能使用java中的关键字作为标识符。 ​ 3.标识符对大小写敏感(区分大小写)。

标识符的命名规范(江湖规矩)

见名知意,我看到这个名,就知道是什么?不要定义变量a b,hehe,haha;xixi;

  • 类名

    一个单词: 首字母大写 Hello 多个单词: 每一个单词的首字母都要大写 HelloWorld (大驼峰) VarTest

  • 变量名和方法

    一个单词: 全部小写 value get()

    多个单词: 从第二个单词的首字母开始,每一个单词都要大写 maxValue getValue() (小驼峰) userName passWord

  • 一个单词: 全部小写 cn com

    多个单词: 全部小写中间用.分割 com.itfxp

    公司的域名倒着写

    www.baidu.com-->com.baidu.xxx

  • 自定义常量

    一个单词: 全部大写 MAX VALUE

    多个单词: 全部大写 中间用 _ 隔开 MAX_VALUE

5.6 编码(补充)

ASCII码:上个世纪60年代,美国制定了一套字符编码,对英语字符与二进制位之间的关系,做了统一规定。这被称为ASCII码。ASCII码一共规定了128个字符的编码,比如空格“SPACE”是32(二进制00100000),大写的字母A是65(二进制01000001)。

Unicode:一种编码,将世界上所有的符号都纳入其中。每一个符号都给予一个独一无二的编码,使用 Unicode 没有乱码的问题。

UTF-8 是在互联网上使用最广的一种 Unicode 的实现方式。UTF-8 是一种变长的编码方式。它可以使用 1-6 个字节表示一个符号,根据不同的符号而变化字节长度。

六.小结

1.Java源文件以“java”为扩展名。源文件的基本组成部分是类(class),如本例中的HelloWorld类。 2.Java应用程序的执行入口是main()方法。它有固定的书写格式: 3.public static void main(String[] args) {…} 4.Java语言严格区分大小写。 5.Java方法由一条条语句构成,每个语句以“;”结束。 6.大括号都是成对出现的,缺一不可。 7.一个源文件中最多只能有一个public类。其它类的个数不限,如果源文件包含一个public类,则文件名必须和类名保持一致。