JAVA编程入门

程序=算法+数据结构

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

1.汇编语言-贴近于硬件设备
2.高级语言-C#、Java-贴近于自然语言-需要编译过程将高级语言所编写的程序转换为计算机能够识别的01码
3.中级语言-C

JAVA

一种编程语言、一种开发环境、一种应用环境、一种部署环境

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

Java完全面向对象的编程语言,主要用于Internet应用程序

Java既是一种解释执行的语言(先编译后解释执行),也是一种编译执行的语言

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

Java平台是基于Java语言的平台。这样的平台非常流行。因此微软公司推出了与之竞争的.NET平台以及模仿Java的C#语言
首先将源代码编译成二进制字节码(bytecode不是机器语言),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了【一次编译、到处执行】的跨平台特性。不过,每次的执行编译后的字节码需要消耗一定的时间,这同时也在一定程度上降低了Java程序的性能

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

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

JAVA主要技术分支

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

Java语言核心类:数据库连接,接口定义,输入/输出和网络编程

Java[EE]: java企业版,主要用于企业级电子商务应用开发

包含JAVA SE 中所有类,并且还包含用于开发区企业级应用的类,如EJB, Servelet, JSP. XML…2EE目前已成为开发电子商务应用的事实标准

企业级的概念:跨地域性、数据来源复杂性

JavaME[2ME]:java精简版,主要用于受限环境开发

Android所替代

Java的三种核心机制

Java虚拟机JVM

JVM创造一个内部运行时系统(runtime system来执行Java代码,包括:加载.class字节码文件、管理内存、执行垃圾收集。
Java程序并不是在本机操作系统上直接运行,而是通过Java虚拟机向本机操作系统进行解释来运行。这就是说,任何安装有Java虚拟机的计算机系统都可以运行Java程序,而不论最初开发应用程序的是何种计算机系统
java虚拟机的建立需要针对不同的软硬件平台做专门的实现,既要考虑处理器的型号,也要考虑操作系统的种类
JDK包含JVM和其他工具,以及所有的API和相关文件

垃圾收集机制(Garbage Collection)

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

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

在C/C++等语言中,由程序员负责回收无用内存。Java语言消除了程序员回收无用内存空间的责任,它提供了一种系统级线程跟踪存储空间的分配情况,并在JVM的空闲时检查并释放哪些可被释放的存储空间。
垃圾收集在Java程序原型过程中自动运行,程序员无法精确控制和干预

代码安全性检测(Code Security)

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

官方网站oracle.com

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

JDK和JRE

jdk: java开发工具箱,提供了java程序的开发工具和运行环境jre: Java运行时环境,提供了java的运行环境支持
首先安装所使用的操作系统下载对应的JDK,注意统一使用JDK8

windows下的安装

按照安装向导一步一步的执行,在选择安装内容时其中的公共JRE可装可不装,因为JDK中自带的就有JRE,而公共JRE是脱离JDK的JRE。
注意:在JDK的安装路径中不要出现中文、空格之类的特殊符号配置3个参数(环境变量—系统变量)∶
JAVA_HOME: JDK的安装路径,例如C:\yava\jdk1.8.0_311
CLASSPATH:其中的值有3个,在Windows下使用分号进行分割,苏若在Linux下使用冒号做分割.表示当前目录
C:\java\jdk1.8.0_311\lib\rt.jar

C:\java\jdk1.8.0_311\lib\tools.jar
Path:注意是修改,不是创建,不要删除旧有配置,否则可能windows无法正常使用·在配置的末尾追加;C:\Java\jdk1.8.0_311\bin;
验证:在命令上运行命令
java -version查看当前jdk的版本号

javac -version查看当前jdk的版本号

Linux下的安装

如果在Linux下安装oracle JDK,则需要首先卸载系统默认安装的OpenJDK

rpm -qa | grep java

查看系统中所安装的java套件
-q使用询问模式,当遇到任何问题时,rpm指令会先询问用户

-a查询所有套件
-e<套件档>或–erase<套件档>删除指定的套件

-nodeps不验证套件档的相互关联性
rpm -e -nodeps后面跟系统自带的jdk名

rpm -ivh jdk-8u311-linux-x64.rpm

编辑profile文件

vim /etc/profile
export JAVA_HOME=/usr/java/jdk1.8.0_311-amd64(注意这里是具体的安装位置)
exportCLASSPATH=.:$AVA_HOME/jre/lib/rt.jar:$3AVA_HOME/1ib/dt.jar:$JAVA_HOME/7ib/too1s.jar
export PATH=$JAVA_HOME/bin:SPATH

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

source etc/profile

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

IDE工具

集成开发环境IDE是用于提供程序开发环境的应用程序,一般包括代码编辑器、编译器、调试器和图形用户界面等工具。集成了代码编写功能、分析功能、编译功能、调试功能等一体化的开发软件服务套
Eclipse是一款基于Java的开源可扩展开发平台,Eclipse不是一门编程语言,而是一个框架和一组服务。Eclipse为开发者提供了一个标准的插件集,包括ava开发工具(Java Development Kit,JDK)。虽然Eclipse是使用ava语言开发的,但它的用途并不限于Java语言;还提供支持CIC++、COBOL、PHP、Android等编程语言的插件。

Hello Java
1、使用任意的文本编辑工具编写一个后缀为.java的文本文件touch Hello.java
Java是面向对象的编程语言,要求编写程序的开始就是定义类的开始

//一个文件中可以定义无数个c1ass,但是仅有一个public类,而且要求公共类的名称必须和文件名称一致public class He11o{//其中public class是系统定义的关键字,He11o是用户自定义的类名称,要求必须和文件名称一致,包括大小写,}中用于用户自定义程序public static void main(string[] args){//这个方法的名称不允许作任何调整,包括大小写,这是程序的执行起始点
System.out.print("He11o Java! ");//在Java中语句以;收尾,system.out.println用于实现在屏幕上输出字串内容,所谓的字串就是引号中所包含的字符序列

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

javac Hello.java

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

3、使用解释器java解释执行字节码文件
java Hello[这里不是文件名称,是类名称,所以没有后缀class]

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

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

windows下安装可以直接下载zip后缀的文件,这实际就是一个绿色版的Eclipse,解压缩后可以直接使用
1.File->new->java project。在Eclipse中所有的代码采用的是项目制进行管理,对应的是一个在workspace中的文件夹

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UhO1iJGq-1635515343762)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20211028213912979.png)]

2、所有的源代码定义在src文件夹下, 所以可以使用菜单 new->class,这里配置的含义不必深究,只需要定义类名称即可,如果需要main方法则勾选上,则Eclipse会自动生成代码骨架,只需要添加具体的业务代码即可,例如添加System.out.printIn(“Hello Java!”);
3、右键点击空白处,在弹出菜单中选择run with–Java Application,则会自动执行程序,并在下方的Console窗口显示执行结果
只需要定义类名称即可,如果需要main方法则勾选上,则Eclipse会自动生成代码骨架,只需要添加具体的业务代码即可,例如添加System.out.printIn(“Hello Java!”);
3、右键点击空白处,在弹出菜单中选择run with–Java Application,则会自动执行程序,并在下方的Console窗口显示执行结果

JAVA编程入门基础相关推荐

  1. Java编程入门---JDK安装

    Java编程入门 初步了解方法的定义方式和相互调用 掌握递归调用 理解和使用数组 掌握常见类的基本使用,String字符串.Random随机类.Math数学库类和日期类 程序 程序=算法+数据结构 用 ...

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

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

  3. 让编程不再迷茫--java编程入门

    让编程不再迷茫 分享到:更多 1.程序设计理解 1.1 程序设计是什么? 1.2 你适合学习程序设计吗? 1.3 如何学好程序设计? 2.Java编程入门 2.1 JDK 2.1.1 JDK下载 2. ...

  4. python编程语法大全-Python编程入门——基础语法详解

    今天小编给大家带来Python编程入门--基础语法详解. 关于怎么快速学python,可以加下小编的python学习群:611+530+101,不管你是小白还是大牛,小编我都欢迎,不定期分享干货 每天 ...

  5. python编程语法-Python编程入门——基础语法详解

    今天小编给大家带来Python编程入门--基础语法详解. 一.基本概念 1.内置的变量类型: Python是有变量类型的,而且会强制检查变量类型.内置的变量类型有如下几种: #浮点 float_num ...

  6. python编程if语法-Python编程入门基础语法详解经典

    原标题:Python编程入门基础语法详解经典 一.基本概念 1.内置的变量类型: Python是有变量类型的,而且会强制检查变量类型.内置的变量类型有如下几种: #浮点 float_number = ...

  7. python编程语法-Python编程入门——基础语法详解(经典)

    今天小编给大家带来Python编程入门--基础语法详解.温馨提示: 亮点在最后! 在这里还是要推荐下我自己建的Python开发学习群:301056051,群里都是学Python开发的,如果你正在学习P ...

  8. 半小时入门MATLAB编程入门基础知识:

    https://learnxinyminutes.com/docs/zh-cn/matlab-cn/ 半小时入门MATLAB编程入门基础知识: % 以百分号作为注释符 %{ 多行注释 可以 这样 表示 ...

  9. python基础编程语法-Python编程入门——基础语法详解

    今天小编给大家带来Python编程入门--基础语法详解. 一.基本概念 1.内置的变量类型: Python是有变量类型的,而且会强制检查变量类型.内置的变量类型有如下几种: #浮点 float_num ...

最新文章

  1. Android EditText 编辑框 获取焦点的方法
  2. 图片的略小图图片不显示的处理方法
  3. Caffe中对cifar10执行train操作
  4. 技术图文:如何在Python中定义二维数组?
  5. 什么是windows10的Shell Infrastructure Host
  6. linux rmp命令安装包在哪里_rpm命令_Linux rpm 命令用法详解:RPM软件包的管理工具...
  7. [Leedcode][JAVA][第837题][新21点][动态规划][数学]
  8. php关闭当前页_php如何直接关闭页面注销SESSION
  9. 单链表实现一元多项式相加_python面试系列 01如何实现单链表的逆序
  10. Django内置数据表
  11. 数字图像处理怎么讲yiq空间变成rgb空间_【JTRP】屏幕空间深度边缘光 Screen Space Depth Rimlight...
  12. spark checkpoint
  13. 【asm】汇编器yasm使用说明
  14. 高精度电压基准电路-TL431实现
  15. 6-1 哈夫曼树及哈夫曼编码
  16. 地理信息系统(GIS)系列——ArcGIS 开发的各种示例
  17. 墨刀怎么注册_常见的登陆注册原型模板,墨刀都为你准备好了(直接使用)
  18. 陈小龙书pHP,PHP
  19. 如何像Uber一样给工程师派单 解放外包落后的生产力
  20. 前端工程师之华为手机如何打开开发者模式并进行手机调试查看原生APP效果。

热门文章

  1. 5和6的区别 thinkphp_Thinkphp5和Thinkphp3的区别,如何学好thinkphp
  2. SWPU-DS)若有 n 阶对称矩阵 A,以行序为主序方式,将其下三角形的元素(包括主对角线上所有元素)依次存放于一维数组B[1..(n(n+1))/2]中,则在 B 中确定 a[i, j](i<j)
  3. 浅显易懂了解JavaScript回调函数
  4. 计算机公务员考试试题含答案,2021年公务员考试计算机专业试卷综合试题含参考答案.docx...
  5. H5网页如何在微信中自定义分享链接
  6. web、app跳转微信支付解决方案
  7. Sharding JDBC(四) 分片策略一:标准分片策略StandardShardingStrategy
  8. Nextcloud集成Active Directory(AD)LDAP用户身份验证
  9. AndroidX86模拟器Genymotion的一些使用和另一款Andy模拟器
  10. 计算机主机故障检测原则,1.计算机故障处理应遵循的基本原则有哪些? 爱问知识人...