#大数据学习笔记第1天# Java概述

第一节课

软件&软件开发

计算机硬件常识,存储器分类:

  • Cache:高速缓存
  • 内存:Main Memory/Primary Memory
  • 硬盘:Secondary Memory: Hard Drive

硬盘上的文件不能直接访问,必须先加载到内存中,所有的程序都是在内存中运行的。

什么是计算机语音:

  • 人类语言:是人与人之间沟通的一种方式;
  • 计算机语言:人与计算交流的方式;

计算机发展简史:

  • 第一代:机器码
  • 第二代:汇编语言(出现了一些简单的英文单词)
  • 第三代:高级语言(更加接近人类语言,容易理解和记忆,如:C,C++,C#,JAVA)

人机交互方式

  • 图形界面GUI:Windows系统
  • 命令行方式CLI:DOS窗口,Bash命令

常用DOS命令

  • dir: 列出当前目录下的文件夹以及文件;
  • md: mkdir的缩写,创建一个空目录;
  • rd: remove directory简写,删除空目录;
  • cd: chdir的缩写,切换一个目录,进入目录;
  • del: 删除文件;
  • exit: 退出dos命令行;

第二节课

Java简介

  • SUN公司1995年推出的一门高级编程语言;
  • 2009年被Oracle公司收购;
  • 随着Java技术在Web方面的不断成熟,已经成为了Web应用程序的首选开发语言;
  • 是Hadoop等大数据开源框架首选开发语言;
  • 特点是:完全面向对象,安全可靠,与平台没有关系;

Java语言的三种技术架构:

  • JAVA EE 企业版 (主要用于开发Web应用程序)
  • JAVA SE 标准版 (大数据开发使用这种版本)
  • JAVE ME 小型版 (是为开发电子消费产品和嵌入式设备提供的解决方案,逐渐被淘汰)

Java语言的特点:跨平台性

平台指的是各种OS(操作系统Operation System),通过Java语言编写的应用程序在不同的操作系统平台上都可以运行。 Java之所以可以在各种平台上运行,是因为Java针对各种平台都开发了不同的JVM虚拟机(Java Virtual Machine)。同样的Java程序在不同的平台上都能运行,这就是Java的跨平台性。

Java开发环境安装与配置

明确什么是:JRE(java runtime environment), JDK(java development kit); 『下载』和『安装』JDK,『配置』环境变量(CMD中敲set可以查看环境变量); 安装完成后可以在命令行中输入java命令进行『验证』;

1. 什么是JRE(jvm+核心类库lib),JDK:JRE包括Java虚拟机,和Java程序所需要的核心类库等;

2. JDK(jre+工具tool)是提供给Java开发人员使用的,其中包含了Java的开发工具,也包括了JRE,所以安装了JDK,就不用再单独安装JRE了。

下载JDK(Java开发工具包)官网:www.oracle.com 注意操作系统以及版本的选择。

3. 安装JDK,建议安装路径最好不要有中文字符或者空格,提示安装JRE时,可以选择不安装。

4. 配置环境变量Path:‘我的电脑-属性-高级-环境变量’。编辑Path环境变量,加上java工具所在目录,各个路径之间用英文”;”分隔,建议放在最前面;打开DOS命令行,在任意目录下执行javac命令,如果出现javac的参数信息,配置成功。

第三节课

安装Notepad
安装完成后,配置字符集编码ANSI、文件关联.java、自动输入完成等;

第一个Java程序

一、编写之前调整系统,取消隐藏的已知类型文件的扩展名;

文本编辑器:Notepad++

  1. 将java代码编写到后缀名为.java的文件中
  2. 通过javac命令对该java文件进行编译
  3. 通过java命令运行生成的class文件

注意区分大小写。

二、编译:将源码文件编译成JVM可以识别的文件,在该源码文件目录下,通过javac编译工具,对Hello.java文件进行编译;如果程序没有出错,没有任何提示,但在当前目录下会出现一个Hello.class文件,该文件称为字节码文件,也是可执行的java的程序。

三、运行:通过运行工具java.exe对字节码文件进行执行,注意java命令后边的文件不用加.class,正常时就会输出“Hello World”

常见的错误:

  • 缺少大括号(不成对)
  • 字母大小写错误
  • 关键字单词拼写错误

代码:

Select Code
1
2
3
4
5
public class Hello{
	public static void main(String[] args){
		System.out.println("Hello World");
	}
}

如果在class前面加上public修饰,说明这是一个公共类,此时类名和文件名必须保持一致。一个源文件中可以包含多个类,编译之后,各自形成字节码文件。

编译后的文件名称为:Hello.class,内容如下图所示:

转义字符

  • \r: 回车,光标移到行首
  • \n: 换行符,光标移到到下一行
  • \t: tab键
  • \\: 输出一个\

第四节课

classpath:
可以在CMD中临时配置:set classpath=c:/;.
如果需要永久设置,则通过环境变量进行配置;

  • 既然class文件(字节码文件)是java的运行文件,可不可以实现在任意目录下都可以执行某一目录下的class文件呢?
  • 根据path环境变量的原理,可以定义一个名为classpath环境变量,将要运行的class文件所在的目录定义在该变量中;
  • JVM查找类文件的顺序:
    • 如果没有配置classpath环境变量,JVM只在当前目录下查找要运行的类文件;
    • 如果配置了classpath环境变量,JVM会先在classpath环境变量值得目录中查找要运行的类文件:
      • 值的结尾处如果加上分号,那么JVM在classpath目录下没有找到要指定的类文件,会在当前目录下再查找一次;
      • 值的结尾处如果没有加上分号,那么JVM在classpath目录下没有找到要指定的类文件,不会再当前目录下查找,即使当前目录下有,也不会运行;

注释:
用于注释、说明、解释程序的文字就是注释。主要是写给开发人员看的。

  • 单行 //
  • 多行 /* …. */
  • 文档注释 /** …. */

小白都可以看得懂的”第一个Java程序”

小白都可以看得懂的”第一个Java程序”

# Java简介
Java 是由Sun Microsystems公司于1995年5月推出的高级程序设计语言。Java可运行于多平台,如Windows, Mac OS, 及其他多种UNIX版本的系统。

# Java环境安装\编辑器准备
java开发工具包JDK:http://www.oracle.com/technetwork/cn/java/javase/downloads/index.html

在「环境变量」中配置三个属性的值:JAVA_HOME,CLASSPATH,Path。

– 变量名:JAVA_HOME
– 变量值:C:\Program Files (x86)\Java\jdk1.8.0_91 // 要根据自己的实际路径配置

– 变量名:CLASSPATH
– 变量值:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar; //记得前面有个”.”表示当前目录下查找

– 变量名:Path
– 变量值:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;

在CMD命令行中使用命令:java -version, java, javac 检测是否成功的安装了 Java JDK。

Java编辑器下载地址:http://www.eclipse.org/downloads/

# Java的第一个程序HelloWorld.java

如果你有过其他面向对象开发的编程,可以更加容易理解,Java本身也是一门面向对象的编程语言,整个的Java的程序可以理解为是对象的集合。

我们第一次接触,还不需要理解的非常深入,关键是能够找找Java的开发感觉。

比如这个简单的 「Hello World」入门的第一个代码,你要尽可能的彻底理解它,当然在后续我们学习Java的面向对象知识后,会比较深入的理解。

首先我们的代码文件名为:HelloWorld.java。

1. Java文件是 `.java` 后缀;
2. 文件名和类名要一致
3. 类名的首字母是要大写的,多个单词时,首字母要大写(遵循驼峰命名)。
4. 类名区分大小写。

在类当中定义了一个 main() 方法:

1. main() 方法是程序运行的入口;
2. public, static 是权限修饰的关键字(在后续的面向对象知识中会涉及到,暂时先不理解那么深入)
3. main(String[] args) 也可以写成 main(String args[]), 括号中()传入的是参数;不同于PHP的语法,在Java中定义变量时必须制定变量的类型,这里定义的是一个名词为 args 的字符串类型的数组。(关于更多的数据类型:诸如整型、浮点数、字符、布尔,会在后面的章节涉及到)

System.out.println(“Hello World”) 怎么理解呢?从它最早实现的功能会比较好理解,它的作用是输出“Hello World”字符串。

1. System.out.println() 是Java提供给我们的方法,关于更多的像字符串操作、数学运算等等…我们只需要死记硬背就可以了!至于为什么这么写,后面慢慢就明白啦!比如:”.”语法就是访问对象的方法的运算符。(先理解到这里,不要着急)
2. System.out.print() 少了 ln,2者之间最大的区别是,一个换行,一个不换行。(^_^, 自己敲代码会印象更深刻的哦,我也是通过敲代码发现2者之间的区别的!)

# 运行Java第一个程序

为了方便大家能够更加清楚的对比,我使用 git bash 来运行我们的第一段java代码,大家也可以使用 CMD 工具,效果是一样的。

– 首先在运行之前,当前文件夹只有:HelloWorld.java 文件;
– 执行命令:javac HelloWorld.java 就会生成 HelloWorld.class 文件(二进制文件)
– 然后执行命令:java HelloWorld 就会执行我们的java程序,输出Hello World。

通过这个实例,我们能够初步的理解Java代码的编写和运行过程啦!是不是觉得这种感觉很奇妙!

虽然,目前我们的代码只是最最简单的输出一个字符串,但是这是一个最好的开始!

彩蛋:前面我们看到的 abcde 纯字符的 HelloWorld.java 文件经过javac命令编译后的 HelloWorld.class 二进制(机器可以懂的代码)是长这样的:

写代码,就是每天进步一点点!