day01_Java基础

课程目标

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

一.Java语言概述

Java语言发展史

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

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

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

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

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代码即可,不用关注,平台。

图解

总结

​ 因为有了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 之间的关系

总结

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

为什么学习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拿过来使用。

配置步骤

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

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

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

测试开发环境

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

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


四.HelloWorld

Java程序开发运行流程

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

1.编写源程序

2.编译程序

3.运行程序

编程语言:

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

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

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 目录 -authro -version 类.java

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

5.2关键字

什么是关键字

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

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

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

5.3 数值输出

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

5.3数据类型*

计算机存储单元

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

存储单位换算

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

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

Java中的数据类型

  • 为什么有数据类型

    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.大括号都是成对出现的,缺一不可。

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类,则文件名必须和类名保持一致。

JAVAEE工程师入门技术之第1课day01_Java基础语法HelloWorld相关推荐

  1. [肖哥]网络工程师入门技术-玩转 win10版视频教程-肖宗鹏-专题视频课程

    [肖哥]网络工程师入门技术-玩转 win10版视频教程-5283人已学习 课程介绍         网络工程师入门技术-玩转 win10视频培训教程,网工基础Windows系统的常识.vmware虚拟 ...

  2. 第二课.C++基础语法

    编程语言的层次和类型 1.机器语言:字节码,汇编语言:发明了字节码对应的助记符,但依然很难,涉及底层,要操作寄存器: 2.编译型语言:C,C++,易于移植,提高了开发效率: 3.解释型语言:Pytho ...

  3. python逻辑表达式3+45and_python入门到精通(一)| python基础语法与各种运算符的使用...

    一.python中的基础语法 1.输入语句 input 格式:变量=input("输入提示信息") 功能:从键盘上输入一行文本信息到变量中,可以强转为各种数据类型. 案例: x=i ...

  4. 【python零基础入门学习】Python入门,带你快速学习Python 基础语法

    ython 语言与 Perl,C 和 Java 等语言有许多相似之处.但是,也存在一些差异. 在本章中我们将来学习 Python 的基础语法,让你快速学会 Python 编程. 第一个 Python ...

  5. python_第一节课_python基础语法

    """ ================== Authon:zhao Time: 2022/6/11 12:38 Project: web_study ========= ...

  6. 前端技术学习第三讲:JavaScript基础语法

    JavaScript基础语法 JavaScript(简称"JS") 是一种具有函数优先的轻量级,解释型或即时编译型的编程语言.虽然它是作为开发Web页面的脚本语言而出名,但是它也被 ...

  7. Linux运维工程师入门第一课-赵永刚-专题视频课程

    Linux运维工程师入门第一课-75人已学习 课程介绍         本课程包含许多工作中会遇到的问题及解决方案,解决大家工作当中遇到的问题.非常适合刚刚入门的同学来学习linux基础入门. 本课程 ...

  8. 视频教程-Kali Linux渗透测试基础入门到进阶实战全程课-渗透测试

    Kali Linux渗透测试基础入门到进阶实战全程课 本人有多年的服务器高级运维与开发经验,擅长计算机与服务器攻防及网络攻防技术!对网络安全领域有持续的关注和研究! 林晓炜 ¥499.00 立即订阅 ...

  9. 【笔记-java】java工程师-入门必学

    路径 目录 子目录 重点 课程名 备注 java工程师 入门必学 语法基础 环境搭建.开发工具使用.基础语法 java入门第一季 面向对象 继承.封装.多态 java入门第二季 常用工具类 异常.字符 ...

最新文章

  1. mysql 主从同步不一致_MySQL 主从同步延迟的原因及解决办法
  2. Flutter Web实战项目打造真正跨平台应用(windows,android,ios,linux,macos,web)
  3. 双十一!教你用Python感知女朋友的情绪变化?
  4. Spark2内存调优总结 - 内存划分 与 内存计算 与 调参方式
  5. [html] url、href、src 详解
  6. How To Deploy OpenShift Container Platform 4.8 on KVM
  7. pytorch的索引与切片
  8. ‘grep‘ 不是内部或外部命令,也不是可运行的程序或批处理文件-adb shell ps | grep ***
  9. [Vue] : Vue实例的声明周期
  10. 教新人如何压制AVI和RMVB(教程及下载)
  11. 人力资源管理学习网站推荐
  12. 【Axure原型】新闻资讯客户端APP原型 今日头条同类APP实战原型
  13. 网络工程师面试真题——ACL与IP Prefix的区别
  14. ARP攻击实战以及防御手段
  15. word插入图片被文字挡住
  16. 2021-08-18 HarmonyOS实战 CommonDialog的使用
  17. [UE4]Viewport中摄像机镜头缩放速度修改
  18. hisat2-build
  19. 如何鉴别虚拟主机好坏
  20. 周杰伦出道20周年,相关.fans域名等你来抢注~

热门文章

  1. spring接管mybatis
  2. 实施化工厂人员定位的原因详解--新导智能
  3. 【html】svg标签
  4. leetcode day 2 【1905. 统计子岛屿】 BFS/DFS
  5. IPTV和OTT概念,这几个你必须知道
  6. 摩托车头盔防护膜—给你不一样的安全感
  7. 《信息物理融合系统(CPS)设计、建模与仿真——基于 Ptolemy II 平台》——1.7 时间模型...
  8. 【软考-中级】系统集成项目管理工程师-【1信息化知识】
  9. 基于CUDA的N-Body问题并行程序设计及性能优化
  10. 手机屏分几种?什么叫水滴屏、刘海屏、瀑布屏、全面屏?