第一讲 Java入门

                                                      1.爪哇岛(印尼)                 Java之父

                                                      2. 爪哇产的咖啡                James Gosling

                                                      3. 计算机语言                  詹姆斯·高斯林

课程大纲

课程内容

学习效果

掌握目标

Java入门

计算机发展史

了解

了解各代计算机的特点

编程语言发展史

了解

了解多种编程语言及应用领域

Java的特点

了解

了解java语言的应用领域和特点

Java开发环境

掌握

熟练掌握Java开发环境的搭建和第一个Java程序的编写、编译和运行

IDE eclipse配置和使用

掌握

熟练使用eclipse开发java项目

一、计算机发展史

  1. 第一代计算机

电子管计算机(1946—1958年)

第一台通用的、完全电子的计算机由约翰.莫奇勒和普雷斯波.埃克特发明,这台计算机被称为ENIAC(Electronic Numerical Integrator and Calculator,电子数字集成器和计算器)。它是在1946年完成设计利用了将近18000个集成块,有100英尺长,10米英尺高,重达30吨。

2、第二代计算机

晶体管计算机(1958—1964年)

使用晶体管代替真空管,这既减小了计算机的体积,也节省了开支,从而使得中小型企业也可以负担得起。FORTRAN和COBOL两个种高级计算机程序设计语言的发明使得编程更加容易,这两种语言将编程任务和计算机运算任务离开来。一个土木工程师能够直接编写一个FORTRAN程序来解决问题而不必涉及计算机结构中的具体电子细节。

3、第三代计算机

集成电路计算机(1964—1970年)

集成电路(晶体管、导线以及其他部件做在一块单芯片上)的发明更加减少了计算机的成本和大小,小型计算机出现在市场上。封装的程序,就是通常所说的软件包也已经有售。小型公司可以买到需要的软件包(如会计程序)而不必写自己的程序。一个新的工业——软件工业就此诞生了。

  1. 第四代计算机

大规模集成电路计算机(1970年至今)

硬件方面,逻辑元件采用大规模和超大规模集成电路(LSI和VLSI)。软件方面出现了数据库管理系统、网络管理系统和面向对象语言等。1971年世界上第一台微处理器在美国硅谷诞生,开创了微型计算机的新时代。应用领域从科学计算、事务管理、过程控制逐步走向家庭。

由于集成技术的发展,半导体芯片的集成度更高,每块芯片可容纳数万乃至数百万个晶体管,并且可以把运算器和控制器都集中在一个芯片上、从而出现了微处理器,并且可以用微处理器和大规模、超大规模集成电路组装成微型计算机,就是我们常说的微电脑或PC机。微型计算机体积小,价格便宜,使用方便,但它的功能和运算速度已经达到甚至超过了过去的大型计算机。另一方面,利用大规模、超大规模集成电路制造的各种逻辑芯片,已经制成了体积并不很大,但运算速度可达一亿甚至几十亿次的巨型计算机。我国继1983年研制成功每秒运算一亿次的银河Ⅰ这型巨型机以后,又于1993年研制成功每秒运算十亿次的银河Ⅱ型通用并行巨型计算机。这一时期还产生了新一代的程序设计语言以及数据库管理系统和网络软件等。

随着物理元器件的变化,不仅计算机主机经历了更新换代,它的外部设备也在不断地变革。比如外存储器,由最初的阴极射线显示管发展到磁芯、磁鼓,以后又发展为通用的磁盘,现又出现了体积更小、容量更大、速度更快的只读光盘(CD—ROM)

二、编程语言发展史

1、打孔机

2、汇编语言

3、高级语言

(1)C语言

C语言是目前世界上流行、使用非常广泛的高级程序设计语言。

主要应用领域:操作系统、嵌入式开发、系统软件、游戏……

(2)C++

C++是C语言的继承,它既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行以继承和多态为特点的面向对象的程序设计。

应用领域:游戏、操作系统、嵌入式开发……

(3)Objective-C

主要应用领域:

IOS操作系统

IOS应用程序

Mac OS操作系统

Mac OS 系统上的应用程序

(4)PHP

主要应用领域:Web应用、企业级应用 主要用于网站的开发

(5)Python

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

应用领域:系统编程、图形处理、数字处理、文本处理、黑客编程、网络爬虫......

(6)Ruby

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

Ruby是一种动态的,侧重于简单个高效的开源语言,他是一个优雅的语法,能够很自然的阅读和编写,适合于快速开发,一般开发效率是JAVA的5倍。

应用领域:web开发、医学影像处理等。

  • Java语言的应用领域

1、安卓应用    

安卓系统上的APP都是使用Java语言开发的

2、银行金融行业应用

3、电商系统

4、第三方支付平台

5,大数据领域

一些流行的工具是Apache Hadoop,Apache Spark,Apache Storm等等,这些工具中的大多数都是基于Java的,Java概念被广泛用于数据处理。

  • Java语言
  1. Java语言发展史

JDK java开发工具包

SUN-(Stanford University Network斯坦福大学网络公司)

1995年5月23日,Java语言诞生

1996年1月 JDK1.0

1997年2月 JDK1.1

1998年12月  JDK1.2(将Java分成了J2SE,J2EE,J2ME)

2000年5月 J2SE1.3

2002年2月 J2SE1.4

2004年10月 JDK1.5(改名JavaSE5.0,JavaEE,JavaME)

2006年12月JavaSE6.0

2009年04月20日,甲骨文(Oracle)74亿美元收购Sun。

2011年7月 JavaSE7.0

20143 JavaSE8.0(市场主流版本)

  1. Java体系(三大平台)

J2SE(更名为JavaSE) Standard Edition

是整个Java技术的核心和基础,它是J2ME、J2EE的编程基础。

可以完成一些桌面应用程序的开发。

J2EE(更名为JavaEE) Enterprice Edition

Java技术中应用最广泛的部分,J2EE提供了企业应用开发相关的完整解决方案。

 

J2ME(更名为JavaME) Mirco Edition

主要用于控制移动设备和信息家电等有限存储的设备。

 

 

3、关于Java的大事件

2009年4月20日甲骨文(Oracle)以现金收购Sun微系统公司,交易价格达74亿美元。

 

4、Java的特点

一种面向对象的语言(号称完全面向对象)

一种平台无关的语言(跨平台)

一种半编译半解释型语言

(1)半编译半解释

Java的源文件不能直接运行,需要经过编译器编译,编译成字节码文件(.class)。

字节码文件也不是cpu可以直接识别的命令,而是需要解释器解释运行

(2)跨平台特性

平台:指的是操作系统(Windows,Linux,Mac)

跨平台:Java程序可以在任意操作系统上运行(一次编写到处运行)

即Java程序可以在不同操作系统上均可以运行。(Java可以运行的程序是.class文件相当于Windows中的.exe文件)

原理:实现跨平台需要依赖Java的虚拟机 JVM (Java Virtual Machine)

注意:Java字节码借助于JVM可以实现跨平台,但是JVM本身不夸平台,需要针对不同的操作系统开发不同版本的JVM。

5、JDK、JRE和JVM

JDK(Java Development Kit):Java开发工具包,包含开发Java程序的所有工具,如javac和java等,JDK里包含JRE。

JRE(Java Runtime Environment):Java运行时环境,如果要运行Java程序,就需要JRE的支持,JRE里包含JVM。

JVM(Java Virtual Machine),Java虚拟机,它是运行所有Java程序的虚拟计算机,好比是街机游戏的模拟器。

总结

JDK:Java开发工具包(JRE+给开发人员用的工具)

JRE:Java运行环境(JVM+核心类库)

JVM:Java虚拟机(实现Java跨平台的方式)

要进行Java开发,首先就需要安装JDK(安装好JDK,JRE和JVM就都有了)。

  • Java开发环境搭建
  1. 下载JDK

下载地址:

http://www.oracle.com/technetwork/java/javase/downloads/index.html

2、安装JDK

双击安装JDK即可。

注意事项:

安装路径:尽量不要安装在C盘、安装路径尽量不要有中文、安装路径尽量不要包含各种特殊符号,最好就是纯英文和数字

jre的安装:在安装jdk的过程中,提示安装jre,一般不需要再次安装jre。如 果一定要安装,确保安装的路径不要和jdk的安装路径重复,否则会覆盖文件

验证成功:在jdk的安装路径的bin目录下,启动命令窗口,输入java -version如果能看到版本信息,说明安装成功

安装后目录介绍

3、编写一个Java程序(HelloWorld程序)、并编译运行

(1)编写源文件

1、创建一个文本文档

2、在文档中编写如下代码

public class HelloWorld{

public static void main(String[] args){

System.out.println("helloworld!!!");

}

}

3、修改文件名为 HelloWorld.java

(2)编译运行

1、把这个文件拷贝到jdk的bin目录下

2、打开命令窗口

3、切换到jdk的bin目录

  1. 在这个目录下执行

javac HelloWorld.java

会在这个目录下生产一个字节码文件(.class文件)

  1. 执行HelloWorld.class这个文件

java HelloWorld

如果能够输入helloworld!!!则程序运行正确

(3)注意事项

运行时直接写java HelloWorld即可,不需要.class后缀名

如果修改了代码,需要重新编译然后再运行

自己在动手写的时候一定要注意单词拼写、标点符号(全英文状态)

文件后缀名一定要是.java

(4)代码详解(了解)

4、配置环境变量

(1)配置Path

配置Path的原因

没有Path时,JDK中的javac和java等命令,只有进入到JDK的bin目录下才能执行。

配置方式

计算机(右键)---属性 ---- 高级系统设置----环境变量

找到系统变量中的Path,把JDK的bin目录的路径配置到Path中。

(2)配置JAVA_HOME

配置JAVA_HOME作用

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

Path的配置就可以修改成 %JAVA_HOME%\bin。

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

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

配置方式

(3)配置CLASSPATH(了解)

JDK1.5开始,不再需要配置CLASSPATH

 配置ClASSPATH的作用

1 在执行 java这个命令时 (例如  java HelloWorld),查找 .class 文件所在的位置

2 当一个.class 文件 引用了JDK中的其他 .class 文件时,查找那些文件所在路径。

配置方式

CLASSPATH配置值

.;F:\dev\java\jdk1.8\lib\tools.jar;F:\dev\java\jdk1.8\lib\dt.jar

  1. 开发工具

(1)文件编辑工具

记事本、Notepad++、EditPlus … 文本编辑工具

(2)IDE(集成开发环境)

JCreator  简易工具。适合初学者

JBuilder 庞大,缓慢,功能强

NetBeans

IntellJ Idea

eclipse 庞大,免费,功能强  …

  1. eclipse使用

(1)下载安装

https://www.eclipse.org/downloads/eclipse-packages/

解压即可,不需要安装

(2)基本设置

1、启动和设置工作空间

2、欢迎页面

关闭即可

3、选择模式

Javase阶段,选择java模式

4、设置编码方式

5设置字体

选择适合自己的字体和字体大小

(3)基本操作

1、创建工程

设置工程名,工程名尽量不使用数字开头。

今后编写的java代码都放在src中

2、创建包

创建包,就理解为创建一个文件夹

3、创建类(java文件)

在包中创建类(在文件夹中创建文件)

指定类名(文件名)

4、编写代码并运行

5、运行结果显示

结果显示在控制台。

  • 补充内容(计算机基础知识)
  1. windows系统常用快捷键和命令

编辑操作

CTRL+C--------复制

CTRL+X--------剪切

CTRL+V--------粘贴

CTRL+A--------全选

CTRL+Z--------撤销

CTRL+S--------保存

基本操作

【Alt】+TAB窗口切换

【Win】+D  显示桌面

【Win】+L  屏幕锁定

【Win】+E  打开“我的电脑”

【Win】+R打开“运行窗口",输入:

calc—>启动计算器

mspaint—>打开画图板(不建议)

notepad—>打开记事本

cmd—>CMD命令提示符

2、常用cmd命令

盘符之间的切换: 盘符: 回车,如进入D盘,  D: 回车

进入指定目录  : cd day01

目录回退: cd.. 回到上一级目录

: cd\  回到盘符根目录

清屏: cls

快捷进入命令行: 地址栏输入cmd回车

此处打开命令窗口:Shift + 鼠标右键

3、操作系统

操作系统:(Operating System,简称OS)是管理和控制计算机硬件与软件资源的计算机程序,是直接运行在“裸机”上的最基本的系统软件,任何其他软件都必须在操作系统的支持下才能运行。

系统分类:Unix家族和Windows家族。

4、进制转换

(1)进制

一个中国人喜欢听的谣言:

莱布尼兹(数学家)通过在中国的传教士,得到了八卦图,他领悟到只要把八卦中的阴代表0,阳代表1,就可以创立一种新的记数法:二进制。这一神话虽经部分数学史家之批驳,但至今仍广为传播。

阴阳八卦

老子的《道德经》第四十二章:道生一,一生二,二生三,三生万物。

进制介绍

进制也就是进位制,是人们规定的一种进位方法。 对于任何一种进制---X进制,就表示某一位置上的数运算时是逢X进一位。

十进制是逢十进一,十六进制是逢十六进一,二进制就是逢二进一,以此类推,x进制就是逢x进位。

二进制:由两个基本数字0,1组成,运算规律是逢二进一.计算机都使用二进制表示数据.

八进制:由0、1、2、3、4、5、6、7组成,运算规律是逢八进一. 10  11  12  13

十进制:由0,1,2、3、4、5、6、7、8、9组成.

十六进制:由0,1,2、3、4、5、6、7、8、9、A、B、C、D、E、F组成.

0 1 10 11 100 101 110 111 1000  转换成10进制   10   0*2^0+1*2^1

(2)二进制数量级转换

二进制数系统中,位简记为b,也称为比特,每个二进制数字0或1就是一个位(bit)。0101010101

计算机中的二进制则是一个非常微小的开关,用“开”来表示1,“关”来表示0。

位是数据存储的最小单位,其中8 bit 就称为一个字节(Byte),1KB不等于1000B.

(3)进制间的转换操作

1、十进制和二进制之间转换:

十进制--->二进制:

对于整数部分,用被除数反复除以2,除第一次外,每次除以2均取前一次商的整数部分作被除数并依次记下每次的余数。另外,所得到的商的最后一位余数是所求二进制数的最高位。

二进制--->十进制:

进制数第1位的权值是2的0次方,第2位的权值是2的1次方,第2位的权值是2的2次方……公式:

第N位 * 2的N-1次方,结果再相加.

2、十进制和八进制之间转换:

十进制--->八进制:

10进制数转换成8进制的方法,和转换为2进制的方法类似,唯一变化:除数由2变成8。

八进制--->十进制:

进制数第1位的权值为8的0次方,第2位权值为8的1次方,第3位权值为8的2次方

八进制和二进制的转换

3、十进制和十六进制之间转换

十进制--->十六进制:

10进制数转换成16进制的方法,和转换为2进制的方法类似,唯一变化:除数由2变成16。

十六进制--->十进制:

第0位的权值为16的0次方,第1位的权值为16的1次方,第2位的权值为16的2次方……

十六进制和二进制转换

(4)原码、反码和补码

在计算机内,有符号数有3种表示法:原码、反码和补码,所有数据的运算都是采用补码进行的。

正数的原码,反码,补码都相同,负数稍微复杂。

  1. 原码:

就是二进制定点表示法,即最高位为符号位,“0”表示正,“1”表示负,其余位表示数值的大小。

  1. 反码:

负数的反码是对其原码逐位取反,但符号位除外。

  1. 补码:

负数的补码是在其反码的末位加1。

  1. 操作5(101)和-5的二进制。

5:

原码101,反码101,补码101.

-5:

作业

1.对计算机相关科普知识有一定了解

2.了解Java相关的历史、版本、三大平台

3.掌握JDK、JRE、JVM之间的区别和联系

4.理解Java跨平台的原理

5.能够自己搭建Java开发环境(下载/安装/配置/验证)

6.能够完成HelloWorld代码的编写并正常运行

7.理解Java程序的执行流程

《第一阶段 Java基础 Day01笔记》————————第一讲 Java入门相关推荐

  1. java基础 day01笔记

    1. Eclipse的下载安装.Java开发环境搭建 2.HelloWorld案例 3.注释.关键字.标识符 4.数据(数据类型.常量) ###01Eclipse的下载安装 A: Eclipse的下载 ...

  2. 第一阶段unity基础

    第一阶段unity基础 引言 注意: 1.重点:1.适用性(什么时候用,怎么用)<记脑子里>  2.作用(能够解决什么问题) 3.定义  4.操作/语法 2.每天练习必须会独立完成 3.形 ...

  3. 《循序渐进学运维》第一阶段Linux基础

    前言 循序渐进学运维系列,第一阶段的内容已经全部更新完毕.包含学习方法篇,和基础入门课程. 所有内容均在csdn存档. 想要学习的可以按照这个步骤进行学习,有不完善的地方欢迎在留言区留言,一起交流. ...

  4. 橘子笔记~Java基础~Day01

    橘子笔记~Java基础~Day01 01.Java语言概述 02.常用的DOS命令 03.Java语言开发环境 04.JDK的下载和安装 05.JDK和JRE跨平台 06.编写HelloWorld案例 ...

  5. Java基础知识笔记-11_2-Swing用户界面组件

    Java基础知识笔记-11_2-Swing用户界面组件 这章教程两个版本,一个语法是非lambda表达式版本,另一个是lambda表达式版本 非lambda表达式版本 1 Java Swing概述 J ...

  6. 尚学堂JAVA基础学习笔记_2/2

    尚学堂JAVA基础学习笔记_2/2 文章目录 尚学堂JAVA基础学习笔记_2/2 写在前面 第10章 IO技术 1. IO入门 2. IO的API 3. 装饰流 4. IO实战 5. CommonsI ...

  7. Java中大数据数组,Java基础学习笔记之数组详解

    摘要:这篇Java开发技术栏目下的"Java基础学习笔记之数组详解",介绍的技术点是"java基础学习笔记.基础学习笔记.Java基础.数组详解.学习笔记.Java&qu ...

  8. 51自学网-Java基础视频教程-笔记 最后修改于2020/9/9

    Java基础视频教程笔记 简介 正文 ==JVM Java Virtual Machine== 栈区 Stack Segment 堆区 Heap Segment 静态区 Data Segment 代码 ...

  9. 尚硅谷java基础学习笔记

    小郑 Java基础 常用DOS命令 dir:列出当前目录下的文件以及文件夹 md:创建目录 rd: 删除目录 cd:进入指定的目录 cd- : 退回到上一级目录 cd\ : 退回到根目录 del : ...

最新文章

  1. 暗时间:开发效率为何如此低下
  2. vue.js几行实现的简单的todo list
  3. 伟大:看谷歌如何造福人类健康事业
  4. 新浪是如何分析处理32亿条实时日志的?
  5. 64位计算机安装32位,64位电脑装32位系统,小编教你64位电脑怎么装32位系统
  6. 一直在构建工作空间_大华股份殷俊:AI,构建数字世界的基础
  7. Vue项目代码改进(五)—— 将侧边栏菜单改造为动态后,如何按需显示不同图标
  8. ubuntu挂载移动硬盘出现错误:mount:unknown filesystem type ‘exfat‘
  9. Win7下建立Wifi热点
  10. Ubuntu16.04使用时的一些问题总结
  11. Boost.Python.ArgumentError: Python argument types in错误解决及Boost安装配置
  12. 【公司内部资料】顺丰新员工入职考试35道考试题目答案
  13. Matlab之数据归一化函数——mapminmax()
  14. Flowplayer简单酷炫的视频播放器
  15. java给pdf加水印_java pdf添加水印
  16. 奥特曼小分队之四(Work Breakdown Structure)
  17. 360流量卫士android 9,360流量卫士
  18. linux 自己做桌面,自己动手量身定做Linux系统的桌面
  19. vue el-select远程搜索
  20. 【Android 】零基础到飞升 | 构建一个可复用的自定义BaseAdapter

热门文章

  1. 天正改变视口比例的方法
  2. 1 爬虫 百度/搜狗/豆瓣/药监局
  3. flex布局的整理 弹性布局
  4. CentOS系统中安装QQ2012
  5. Kali Linux断网攻击
  6. 计算机系统结构专业是工学还是理学,理科有哪些专业和工作 理学和工学的区别解析...
  7. E: Package 'p7zip-full' has no installation candidate
  8. MQTT心跳 Keep Alive
  9. matlab复现,考虑综合需求响应和阶梯型碳交易机制的综合能源系统优化调度策略
  10. 逗比的商业模式,逗比的人生,逗比的写个帖子随便玩玩。