计算机语言
- 低级语言:更接近于计算机的语言
- 机器语言: 只由0和1组成
- 汇编语言: 包含一些助记符
- 高级语言-更接近于人的语言:
- 面向过程的: C
- 面向对象的: C++、Java、C#
Java简介
Java是一门高级编程语言,由sun公司在1995年推出的;
2009年sun公司被Oracle公司收购;
Java背后的故事:
sun公司,主做嵌入式程序;在1990年左右,市场上智能家电市场会火,James Gosling(高司令)组件了一个技术团队,开发一套通用的智能家电管理系统;初期计划使用C++开发,但是C++由很多缺陷,Gosling计划在C++之上做扩展,发现不合适;后来计划重新开发一个语言,Oak(橡胶树),第一次融入面向对象编程思想,吸收了c++的优点,摒弃了C++的缺点;使用了Oak语言开发通用的智能家电的管理系统;成立了子公司FirstPerson,主推该项目;参与了多次招标,都没有中标,sun公司解散了子公司,项目和Oak语言被搁置;
互联 开始了,初期的互联 访问静态的 页,市场上迫切需要在浏览器中实现动态效果;在浏览器端嵌入程序,轻量级,在 络中可以快速传输的程序;sun公司基于Oak语言开发浏览器端动态效果程序案例,非常受欢迎,计划推出Oak语言;因为Oak已经被注册,更为Java;
Java的logo:
冒着热气的咖啡杯
Java之父:
James Gosling(高司令)
不跨平台:
手机 –下载QQ软件
吧 –下载QQ软件 –数据线–手机上
QQ软件:Windows版本 安卓版本
QQ腾讯主要用c开发的
问题:
1、不方便用户使用
2、人员成本 时间成本大
概念:
使用Java开发的一套程序无需修改就可以在任意平台运行,这就是跨平台;
跨平台的原理:
Java环境的安装配置
1. JVM、JRE、JDK
JVM:Java虚拟机 是跨平台的核心
JRE(Java Runtime Enviroment):java运行时环境,JRE=JVM+核心类库
JDK:java开发工具包,JDK=JRE+开发工具
2. JDK的版本
-
JDK1.0-JDK1.1-JDK1.2
- J2SE: 标准版本 基础版本 Java基础语法
- J2ME:移动端的版本
- J2EE: 企业级版本
-
JDK1.3-JDK1.4-JDK1.5(JDK5)
- 里程碑式的版本
- 1.5新特性
- JavaSE: 标准版本 基础版本 Java基础语法
- JavaME:移动端的版本
- JavaEE: 企业级版本
-
JDK6-JDK7
- JDK7是oracle公司收购sun公司之后推出的第一个版本
-
JDK8
- 市场上使用较多JDK8的版本
- 授课时使用的版本
- 新特性-Lambda表达式
-
JDK9-JDK10-JDK11…
- 新版本市场使用不多
- 新版本中可能还存在一些现在还没有发现的问题
3. JDK的安装
检查是否安装过JDK:java -version
如果没有则进行安装:
本课程中使用Java1.8版本,小版本 不限制
1、准备安装包
www.oracle.com 下载 jdk-8u45-windows-x64.exe
2、安装JDK
双击运行安装包
更改安装路径:
A. 默认安装在c盘,c是系统盘,不建议将自己的软件安装在c盘;
B. 软件资源不好管理
在除c盘之外的其他盘下新建一个soft目录,以后安装的所有软件都安装在此目录下;
注意:
1、路径中不要出现中文和特殊字符 空格
2、已经安装过一个公共jre,后边的jre可以安装也可以不安装;
3、安装完之后,在安装目录下的bin目录中就可以使用了,其他目录无法使用;
3、java环境变量配置
环境变量:
- 什么是环境变量:
- 当我们在命令行中输入一些命令时,事实上是在运行计算机中的某一个小程序,当你输入了一个程序名之后, 计算机会尝试在一些指定的路径中查找是否有该名字的程序,如有,则运行该程序,如都找不到,则 错:command not found
- 我们可以通过配置环境变量的方式,通知计算机去哪些目录下查找目标程序。方式时配置一个叫做PATH的变量,它的值就是所有需要查找的路径
此电脑(我的电脑)-》右键-》属性-》左侧有高级系统设置-》右下角环境变量
用户变量:只对当前用户生效
初期学习建议使用用户变量
系统变量:对所有用户生效
Path:
可以在Path变量中指定jdk bin目录下的内容,这样在任意一个目录下都可以访问到bin目录下的内容
JAVA_HOME:
自定义
新建一个变量,变量名:JAVA_HOME;变量值:JDK的安装目录(具体到bin目录的上一级目录即可)
在Path变量中来引入JAVA_HOME变量:
%变量名%bin
%JAVA_HOME%bin
测试环境变量配置是否成功:
在cmd窗口中,执行java -version命令;
Windows系统的命令窗口
打开命令窗口
-
方式:
- 搜索框:cmd 回车
- 快捷键:Win+r,在对话框中输入cmd
- 文件夹路径处输入cmd
-
区别:
- 方式1和方式2打开cmd,默认的路径
- 方式3打开,路径为打开cmd的路径
命令提示符
-
在输入命令的前边位置有一个路径的提示信息
-
默认:
- C:UsersAdministrator>
- C:Users当前系统的用户名
- 如果通过方式3打开,则命令提示符和打开的路径一致的
-
命令提示符中的路径表示当前执行命令的位置
常用的Windows命令
-
切换盘符
- 命令:盘符:
- 例如:切换到d盘 d:
- 盘符大小写均可
-
切换路径
- 命令 :cd(change directory)
- cd 路径
- 例如:D: 1-JDKjdk8>cd D: 1-JDKjdk6
-
查看当前路径下所有的目录和文件
- 命令:dir
-
路径
- 绝对路径:
- Windows:以盘符开头的路径
- 例如:D: 1-JDKjdk8>cd D: 1-JDKjdk6
- 例如:北京市海淀区南三环西路甲18 几门几单元
- 优势:完整、准确
- 劣势:长
- 相对路径:
- 相对当前路径而言
- 例如:去一下702
- 例如:D: 1-JDK>cd jdk6
- 优势:短、简单
- 劣势:以当前位置为前提,当前位置改变,则相对路径失效
- … 表示父目录或上一级目录
- 例如:D: 1-JDK>cd …/soft
- 绝对路径:
入门案例
运行程序输出”Hello World”
-
修改文件名为Demo,文件后缀修改为.java
-
使用记事本将Demo.java文件打开
-
在文件中定义一个类 class
- class 类名{}
- 类名可以自定义
- {}:表示范围,要求必须是一对
-
在类中定义一个main方法-主方法 主函数
- 如果类中没有main方法,则编译时不会 错但是运行会 错;
- main程序的入口,main方法的写法是固定,记住就可以了;
- public static void main(String args[]){}
-
在main方法中写输出语句
- System.out.println(“Hello World!”);
注意:在Java中一行代码结束需要以分 结尾;
不同平台上通过javac命令编译的.class文件是相同的,实现跨平台是通过不同平台上安装的JVM执行引擎来实现的。
练习:
写Demo2.java,输出”I Love JAVA!”
注意的问题:
1、java文件如果修改了要重新编译运行才能生效
2、Java文件名和类名必须一致吗可以不一致
如果不一致,则编译生成的字节码文件名是和类名保持一致的;
运行时也应该指定为类名
3、如果定义类时加public修饰,则类名和文件名必须一致
4、一个.java文件中能否定义多class/p>
可以定义多个类,但是一个.java文件中只能有一个被public修饰的类
5、java严格区分大小写
- 注意单词拼写正确,要求所有符 英文半角符
总结:
- Java概述
- Java特点-> 跨平台原理
- 安装JDK,JVM,JRE,JDK关系
- 第一个Java程序
- 代码的构成
- class
- main
- 具体的代码
- 编译到运行的过程
- 代码的细节和需要注意的问题
- 代码的构成
有基础可以做一下练习题
递归相关问题
-
汉诺塔谜题
汉诺塔是一个数学谜题。有3根柱子(或木桩、塔)和一些可以在柱子之间来回移动的不同大小的圆盘。开始时,所有的圆盘按照从小到大的次序自上而下叠放在一根柱子上,形成一个圆锥结构。现在要求把整叠圆盘移动到另一个柱子上,移动时要遵循下面的规则:
- 每次只能移动一个圆盘
- 每次移动,只能移动柱子最上面的一个圆盘到另一根柱子(这根柱子上有可能已有圆盘)。
- 任何时候不能出现大圆盘在小圆盘上方的情况
请用代码实现解迷过程。
-
任意给定一个数组,请用递归方法判定数组中的元素是否是有序的
文章知识点与官方知识档案匹配,可进一步学习相关知识Java技能树首页概览91611 人正在系统学习中
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!