JAVASE-Java概述与环境搭建(一)

news2024/12/26 13:32:51

文章目录

  • 一.内容摘要
  • 二.引言
    • 2.1.何为编程?
    • 2.2.什么是计算机编程语言?
    • 2.3.编程语言发展史
      • 2.3.1.打孔机
      • 2.3.2.汇编语言
      • 2.3.3.高级语言
        • 2.3.3.1.C语言
        • 2.3.3.2.C++语言
        • 2.3.3.3.PHP语言
        • 2.3.3.4. .NET语言
        • 2.3.3.5. Ruby
        • 2.3.3.6. python
        • 2.3.3.7. Java
      • 2.3.4.编程语言排行
      • 2.3.5.编程语言排行
      • 2.3.6.Java能做什么
          • 2.3.6.1.开发桌面应用程序
          • 2.3.6.2.企业内网系统-WEB应用程序
          • 2.3.6.3.企业外网系统-WEB应用程序
          • 2.3.6.4.行业软件
          • 2.3.6.5.手机APP开发
  • 三.Java语言概述
    • 3.1.Sun公司的前世今生
    • 3.2.Java语言之父
    • 3.3.Java语言的版本
    • 3.4.Java语言的版本
    • 3.5.Java的语言特点
  • 四.Java开发环境的搭建
    • 4.1.名词解释:JRE和JDK的区别
    • 4.2.安装JDK和配置环境变量
      • 4.2.1.安装JDK
      • 4.2.2.配置环境变量
        • 4.2.2.1.配置Path
        • 4.2.2.2.配置JAVA_HOME
        • 4.2.2.3.配置CLASSPATH(从jdk1.5开始,CLASSPATH不需要配置)
      • 4.2.3.验证环境变量配置是否成功
  • 五.Java程序的运行机制
  • 六.开发工具(IDE集成开发环境)
  • 七.DOS命令操作
  • 八.第一个应用程序
    • 8.1.第一个Java应用程序
    • 8.1.2.编译与运行
    • 8.2.类的阐述
  • 九.Java的语言规范
    • 9.1.编码规范(1)书写格式
    • 9.2.编码规范(2)代码注释
    • 9.3.编码规范(3)标识符命名
  • 十、Java跨平台的原理

一.内容摘要

在这里插入图片描述

二.引言

2.1.何为编程?

编程就是让计算机为解决某个问题而使用某种程序设计语言编写程序代码,并最终得到结果的过程。为了使计算机能够理解人的意图,人类就必须要将需解决的问题的思路、方法、和手段通过计算机能够理解的形式告诉计算机,使得计算机能够根据人的指令一步一步去工作,完成某种特定的任务。这种人和计算机之间交流的过程就是编程。

  • 写代码的人就是软件工程师,简程程序员,自嘲的说法码农。

2.2.什么是计算机编程语言?

  • 语言:是人与人之间用于沟通的一种方式。
    例如:中国人与中国人用中文沟通。而中国人要和韩国人交流,就要学习韩语。
  • 计算机语言:人与计算机交流的方式。如果人要与计算机交流,那么就要学习计算机语。
  • 计算机语言有很多种,如:C,C++,Java等。这里,我们选择其中的一种:Java语言
  • Java编程语言其实就是程序员使用Java这门语言告诉计算机完成特定的任务。

2.3.编程语言发展史

2.3.1.打孔机

在这里插入图片描述

在这里插入图片描述

2.3.2.汇编语言

在这里插入图片描述

2.3.3.高级语言

2.3.3.1.C语言

在这里插入图片描述

C语言是目前世界上流行、使用非常广泛的高级程序设计语言。
主要应用领域:操作系统、嵌入式开发、系统软件、游戏……

在这里插入图片描述

2.3.3.2.C++语言

在这里插入图片描述
C++是C语言的继承,它既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行以继承和多态为特点的面向对象的程序设计。
应用领域:游戏、操作系统、嵌入式开发……

2.3.3.3.PHP语言

在这里插入图片描述
主要应用领域:
Web应用、企业级应用 主要用于网站的开发

2.3.3.4. .NET语言

在这里插入图片描述

.NET是一个微软的一个战略方案。不管是B/S 还是C/S 都是面向OOP(面向对象) 和 控件开发的形式。.NET主要的优点在于快速开发,拥有丰富的类库

2.3.3.5. Ruby

在这里插入图片描述
Ruby,一种简单快捷的面向对象(面向对象程序设计)脚本语言,在20世纪90年代由日本人松本行弘(Yukihiro Matsumoto)开发。

2.3.3.6. python

在这里插入图片描述

python是一种面向对象的解释型计算机程序设计语言,由荷兰人Guido van Rossum于1989年发明,第一个公开发行版发行于1991年。

2.3.3.7. Java

Java语言一般指Java(计算机编程语言) Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。在这里插入图片描述

2.3.4.编程语言排行

在这里插入图片描述

2.3.5.编程语言排行

  • 市场需求大

在这里插入图片描述

  • 就业薪资高
    在这里插入图片描述

  • 技术天花板高
    在这里插入图片描述

2.3.6.Java能做什么

2.3.6.1.开发桌面应用程序

在这里插入图片描述

2.3.6.2.企业内网系统-WEB应用程序

在这里插入图片描述

在这里插入图片描述

2.3.6.3.企业外网系统-WEB应用程序

在这里插入图片描述

2.3.6.4.行业软件

在这里插入图片描述

2.3.6.5.手机APP开发

在这里插入图片描述
在这里插入图片描述

三.Java语言概述

3.1.Sun公司的前世今生

  • 美国SUN(Stanford University Network)公司(美国斯斯坦福大学),在中国大陆的正式中文名为“太阳计算机系统(中国)有限公司”,在中国台湾的正式中文名为“升阳电脑公司”。
  • 1982年,Sun Microsystems公司诞生于美国斯坦福大学校园。Sun公司- 1986年上市,在NASDAQ(纳斯达克,是全美证券商协会自动报价系统)的标识为SUN,2007年改为JAVA。
  • 2009年4月20日 19 点 40 分 美国数据软件巨头甲骨文公司(Oracle)20日宣布以74亿美元收购Sun公司。

在这里插入图片描述

Java是SUN(Stanford University Network,斯坦福大学网络公司)1995年推出的一门高级语言。是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。
在这里插入图片描述

3.2.Java语言之父

在这里插入图片描述

3.3.Java语言的版本

在这里插入图片描述

Java1.7或者1.6企业中饭使用最多,比较稳定!

3.4.Java语言的版本

在这里插入图片描述

3.5.Java的语言特点

  • 面向对象(贴近人类思维模式,模拟现实世界,解决现实问题)。
  • 简单性(自动内存管理机制、不易造成内存溢出;简化流程处理、语义清晰)
  • 跨平台(操作系统、服务器等)。

四.Java开发环境的搭建

4.1.名词解释:JRE和JDK的区别

在这里插入图片描述

JDK中包含JRE运行环境,开发中直接安装JDK就可以!!!

4.2.安装JDK和配置环境变量

4.2.1.安装JDK

  • JDK下载
    http://www.oracle.com/technetwork/java/javase/downloads/index.html

  • JDK有2种版本
    绿色版,解压之后就可以使用
    安装版,需要点击下一步安装

建议:安装路径不要有中文或者特殊符号如空格等。

4.2.2.配置环境变量

  • 配置环境变量

“我的电脑”(“此电脑”) -> 右键点击“属性” -> “高级系统设置”。

4.2.2.1.配置Path

配置Path的原因:
没有Path时,JDK中的javacjava等命令,只有进入到JDKbin目录下才能执行。

计算机(右键)—属性 ---- 高级系统设置----环境变量
找到系统变量中的Path 把JDK的bin目录的路径配置到Path中
C:\Program Files (x86)\Java\jdk1.7.0_07\bin

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

必须重启命令窗口,环境变量的配置才起作用!

4.2.2.2.配置JAVA_HOME

配置JAVA_HOME的作用:
1、简化Path的配置(为了以后JDK路径发生变化时,只需要修改JAVA_HOME,就不需要修改Path了)
Path的配置就可以修改成

   %JAVA_HOME%\bin

2、指定当前系统的JRE所在位置

例如: 以后会用到的Tomcat就是基于Java语言编写的服务器,在你当前的系统上想运行时,就需要找到JAVA_HOME的配置,从而找到JRE在这里插入图片描述

在这里插入图片描述

JAVA_HOME配置的值:
C:\Program Files (x86)\Java\jdk1.7.0_07

4.2.2.3.配置CLASSPATH(从jdk1.5开始,CLASSPATH不需要配置)

配置ClASSPATH的作用:
1、在执行 java这个命令时 (例如 java HelloWorld) 查找 .class 文件所在的位置
2、 当一个.class 文件 引用了JDK中的其他 .class 文件时,查找那些文件所在路径
在这里插入图片描述
在这里插入图片描述
CLASSPATH配置值:

.;C:\Program Files(x86)\Java\jdk1.7.0_07\lib\tools.jar;C:\Program Files (x86)\Java\jdk1.7.0_07\lib\dt.jar

从JDK 1.5开始,CLASSPATH不再需要手动配置的原因是因为引入了Java的模块化系统。在之前的版本中,需要通过设置CLASSPATH来指定Java虚拟机(JVM)在运行时查找类和资源文件的路径。然而,随着Java平台的发展,引入了更高级的模块化概念,例如Java模块系统(Java Module System)和Java平台模块系统(Java Platform Module System)。

这些模块化系统使得开发者可以将代码和依赖项组织为模块,而不再需要手动配置CLASSPATH。相反,模块化系统会根据模块之间的依赖关系自动解析和加载所需的类和资源。这种改变的目的是提高代码的可维护性和可扩展性,同时减少了开发者在配置和管理CLASSPATH方面的工作量。

4.2.3.验证环境变量配置是否成功

命令行中输入javac会看到一系列的提示,表示安装成功!!!

在这里插入图片描述

  • Windows键 + R 快捷呼出运行窗口。
  • 再输入cmd并回车打开DOS命令窗口。

五.Java程序的运行机制

在这里插入图片描述
.java的文件为Java的源文件扩展名
.class的文件为Java的字节码文件,需要通过javac命令编译得到!
字节码文件不能够人工读取!

  • 编译的语法格式: javac 源文件名.java
  • 执行字节码文件语法: java 文件名

六.开发工具(IDE集成开发环境)

  • 记事本、Notepad++、EditPlus … 文本编辑工具
    在这里插入图片描述

  • eclipse 庞大,免费,功能强
    在这里插入图片描述

  • IDEA
    在这里插入图片描述

七.DOS命令操作

  • Windows键 + R 快捷呼出运行窗口。
  • 再输入cmd并回车打开DOS命令窗口。

在这里插入图片描述
常用DOS命令:

  • 更换盘符: d:
  • 查看当前目录下的文件及文件夹:dir
  • 进入文件夹: cd 文件夹的名字
  • 返回上一级目录:cd …
  • 清空屏幕:cls
  • 删除文件:del 文件名
  • 删除文件夹:rd 文件夹名称
  • 退出: exit

八.第一个应用程序

8.1.第一个Java应用程序

创建以 .java 结尾的源文件:
在这里插入图片描述

编写第一个程序:
在这里插入图片描述

8.1.2.编译与运行

编译:javac 源文件名称 .java
在这里插入图片描述
运行:java 类名
在这里插入图片描述

8.2.类的阐述

  • 同一个源文件中可以定义多个类。
  • 编译后,每个类都会生成独立的 .class文件。
  • 一个类中,只能有一个主方法。
  • public修饰的类称为公开类,要求类名必须与文件名称完全相同,包括大小写。
  • 一个源文件中,只能有一个公开类。
public class HelloWorld{
	public static void main(String[] args){
		System.out.print("Hello Everyone");
	}
}

class GoodByeWorld{
	public static void main(String[] args){
		System.out.print("GoodBye");
	}
}

九.Java的语言规范

9.1.编码规范(1)书写格式

  • 层级之间必须缩进(Tab:一个制表位)。
  • 一行只写一句代码。

在这里插入图片描述

9.2.编码规范(2)代码注释

单行注释:
在这里插入图片描述

多行注释:

在这里插入图片描述

文档注释:
在这里插入图片描述
文档注释一般添加在类上面或者方法上面

在这里插入图片描述

注:注释不参与编译。

9.3.编码规范(3)标识符命名

  • 语法规定:
    • 可以由:字母、数字、_、$ 组成,但不能以数字开头。
    • 不能与关键字、保留字重名。
  • 约定俗成:
    • 望文生义、见名知义。
    • 类名由一个或多个单词组成,每个单词首字母大写(pascal)。
    • 函数名、变量名由一个或多个单词组成,首单词首字母小写,拼接词首字母大写(camel)。
    • 包名全小写,只可以使用特殊字符“.”,并且不以“.”开头或结尾。
    • 常量全大写,多个单词用 _ 连接。

/** 
文档注释 
这个类旨在介绍Java中的注释方式有哪些
*/
public class TestAnnotation{//HelloWorld(帕斯卡) helloWorld(驼峰)  HELLO_WORLD      GetElementById            							 //getElementById     GET_ELEMENT_BY_ID
	
	/**
		这个方法代表程序的入口,即为书写逻辑代码的位置
	*/
	public static void main(String[] args){
		
		//以下代码代表控制台输出一句文本
		System.out.print("HelloWorld");
		 
		 
		 /* 
		 多行注释的开始
		 .....
		 .....
		 .....
		 多行注释的结束
		 */
		System.out.print("Hello Everyone");
		
	}
}

十、Java跨平台的原理

通过Java语言编写的应用程序在不同的系统平台上都可以运行。
在这里插入图片描述

  • Java语言特别流行的一大部分原因就是Java语言跨平台!!!
  • 通过Java语言编写的应用程序在不同的系统平台上都可以运行。
  • 只要在需要运行java应用程序的操作系统上,先安装一个Java虚拟机(JVM Java Virtual Machine)即可。由JVM来负责Java程序在该系统中的运行。
  • 因为有了JVM,所以同一个Java程序在三个不同的操作系统中都可以执行。这样就实现了Java程序的跨平台性。也称为Java具有良好的可移植性。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/761097.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

代码随想录算法训练营之JAVA|第四天| 24. 两两交换链表中的节点

今天是第 天刷leetcode,立个flag,打卡60天。 算法挑战链接 力扣http://24. 两两交换链表中的节点 第一想法 看到题目的第一想法是交换节点,于是赶紧拿出草稿本画了出来。这不简简单单。 1 -> 2 ->3 ->..... 已有的条件&#x…

WAF相关知识及安全狗的部署和绕过

文章目录 一:WAF基础知识(一) WAF简介(二) WAF工作原理1) 流量识别2) 攻击检测3) 攻击防御4) 记录日志 (三) WAF分类(四) …

云原生|kubernetes|kubernetes集群部署神器kubekey的初步使用(centos7下的kubekey使用)

前言: kubernetes集群的安装部署是学习kubernetes所需要面对的第一个难关,确实是非常不好部署的,尤其是二进制方式,虽然有minikube,kubeadm大大的简化了kubernetes的部署难度,那么,针对我们的学习环境或者…

[Linux笔记]常见命令(持续施工)

常见命令 文件与目录命令 pwd 打印当前所在路径。 建议每次登录后,或长时间未操作时,进行操作前都先执行pwd以确认当前位置。 cd 进入指定目录(change direct) .当前路径 ..上级路径 windows下,\为路径分隔符 Linux下,/为路径…

4.6.tensorRT基础(1)-实际模型上onnx文件的各种操作

目录 前言1. onnx1.1 读取节点1.2 修改节点1.3 替换节点1.4 删除节点1.5 修改input和output1.6 预处理的接入 总结 前言 杜老师推出的 tensorRT从零起步高性能部署 课程,之前有看过一遍,但是没有做笔记,很多东西也忘了。这次重新撸一遍&#…

在if/else中进行函数声明

console.log("第一次输出a: ", a) //输出 本地a if (true) {// 这里js隐式的把function a的定义放到这里来了,此刻这里有一个 块aa 1 // 将 块a的值 由函数修改为1console.log("第二次输出a: ",a) // 此时输出的是 块a的值function a() {} // …

【Kubernetes运维篇】RBAC之准入控制器详解

文章目录 一、ResourceQuota准入控制器1、ResourceQuota是什么?2、限制CPU、内存、Pod数量、Deployment数量3、限制存储空间大小 二、LimitRanger准入控制器1、LimitRanger是什么?2、LimitRanger限制案例 一、ResourceQuota准入控制器 中文官方参考文档…

前端Vue仿美团右侧侧边栏弹框筛选框popup alert

随着技术的发展,开发的复杂度也越来越高,传统开发方式将一个系统做成了整块应用,经常出现的情况就是一个小小的改动或者一个小功能的增加可能会引起整体逻辑的修改,造成牵一发而动全身。 通过组件化开发,可以有效实现…

Linux dpkg和dpkg-deb常用参数使用说明

名词解释 “dpkg ”是“ Debian Packager ”的简写。为“Debian” 专门开发的套件管理系统,方便软件的安装、更新及移除。所有源自“Debian”的“Linux ”发行版都会使用 “dpkg”,例如 “ Ubuntu ”、“Knoppix ”等。 dpkg-deb和dpkg的区别 dpkg-de…

golang使用bcrypt包对密码进行加密

bcrypt bcrypt是一个由美国计算机科学家尼尔斯普罗沃斯(Niels Provos)以及大卫马齐耶(David Mazires)根据Blowfish加密算法所设计的密码散列函数,于1999年在USENIX中展示。实现中bcrypt会使用一个加盐的流程以防御彩虹…

深入理解Windows操作系统机制(四)

我是荔园微风,作为一名在IT界整整25年的老兵,今天我们来重新审视一下Windows这个我们熟悉的不能再熟悉的系统。 我们每天都在用Windows操作系统,但是其实我们每天直接在打交道的并不是Windows操作系统的内核,而是Windows操作系统…

H3C-Cloud Lab实验-PPPoE实验

实验拓扑图: 实验需求: 1. 如图,私网内部配置为 192.168.1.0/24 网段,R2 上配置 Loopback0 口模拟互联网地址 2. 配置 R2 为 PPPoE Server,为 R1 提供 PPPoE 拨号服务,并为 R1 自动分配公网 IP 地址 3. …

【unity之IMGUI实践】抽象父类继承实现【三】

👨‍💻个人主页:元宇宙-秩沅 👨‍💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍💻 本文由 秩沅 原创 👨‍💻 收录于专栏:uni…

Bypass!Burp分块传输绕WAF插件

插件简介 本插件主要用于分块传输绕WAF,不了解分块传输绕WAF的可阅读作者这篇文章:【第8周】编写Burp分块传输插件绕WAF 。 关注【Hack分享吧】公众号,回复关键字【230605】获取下载链接 插件使用 延时分块传输

CentOS7.8离线安装Docker24.0.2,离线安装gcc与g++环境

背景 有时候运维时要求在内网环境下操作,即服务器无法连接互联网,那么就无法通过 yum 源在线安装。。这时,一般通过以下3种方式来安装需要的软件: 下载源码包编译安装;下载对应平台编译好的安装包,解压即…

了解JVM

PS:本文以下部分,默认都是使用HotSpot,也就是Oracle Java 默认的虚拟机为前提来进行介绍的。 1.JVM执行流程 程序在执行之前先要把Java代码转换成字节码(.class文件),JVM首先需要把字节码通过一定的方式类加载器(Clas…

python调用oepnai API

目录 apiAI官网介绍([Introduction](https://platform.openai.com/docs/api-reference/introduction))安装官方SDK认证(Authentication)申请API KEY请求组织(Requesting organization) 发送请求关于chat to…

CAJ文献如何转成PDF?分享两个免费的方法!

CAJ格式是中国知网(CNKI)常见的电子文献格式,但有时我们可能更倾向于将其转换为PDF格式以便于查阅、存储和共享。为了帮助大家完成这个任务,下面将分享两种免费的方法来将CAJ文献转换为PDF格式。无论您是研究学者、学生还是对特定…

学校招生报名小程序开发笔记(一)

背景 这是一个以报名为核心的职业学校招生小程序,目的是方便想要系统学习技能,入门某项技能或者领域的初高中毕业生,了解该学校的基本情况及各个专业,并提供报名路径,致力于技能型人才培养 功能规划 主要功能包括专…

使用 Pytest 运行 yaml 文件来驱动 Appium 自动化测试

目录 前言: 获取 yaml 文件 YamlTest 测试类 Appium 初始化 Pytest 测试类 自定义 runtest demo: 自定义错误输出 Yaml 使用方式规则 前言: 使用Pytest来运行yaml文件来驱动Appium自动化测试是一种方便且灵活的方法。通过将测试数据…