Java编程入门

初步了解方法的定义方式和相互调用

  • 掌握递归调用
  • 理解和使用数组
  • 掌握常见类的基本使用,String字符串、Random随机类、Math数学库类和日期类

程序

  • 程序=算法+数据结构
  • 用户使用编程语言实现问题域到解域的映射,细节描述算法
  • 汇编语言–贴近于硬件设备
  • 高级语言–C#、Java–贴近于自然语言–需要编译过程将高级语言所编写的程序转换为计算机能够识
    别的01码
  • 中级语言–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是一个运行环境,它可以从Oracle公司提供的Java 2 SDK中来搭建运行环境,免费

Java主要技术分支

JavaSE【J2SE】:Java标准版,主要用于桌面应用或者局域网应用开发
Java 语言核心类: 数据库连接, 接口定义,输入/输出和网络编程
JavaEE【J2EE,最新名称 JakartaEE】:java企业版,主要用于企业级电子商务应用开发
包含JAVA SE 中所有类,并且还包含用于开发区企业级应用的类,如EJB、Servlet、JSP、XML… JavaEE【Spring框架】目前已成为开发电子商务应用的事实标准 企业级的概念:跨地域性、数据来源复杂性
JavaME[J2ME]:java精简版,主要用于受限环境开发
Android所替代----下一步鸿蒙?

Java应用场景

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

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

版本选择问题

JDK为java开发工具,全称为Java Development Kit。除了运行和编译所需要的相关工具外,最重要的是提供了很多预先定义好的程序,可以直接使用。

  • 首先JDK可以分为Open JDK和Oracle JDK两个系列

    • OpenJDK是基于Oracle JDK源代码构建的,因此Oracle JDK和OpenJDK- 之间没有重大的技术差异
    • Oracle JDK将更多地关注稳定性,它重视更多的企业级用户,而OpenJDK经常发布以支持其他性能,这可能会导致不稳定
  • Oracle公司把JDK分成了两种维护情况,即非长期支持版和长期支持版LTS。对于非长期支持版non-LTS而言,Oracle只会提供6个月的支持维护;而对于长期支持版本LTS,则提供8年的支持维
    护。

    • JDK8 JDK11 JDK17【oracle发布了免费协议】
      JDK的官方下载地址是:https://www.oracle.com/downloads
      要求注册,可以从baidu上查找别人注册的账号进行使用

JDK和JRE

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

windows下的安装

按照JDK8安装向导一步一步的执行,在选择安装内容时其中的公共JRE可装可不装,因为JDK中自带的就
有JRE,而公共JRE是脱离JDK的JRE。安装JDK8以上版本则不会安装JRE

JDK11是模块化设计,不再包含JRE,而是按需生成,需要哪个模块,就将哪个模块打包成JRE,而不需要引入无关紧要的其他模块,可以大幅缩小JRE体积。在bin目录下可以看到jlink.exe文件,可以使用这个工具。再打开jmods文件夹,可以看到71个以jmod为结尾的文件,其实jmod文件就是一个压缩包,可以使用加压缩文件打开,里面包含了class文件和其他文件。基础命令格式【jlink --module-path "java模块位置" --add-modules 加入需要的模块,多个用英文逗号隔开 --output "指定生成的jre文件夹路径"】,例如 bin\jlink --module-path jmods --add-modules java.base,java.desktop --output jre 。如果在使用自定义的JRE运行java程序时,出现NoClassDefFound错误,说明JRE中没有添加相关的模块。首先需要确定缺少的 class 存在于那个JDK module 中,然后在jlink 命令中添加到--addmodules列表中,重新生成JRE就可以了

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

配置3个参数(环境变量—系统变量):在JDK11只需要配置2个

JAVA_HOME:JDK的安装路径,例如C:\Java\jdk1.8.0_172

CLASSPATH:其中的值有3个,在Windows下使用分号进行分割,在Linux下使用冒号做分割

  • .表示当前目录

  • C:\Java\jdk1.8.0_172\lib\rt.jar

  • C:\Java\jdk1.8.0_172\lib\tools.jar

Path:注意是修改,不是创建,不要删除旧有配置,否则可能windows无法正常使用

  • 在配置的末尾追加;C:\Java\jdk1.8.0_172\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-8u181-linux-x64.rpm

  • 编辑profile文件 vi /etc/profile

export JAVA_HOME=/usr/java/jdk1.8注意这里是具体的安装位置export
CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jarexport PATH=$JAVA_HOME/bin:$PATH
  • 保存退出后,执行source命令生效

    • source /etc/profile
  • 测试是否安装成功: java -version

Hello Java

在windows下可以自行安装一个文本编辑工具,推荐editplus或者记事本

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

touch Hello.java

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

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

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

javac Hello.java。如果有语法错误则编译失败,并进行告错

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

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

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

IDE集成开发环境:

  • Eclipse:JavaSE

  • IDEA使用较多的工具 JavaEE

  • STS springboot

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

windows下安装

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

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

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

件夹

[外链图片转存中…(img-7ZskA4lE-1663770782564)]

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

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

Java编程入门---JDK安装相关推荐

  1. JAVA编程入门基础

    JAVA编程入门 程序=算法+数据结构 用户使用编程语言实现问题域到解域的映射,细节描述算法 1.汇编语言-贴近于硬件设备 2.高级语言-C#.Java-贴近于自然语言-需要编译过程将高级语言所编写的 ...

  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. Java编程入门与应用 P104—例4-12(学生管理系统——密码的重复验证)

    Java编程入门与应用 P104-例4-12 在第一次进入系统时要求管理员设置一个密码,出于安全考虑密码需要输入两次,如果两次输入的密码一致才生效,否则提示失败 import java.util.Sc ...

  5. 【Java学习】JDK安装及第一个java程序

    一直听说Java是C++的升级和优化,却一直没用过,今天来简单学习一下. JDK安装及第一个java程序 一.JDK安装 二.第一个java程序 三.系统环境变量配置 一.JDK安装 JDK(Java ...

  6. Java编程入门与应用 P124——例5-4(计算90度的正弦值、0度的余弦值、1的反正切值、120度的弧度值)

    Java编程入门与应用 P124--例5-4 计算90度的正弦值.0度的余弦值.1的反正切值.120度的弧度值 因为参数里都是double值,需要以弧度代替角度来实现 /*** Java编程入门与应用 ...

  7. Java编程入门与应用 P210 例8-8——演示创建实例的方法

    Java编程入门与应用 P210 例8-8--演示创建实例的方法 显式转换和隐式转换的概念 /*** Java编程入门与应用 P210 例8-8--演示创建实例的方法** 显式转换和隐式转换的概念*/ ...

  8. Java编程入门与应用 P80——例3-24(小明参加一个1000米的长跑比赛每跑完一圈,教练就会问他是否要坚持下去,如果回答yes,则继续跑,否则表示放弃。)

    Java编程入门与应用 P80--例3-24 小明参加一个1000米的长跑比赛,在100米的跑道上,他循环地跑着,每跑一圈,剩余的路程就会减去100米,要跑的圈数就是循环的次数.但是,在每跑完一圈, ...

  9. Java编程入门与应用 P93——例4-2( 使用“+”连接运算符,连接3个数组和1个字符串,学生考试信息)

    Java编程入门与应用 P93--例4-2 使用"+"连接运算符,连接3个数组和1个字符串 学生考试信息 /*** Java编程入门与应用 P93--例4-2* 使用"+ ...

最新文章

  1. php指针注意问题,c语言指针注意问题
  2. Chrome百度不显示中文字体
  3. 创建型模式之FactoryMethod
  4. 盘点2021:数据中心行业迎来转折点
  5. 1.4 Java创建一个学生类
  6. bcb中使用pas文件
  7. Intel MKL FATAL ERROR Cannot load mkl_intel_thread.dll
  8. Magicodes.IE.AspNetCore之一行代码多格式导出
  9. 老化试验机ami怎么寻找过去的数据_广东元耀:您知道塑料臭氧老化试验机检测浓度的方法有哪些吗?...
  10. .Net Intelligencia.UrlRewriter 重定向参数中文支持配置方法
  11. springcloud config不重启修改配置_SpringCloud实战-Bus消息总线(动态修改配置)
  12. Java使用POI导出Excel文件
  13. 《python网络爬虫和信息提取》:全球电影票房排行榜(附更改后的代码)
  14. 基于物联网的室内环境监测系统设计的背景
  15. 明日之后最新服务器开服时间,明日之后新区开服时间 新区开放表[图]
  16. Problem solved list
  17. 学习线程安全队列ConcurrentQueue
  18. 2023年法定节假日配置Mysql
  19. Arduino 超级省电之休眠模式用1节18650电池工作17年
  20. 信用卡客户风险分析与评价

热门文章

  1. python画图大全_python画图教程
  2. 『转』一千行MySQL学习笔记
  3. 多语言多用户商城系统 中英文电商系统困境及解决思路
  4. 《论语》原文及其全文翻译 学而篇9
  5. AndroidX86模拟器Genymotion的一些使用和另一款Andy模拟器
  6. uname命令详解(图文)
  7. 一个创业者的心理独白,是美妆溪妍给了我希望
  8. 基于SSH的可扩展的程序代码源码Web在线评测系统
  9. 轻松打造开源安全信息管理平台
  10. 推荐这几个前端公众号,助力学习前端