JAVA编程入门学习

本次学习内容:

1、Java初步讲解

2、Java运行环境的安装及应用

3、进行简单的Java编程

一、程序:

程序 = 算法 + 数据结构

用户使用编程语言实现问题域到解域的映射,细节描述算法。

1、编程语言——三大类:机器语言、汇编语言、高级语言

机器语言:计算机的原生语言,即一套内嵌的基本指令集(01010101010101)。

汇编语言:贴近于硬件设备。

高级语言:贴近自然语言,需要编译过程将高级语言所编写的程序转换为计算机能够识别的01码(C#、Java)

2、Java——一种编程语言、开发环境、应用环境、部署环境。

Java完全面向对象的编程语言,主要用于Internet应用程序。既是一种解释执行的语言(先编译后解释执行),也是一种编译执行的语言。

Java是一种可以撰写跨平台应用程序的面向对象的程序设计语言,其具有卓越的通用性、高效性、平台移植性和安全性(但是牺牲了执行效率),广泛应用于PC、数据中心、游戏控制平台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。

Sun公司对Java编程语言的解释是:Java编程语言是个简单、面向对象、分布式、解释性、健壮性(鲁棒性)、安全与系统无关、可移植、高性能、多线程和静态的语言(从JDK8开始引入一些动态语言的特性)

Java平台是基于Java语言的平台,非常的流行。因此微软公司推出了与之竞争的.NET平台以及模仿Java的C#语言。

首先将源代码编译为二进制字节码,然后依赖各种不同平台上的虚拟机来解释执行字节码。实现了【一次编程、到处执行】的跨平台特性。不过每次执行编译后的字节码需要消耗一定的时间,这同时也在一定程度上降低了Java程序的性能。

Java是一个开发环境,Java技术包含一系列的工具:编译器、解释器、文档生成工具、打包工具等,有Java 2 SDK提供的JRE还包括一个完整的Java集合,如基本语言类、GUI控制等。

Java是一个运行环境,可以从Sun公司提供的Java 2 SDK中来搭建运行环境,免费使用。

3、Java主要技术分支

JavaSE【J2SE】:Java标准版,主要用于桌面应用或者局域网应用开发

Java语言核心类:数据库链接、接口定义、输入\输出和网络编程

JavaEE【J2EE JakartaEE】:Java企业版,主要用于企业级电子商务应用开发

包含JavaSE中所有类,并且包含用于开发企业级应用的类,如EJB、Servelet、JSP.XML… J2EE目前已成为开发电子商务应用的事实标准。

JavaME【J2EM】:Java精简版,主要用于受限环境开发

Android所代替

4、Java应用场景

Java编程语言是一种广泛应用于互联网应用的高级计算机语言,主要应用于网络编程和互联网电子商务应用,特别适合于Internet应用程序开发。

二、Java的三种核心机制

1、Java虚拟机JVM

JVM创造一个内部运行时系统(runtime system)来执行Java代码,包括:加载class字节码文件、管理内存、执行垃圾收集。

Java程序不是在本机操作系统上直接运行,而是通过Java虚拟机向本机操作系统进行解释来运行。任何安装有Java虚拟机的计算机系统都可以运行Java程序,而不是最初开发程序的是何种计算机系统。

Java虚拟机的建立需要针对不同的软硬件平台做专门的实现,需要考虑处理器的型号,也要考虑操作系统的种类。

JDK包含JVM和其他工具,以及所用的API和想管文件。

2、垃圾收集机制(Garbage Collection)

Java编程语言解除了程序员取消分配存储器的责任,可以提供一种系统级线程以跟踪每一存储器的分配情况,在Java虚拟机的空间周期,垃圾收集线程检查并释放那些可被释放的存储器。

不再使用内存空间回收——垃圾回收

在C/C++等语言中,由程序员负责回收无用内存。Java语言消除了程序员回收无用内存空间的责任,它提供了一种系统级线程跟踪存储空间的分配情况,并在JVM的空闲时检查并释放那些可被释放的内存空间。

垃圾收集在Java程序运行过程中自动运行,程序员无法精确控制和干预。

3、代码安全性检测(Code Security)

在运行时,执行机器只是将.class类文件通过交互后使用,一般情况下是看不到它的源代码.Java,如果想要看到.Java源程序,就要通过专用反编译工具,才能看到,这就体现;额Java在运行环境中下相对其他语言来说,加强了代码的安全性。

三、安装环境(安装过程随后详细说明)

官方网站:oracle.com

版本的选择:选择使用LTS版,jdk8【Java SE 8u311】、jdk11【Java SE 11.0.13】,最新版LTS是JDK17

1、JDK与JRE

jdk:Java开发工具箱,提供了Java程序的开发工具和运行环境。

jre:Java运行时环境,提供了Java运行环境支持。

2、Windows下的安装

按照安装向导一步一步执行,在选择安装内容其中公JRE可装可不装因为JDK中自带有JRE,而公共JRE是脱离JDK的JRE。

注意:在JDK的安装路径中不要出现中文、空格之类的特殊符号。

3、Linux下的安装

如果在Linux下安装Oracle JDK,则需要首先卸载默认安装的Open JDK

**·**rpm -qa|grep java查看系统中所安装的Java套件

-q使用询问模式,当遇到任何问题时,rpm指令会先询问用户

-a查询所有套件

-e<套件档>或者 --erase<套件档> 删除指定的套件

–nodeps 不验证套件档的相互关联性

**·**rpm -e --nodeps 后跟系统自带的jdk名

**·**rpm -ivh jdk-8u181-linux-x64…rpm

**·**编辑proflie文件

export JAVA_HAME=/usr/java/jdk1.8.0_181-amd64export
CLASSPATH=.:$JAVA_HAME/jre/lib/rt.jar:$JAVA_HAME/lib/dt.jar:$JAVA_HAME/lib/tools.jarexport PATH=$JAVA_HAME/bin:$PATH

**·**保存退出后,执行source命令生效

source/etc/profile

-测试是否安装成功:java -version

4、IDE工具

集成开发环境IDE是用于提供程序开发环境的应用程序,一般包括代码编辑器、编译器、调试器和图形用户界面等工具。集成了代码编写功能、分析功能、编译功能、调试功能等一体化的开发软件服务套。

Eclipse是一款基于Java的开源可扩展开发平台,Eclipse不是一门编程语言,而是一个框架和一组服务。Eclipse为开发者提供了一个标准的插件集,包括Java开发工具。Eclipse使用Java语言开发,但它的用途并不限于Java语言,还提供支持C/C++、COBOL、PHP、Android等编程语言的插件。

四、操作(简单的代码运行)

1、使用任意的文本编辑工具编写一个后缀为.java的文本文件

修改文件后缀为.java

​ HelloWord.java

Java是面向对象的编程语言,要求编写程序的开始就是定义类的开始。

//一个文件可以定义无数个class,但是仅有一个public类,而且要求公共类的名称必须和文件名称一致public class HelloWord{//public class是系统定义的关键字,HelloWord是用户自定义的类名称,要求必须和文件名称一致,包括大小写,{}中用于用户自定义程序public static void main(String[] args){//这个方法的名称不允许做任何调整,包括大小写,这是程序运行的起始点System.out.println("Hello Word!!!!");//在Java中语句以“;”收尾。}}


2、编译程序为字节码文件【名称和源代码文件一致,只是后缀为.class的二进制文件】,JDK中自带了编译器javac

javac HelloWord.java

如果有语法错误则编译失败,进行告错

3、使用解释器java解释执行字节码文件

java HelloWord[这里不是文件名称,是类名称,所以没有后缀class]


如果使用文本编辑工具编写代码,问题在于没有任何提示,编码效率低;而且不停的需要进行切换【编辑发现问题–修改源代码】。所以需要使用IDE工具(集成开发环境),在工具中可以直接编写代码,编译源程序并执行

Eclipse是IBM号称斥资4000万开发的通用开发平台,添加不同的插件就可以执行不同的工作,Eclipse本身就是使用Java开发的,所以在进行Java开发时不用加任何插件。官方网站eclipse.org

五、window下安装Eclipse并运行

可以直接下载zip后缀的文件,是一个绿色版的Eclipse,解压缩后可以直接使用

Eclipse编辑使用:

1、File->new->java project。在Eclipse中所有的代码采用的是项目制进行管理,对应的是一个在workspace中的文件夹


2、所有的源代码定义在src文件夹下,所以可以使用菜单new->class,这里配置的含义不必深究,只需要定义类名称即可,如果需要main方法则勾选上,则Eclipse会自动生成代码骨架,只需要添加具体的业务代码即可,例如添加System.out.printIn(“Hello Word!!!”)

3、右键点击空白处,在弹出菜单中选择run with–Java Application,则会自动执行程序,并在下方的Console窗口显示执行结果

JAVA编程入门学习相关推荐

  1. 01.Java 编程入门学习笔记20210307

    Java 编程入门学习笔记-day01 第0章:编程入门 1.计算机的概述 计算机 = 硬件 + 软件 1.1硬件:冯诺依曼体系 CPU: CPU的衡量标准:速度的计量单位是赫兹(Hz),1Hz相当于 ...

  2. Java编程入门学习应该怎么做呢?

    Java编程入门学习应该怎么做呢?做好哪些事情可以更快的入门Java编程.Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言.Java 技术具有卓越的通用性.高效性.平台移植性和安全性,广泛 ...

  3. c和java哪个好学_编程入门学习c++和Java哪个比较好

    编程入门学习c++和Java哪个比较好 发布时间:2020-04-25 16:54:41 来源:亿速云 阅读:231 作者:栢白 编程入门学习c++和Java哪个比较好?如今这些都是小白比较关心的,如 ...

  4. python交互式编程入门先学什么_为什么 Python 对于编程入门学习来说,是一门很棒的语言...

    在这篇文章里,我会来阐述下为什么我觉得 Python 对于计算机编程入门教学来说是一门很棒的编程语言(对基础编程课程更多观点可以查看这篇文章).这也是从我针对初学者Python 编程教学过程中获得并总 ...

  5. Java编程在线学习靠谱吗?能学会吗?

    Java编程在线学习靠谱吗?能学会吗?在线学习Java的方式靠不靠谱主要看机构的课程,和个人的努力情况.费用.时间上有压力建议选择在线学习,但在线学习对自控能力要求更高,坚持看完整期课程需要自律.如果 ...

  6. Java快速入门学习笔记7 | Java语言中的类与对象

    有人相爱,有人夜里开车看海,有人却连LeetCode第一题都解不出来!虽然之前系统地学习过java课程,但是到现在一年多没有碰过Java的代码,遇到LeetCode不知是喜是悲,思来想去,然后清空自己 ...

  7. Java快速入门学习笔记5 | Java语言中的while循环语句

    有人相爱,有人夜里开车看海,有人却连LeetCode第一题都解不出来!虽然之前系统地学习过java课程,但是到现在一年多没有碰过Java的代码,遇到LeetCode不知是喜是悲,思来想去,然后清空自己 ...

  8. Java快速入门学习笔记2 | Java语言中的基本类型

    有人相爱,有人夜里开车看海,有人却连LeetCode第一题都解不出来!虽然之前系统地学习过java课程,但是到现在一年多没有碰过Java的代码,遇到LeetCode不知是喜是悲,思来想去,然后清空自己 ...

  9. java编程基础学习需要多久的时间

    Java是当前世界颇为流行的编程语言之一,很多想学习java的人都会听过一句话,先学好java基础,在考虑是自学还是培训学习,同时新的问题出现了,java基础包括什么,需要学习多久呢,对于小白来说,想 ...

  10. Python快速编程入门#学习笔记01# |第一章 :Python基础知识 (Python发展历程、常见的开发工具、import模块导入)

    全文目录 ==先导知识== 1 认识Python 1.1.1 Python的发展历程 1.1.2 Python语言的特点 2. Python解释器的安装与Python程序运行 1.2.1 安装Pyth ...

最新文章

  1. ubuntu下 mysql数据 自执行备份
  2. 坐拥双妹、佰草集,上海家化是怎样将一只脚留在高端护肤品门外的?
  3. 深度学习框架的比较(MXNet, Caffe, TensorFlow, Torch, Theano)
  4. mysql 有newid()_sql newid()随机函数
  5. 微信超赞新功能上线,终于知道钱花哪儿了
  6. sklearn搭建线性模型的总结
  7. 使用寄存器点亮LED——编程实战
  8. 下一个主要AI平台是什么?苹果说:手机
  9. Javascript读取本地文件
  10. PyCharm大学生教育账户激活
  11. 合肥工业大学计算机学院任恒,合肥工业大学计算机与信息学院导师教师师资介绍简介-△张玉红...
  12. 连分数与丢番图方程简介
  13. 关于sudo:no tty present and no askpass program specified
  14. Impala入门学习与使用详解
  15. Github上如何设置个人头像
  16. 【Debias】Model-Agnostic Counterfactual Reasoning for Eliminating Popularity Bias in RS(KDD‘21)
  17. vrep与matlab 互动
  18. Sw Solidworks渐开线绘制方法公式
  19. An operation is not implemented: not implemented被坑之路[Kotlin]
  20. 打造一个投资组合管理的金融强化学习环境

热门文章

  1. redis主从,哨兵模式配置
  2. 项目审查图片报404找不到
  3. Activity初窥门径
  4. 《黑白团团队》第六次作业:团队项目系统设计改进与详细设计
  5. unity 2022大三期末大作业 3D立体魔方游戏(附下载链接)
  6. PHP使用Composer配置微信支付SDK
  7. c#调用触滑输入法实现触摸屏键盘功能
  8. 《统计学基于R》第一章 数据与R
  9. 使用hBuilder打包成app扫一扫
  10. IBM SPSS Modeler Social Network Analysis 的介绍和日常应用