首页 > 编程语言 >Java基础入门(第一章)

Java基础入门(第一章)

时间:2024-07-30 22:55:40浏览次数:10  
标签:Java 语言 入门 第一章 编译 API 开发 字节

1 Java是什么:

  • Java是一门非常优秀的计算机编程语言
  • Java 英文翻译为印尼爪哇岛,地名,因盛产咖啡而闻名,漫漫长夜、 唯有咖啡陪伴程序员
  • 1991年诞生,最初叫 Oak (橡树),1995年改名为 Java ,2000年前 后,成为世界上最流行的编程语言,过去二十多年中首屈一指。
  • 语言,人与人交流沟通的表达方式。
  • 计算机语言,人与计算机之间进行信息交流沟通的特殊语言。

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

  • Java 编程语言的共同创始人之一,公认的Java之父
  • 1955年5月19日诞生于加拿大,1977年获得了加拿大卡尔加里大学计算 机科学学士学位,1983年获得了美国卡内基梅隆大学计算机科学博士学 位
  • 毕业后到IBM工作,设计IBM第一代工作站 NeWS系统 ,但不受重视,后 来转至Sun公司。1990年,与Patrick Naughton和Mike Sheridan等人合作 开发"绿色计划"项目,期间开发了一套语言叫做 Oak ,后改名为 Java 。

 2 历史

       Java 的历史要追溯到 1991 年,当时Sun 公司的詹姆斯·高斯林(James Gosling)及其团队要完成一个项目"Green",该项目需要设计一种小型的计算 机语言,主要用于有线电视转换盒这类的消费设备。由于这类设备的处理能力 和内存都非常有限,且不同厂商会选择不同的CPU,所以对编程语言有2个明确 的要求:

  • 该语言必须设计的非常小且能够生成紧凑的代码。
  • 该语言不应该与任何特定的体系结构绑定(跨平台)。

        Sun公司开发团队具有Unix的应用背景,所以以C++为基础语言开发出了这种语 言,当时称之为 Oak(橡树) ,后来去注册名称时发现 Oak 这个名字已经被 占用, 于是将其改名为 Java 。

       Java语言 设计之初主要作为平台独立语言使用,可以嵌入到各种消费类电子 设备(家用电器等)中,但市场反应不佳。但随着上个世纪90年代随着互联网 的崛起, Java 逐渐成为重要的Web应用开发语言,在过去二十多年中Java蓬 勃发展、孤独求败。   

3 平台

1998年12月4日,Sun公司在发布的JDK1.2中,将Java技术体系拆分为3个方向 (平台):

  • J2SE (Java 2 Platform, Standard Edition),面向桌面应用开发。
  • J2SE是其他两个版本的基础

我们学J2SE的目的不是为了做GUI桌面开发(计算器、打地鼠游戏等桌 面应用) 而是为今后要学习的J2EE进行必要的基础铺垫

J2ME (Java 2 Platform, Micro Edition),面向手机等移动终端开发 机顶盒、移动电话和PDA之类的嵌入式消费电子设备开发,我们不用关心 J2EE (Java 2 Platform, Enterprise Edition),面向企业级开发  

  1. Java具体应用: 全球超过30亿台各样设备上的应用程序是用Java开发的,耳熟能详的有:
  2. Adobe PDF 阅读器,Gui开发
  3. Google、Facebook、Amazon、淘宝、百度、携程等Web网站
  4. Tomcat、JBoss、WebLogic等Web服务器
  5. 抖音、淘宝、微信等手机APP,使用Android开发组件Android SDK(基于 Java)
  6. ERP(企业资源规划)CRM(客户资源管理)等企业级应用

4 JDK

  • SDK (software development kit),软件开发包,主要包含函数库或者工 具等
  • JDK (Java development kit),Java程序开发工具包,面向Java程序的开 发者
  • JRE (Java runtime enviroment),Java程序运行环境,面向Java程序的使 用者
  • JVM(Java Virtual Machine),Java虚拟机,核心组件,负责解释和执行 Java字节码文件
  • API (application program interface),应用程序编程接口
  • API Documentation,API说明文档,描述API中的类、方法等使用的方式

4.1JDK的下载

方法1:
到oracle官网中,注册账号并登录,然后到相应的页面中,即可下载。Oracle

                                                                   JDK下载      API在线文档

这里给出JDK8的下载地址链接    JDK8API在线文档链接

当然,这是按照一般的流程自己可以实际体验安装的过程,如果想直接想要打包好的,私信我即可;

5 window配置

配置JAVA_HOME:

配置Path:

CLASSPATH:

        

6 Java特点

Java 语言是一种纯粹的面向对象语言,它继承了 C++ 语言面向对象的技术核 心,但是拋弃了 C++ 的一些缺点,比如说容易引起错误的指针以及多继承等, 同时也增加了垃圾回收机制,释放掉不被使用的内存空间,解决了管理内存空 间的烦恼,让程序员的工作变得更加简单,可以专注于业务开发。

Java 语言是一种分布式的面向对象语言,具有面向对象、平台无关性、简单 性、解释执行、多线程、安全性等很多特点,具体如下:

  • 更纯粹的面向对象编程,加速开发的过程
  • 一次编写,到处运行(Write Once,Run any Where) ,跨平台 程序员写好 Java 程序,再将其编译成字节码文件,最后由 JVM 解释执行
  • 开源及强大的生态环境,社区活跃,第三方类库选择丰富
  • 简单性,学习起来更简单,用起来更方便
  • 强大的 API ,使得编程变得更加容易快捷,大大降低了程序的开发成本
  • 安全性,Java 的存储分配模型可以有效防御恶意代码攻击
  • 支持多线程和多任务 强类型、异常处理、垃圾回收机制等技术,保证了 Java 的健壮性

7 跨平台原理

Java属于高级编程语言,高级语言编码运行步骤有:

编写:指程序员编写源代码,比如 HelloWorld.java

编译:指将源代码文件转化成机器认识的机器语言的过程

运行:指通过编译后,让计算机执行编译后指令的过程  

高级语言的编译方式分为三种:编译型、解释型、混合型。

1)编译型 使用专门的编译器,针对特定平台(操作系统)将某种高级语言源代码 一 次性"翻译" 成可以被该平台硬件执行的 机器码 ,并包装成为该平台所能 识别的可执行程序的格式(生成新文件),这个转换过程就是"编译" C、C++都属于编译型语言。

2)解释型 使用专门的解释器,将源程序逐行解释成特定平台的机器码,并立即执行 (不会生成新文件)可以理解为,解释型语言相当于把编译型语言里面的编译和执行合并到了 一起,同时进行 优点是跨平台,缺点是效率低 Python、Shell、Ruby都属于解释型语言。

3)混合型 Java语言是混合型(编译+解释)的代表 首先它的源代码需要编译,生成与平台无关的字节码(.class)文件 字节码文件不能直接执行,需要交给操作系统下的Java虚拟机(JVM)解释 执行 ,Java为不同的操作系统提供了不同的JVM虚拟机。

跨平台原理: 使用Java语言编写一份源代码,不管在什么操作系统下编译,得到的都是相 同的字节码文件,在不同的操作系统下使用不同的JVM解释执行这份字节码文 件,程序成功运行,将会有相同的运行效果。这就是跨平台的原理, Write Once,Run any Where !

8 常用命令

JDK中有很多命令,其对应的可执行程序,存放在 %JAVA_HOME%bin 下面,下 面我们简单介绍几种,请重点掌握javac、java: javac 编译命令【重点掌握】

格式: javac [-d 目录路径] *.java(s) 作用:编译源文件获得字节码文件(存放到-d后目录下),如果不跟-d, 则放在当前目录下 java 运行命令【重点掌握】

格式: java [-cp class文件存储目录] 类的全包名 作用:从-cp后面的路径中查找到需要运行的class文件,然后运行 注意: 类的全包名是指包名.类名 , 不要加.class后缀 javadoc 生成API文档命令 javap 反解析命令,可以解析出class字节码文件的内容 jar 打包命令。

先和我一起简单认识一下Java吧!

标签:Java,语言,入门,第一章,编译,API,开发,字节
From: https://blog.csdn.net/H551493l/article/details/140780108

相关文章

  • Java项目开发中使用BigDecimal实例及注意事项补充
    去年写过一篇博客记录了日常项目开发中使用BigDecimal遇到的问题和注意事项:Java项目日常开发中使用BigDecimal常见问题总结今年在项目开发中遇到了几个实例,这里补充记录下。BigDecimal初始化时入参使用String类型,如果不是数字会抛异常NumberFormatException//java.lang.Nu......
  • 小白必看的java完整下载攻略!(在Typora中有图片参考)
    Java下载在浏览器上搜索JDK(2024年最新版是22,本人下载的是21)点击官网下载,会跳到Oracle官网,需要注册账号才可下载根据自己的电脑型号选择下载(本人下载的是64的)正常情况下下载的JDK版本后缀是exeJava安装的后续操作作为一个程序员坚持不懈才能成就大事。完成Java安装后事情还......
  • JavaScript 对象
    1.JavaScript对象把一个单一值(porsche)赋给名为car的变量varcar="porsche";对象也是变量。但是对象包含很多值。这段代码把多个值(porsche,911,white)赋给名为car的变量varcar={type:"porsche",model:"911",color:"white"};值以名称:值对的方式来书写(名称和......
  • 【C++】入门基础
     1.命名空间1.1namespace的价值在C/C++中,变量、函数和后⾯要学到的类都是⼤量存在的,这些变量、函数和类的名称将都存在于全局作⽤域中,可能会导致很多冲突。使⽤命名空间的⽬的是对标识符的名称进⾏本地化,以避免命名冲突或名字污染,namespace关键字的出现就是针对这种问题的......
  • Java基础知识
    @目录一、第一个java程序二、Java中标识符的使用三、Java中的数据类型1.基本数据类型2.引用数据类型3.String类型变量的使用(字符串类型)四、Java中的运算符1.算数运算符2.赋值运算符3.比较运算符4.逻辑运算符5.位运算符6.三元运算符一、第一个java程序publicclasshello{......
  • 计算机毕业设计选题推荐-零食批发商仓库管理系统-Java/Python项目实战
    ✨作者主页:IT研究室✨个人简介:曾从事计算机专业培训教学,擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。☑文末获取源码☑精彩专栏推荐⬇⬇⬇Java项目Python项目安卓项目微信小程序项目......
  • 2024年华为OD机试真题-结队编程 -(C++/Java/python)-OD统一考试(C卷D卷)
     2024华为OD机试真题目录-(B卷C卷D卷)-【C++JavaPython】题目描述某部门计划通过结队编程来进行项目开发,已知该部门有N名员工,每个员工有独一无二的职级,每三个员工形成一个小组进行结队编程,结队分组规则如下:从部门中选出序号分别为i、j、k的3名员工,他们的职级分贝为......
  • Java基础知识分享(二)
    写在前面昨天给了十题编程题,如果你能有思路很快速地完成它,说明你的Java数据类型、运算符、选择语句、循环语句部分的基础知识很好,接下来就来看看后面的方法、数组以及他们在JVM中的内存划分知识吧!方法语句定义格式:修饰符返回值类型方法名(参数类型参数名,参数类型参数名,......
  • [Java基础]值传递
    Java值传递详解开始之前,我们先来搞懂下面这两个概念:形参&实参值传递&引用传递形参&实参方法的定义可能会用到参数(有参的方法),参数在程序语言中分为:实参(实际参数,Arguments):用于传递给函数/方法的参数,必须有确定的值。形参(形式参数,Parameters):用于定义函数/方法,接收实参,不需要......
  • java基础题(附答案)(第二天的知识点预热)
    一、填空题Java语言规定标识符由字母、下划线、美元符号和数字组成,并且第一个字符不能是数字。Java中整型变量有byte、short、int和long四种,不同类型的整数变量在内存中分配的字节数不同,数值范围也不同。对于int型变量,内存分配4个字节。在Java中浮点型变量有fl......