大数据:java基础

知识点1:Java基础的目录结构

说明:面向对象是重点!!

 

知识点2:Java语言介绍

1. 人机交互方式

 

 

2. 常用的dos命令

3. 计算机编程语言的分代

第一代:机器语言

第二代:汇编语言

第三代:高级语言

> 面向过程的语言:C、Pascal、Fortran面向过程的语言
>
> 面向对象的语言:Java 、C# 、Scala 、 Python

4. Java的历史

1991年 Green项目,开发语言最初命名为Oak (橡树)
1994年,开发组意识到Oak 非常适合于互联网
1996年,发布JDK 1.0,约8.3万个网页应用Java技术来制作
1997年,发布JDK 1.1,JavaOne会议召开,创当时全球同类会议规模之最
1998年,发布JDK 1.2,同年发布企业平台J2EE
1999年,Java分成J2SE、J2EE和J2ME,JSP/Servlet技术诞生
2004年,发布里程碑式版本:JDK 1.5,为突出此版本的重要性,更名为JDK 5.0
2005年,J2SE -> JavaSE,J2EE -> JavaEE,J2ME -> JavaME
2009年,Oracle公司收购SUN,交易价格74亿美元
2011年,发布JDK 7.0
2014年,发布JDK 8.0,是继JDK 5.0以来变化最大的版本
2017年,发布JDK 9.0,最大限度实现模块化
2018年3月,发布JDK 10.0,版本号也称为18.3
2018年9月,发布JDK 11.0,版本号也称为18.9

5. Java技术平台的划分

 

6. 主要的应用场景

企业级应用:主要指复杂的大企业的软件系统、各种类型的网站。Java的安全机制以及它的跨平台的优势,使它在分布式系统领域开发中有广泛应用。应用领域包括金融、电信、交通、电子商务等。


Android平台应用:Android应用程序使用Java语言编写。Android开发水平的高低很大程度上取决于Java语言核心能力是否扎实。


大数据平台开发:各类框架有Hadoop,spark,storm,flink等,就这类技术生态圈来讲,还有各种中间件如flume,kafka,sqoop等等 ,这些框架以及工具大多数是用Java编写而成,但提供诸如Java,scala,Python,R等各种语言API供编程。
移动领域应用:主要表现在消费和嵌入式领域,是指在各种小型设备上的应用,包括手机、PDA、机顶盒、汽车通信设备等。

7. Java语言的特点

 1.面向对象性

 2.健壮性

  • 去除了C/C++中的指针

  • 提供了自动的内存管理机制(内存的自动申请和释放)

  • 3.跨平台性
    • write once , run anywhere

    • 之所以能实现一次编译,到处运行,归功于:JVM

 

知识点3:环境的搭建

1. JDK、JRE、JVM的关系

 

JDK(Java Development Kit   Java开发工具包)
JRE(Java Runtime Environment   Java运行环境) 
JVM(Java Virtual Machine     Java虚拟机)

2. 下载、安装JDK

傻瓜式安装

3. JDK的安装后的路径

 

bin:存放java的相关可执行行的命令。比如:javac、java、javadoc、jstack、jmap、jmc、javap、jvirtual 等

include:存放c数据头。java底层是使用C语言编写的

lib:相关可执行性命令对应的一些jar文件等

src.zip:存放java的源代码

4. 配置环境变量

 

 

知识点4:HelloWorld

1. 编写程序

class HelloChina{
public static void main(String[] args){ //args: arguments 参数
System.out.println("hello,China!!");
System.out.println("hello,China!!");
System.out.println(123 * 71);
}
}

2.执行过程

 

1.将 Java 代码编写到扩展名为 .java 的文件中。

2.通过 javac 命令对该 java 文件进行编译

3.通过 java 命令对生成的 class 文件进行运行

3. 常见的错误

  • 编译或运行时的文件名不对

  • 代码中{}成对出现

  • main()的格式是固定的:public static void main(String[] args) 或 public static void main(String args[])

  • 每一行执行语句最后以;结尾!!

知识点5:注释

/*
Java有三种注释信息:
方式一:单行注释 //
方式二:多行注释

1.单行注释和多行注释的作用:
① 对程序中的变量、执行流程、方法等进行解释说明
② 用于程序的调试

2. 单行注释和多行注释的特点:编译之后生成的字节码文件中,不包含当行注释和多行注释注释掉的信息。

3. 多行注释不可以嵌套使用

方式三:文档注释(java特有)

作用:注释内容可以被JDK提供的工具 javadoc 所解析,生成一套以网页文件形式体现的该程序的说明文档。

*/
/**
文档注释信息:
@author shkstart
@version 1.0
@date 2020-6-22

这是我的第一个java程序!感觉很不错!!
*/
public class TestComment{
/*
这是程序的入口
格式是固定的!

*/
/**
这是main()方法,作为程序的入口
*/
public static void main(String args[]) { //args : arguments的缩写
System.out.print("Hello World!"); //print():输出内部的数据即可
System.out.println("Hello World!");//println():输出内部的数据之后,换行
//System.out.println("Hello World!")
}
}

如何生成javadoc对应的文档?

总结:

1. 编写-编译-运行的过程:

  • 编写一个java文件,名为:HelloWorld.java

内容为:

class HelloChina{
public static void main(String[] args){ 
System.out.println("hello,China!!");

}
}

  • 编译:javac HelloWorld.java

生成HelloChina.class文件

  • 运行:java HelloChina

2. 一个java源文件中可以编写多个java类。编译之后,会生成多个以类名命名的字节码文件

class HelloShangHai {
public static void main(String[] args) {
System.out.println("Hello World!");
}
}

class SongJiang{
}

class Person{
}

class Dog{
}

 

 

3. 一个java源文件中,最多只能有一个类声明为public的。且此类的类名,必须与java源文件名相同

4. java语言严格区分大小写

知识点6:关键字和保留字

关键字(keyword)的定义和特点
定义:被Java语言赋予了特殊含义,用做专门用途的字符串(单词)
特点:关键字中所有字母都为小写

Java保留字:现有Java版本尚未使用,但以后版本可能会作为关键字使用。自己命名标识符时要避免使用这些保留字 

比如:goto 、const

知识点7:标识符

概念

1. java中定义的变量名、方法名、类名、接口名、常量名、包名等都是标识符
2. 技巧:凡是可以自己命名的地方,都是标识符

命名规则

3. 定义合法标识符规则:
> 由26个英文字母大小写,0-9 ,_或 $ 组成 
> 数字不可以开头。
> 不可以使用关键字和保留字,但能包含关键字和保留字。
> Java中严格区分大小写,长度无限制。
> 标识符不能包含空格。

小结:凡是不满足上述规则的命名,都会报编译的错误!

命名规范

4. 标识符命名规范:
包名:多单词组成时所有字母都小写:xxxyyyzzz
类名、接口名:多单词组成时,所有单词的首字母大写:XxxYyyZzz (大驼峰)
变量名、方法名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写:xxxYyyZzz (小驼峰)
常量名:所有字母都大写。多单词时每个单词用下划线连接:XXX_YYY_ZZZ

小结:如果不满足上述的规范,编译、运行仍可正常执行。
要求大家在开发时,要遵循上述的规范!

注意点

5. 给标识符命名时,要见名知意。

对应的代码测试

class IdentifierTest {
public static void main(String[] args) {
System.out.println("Hello World!");
}
}

class _8hello1
{
}

class public1{
}

class Goto{
}

class Ren{
}
class staticvoid{
}

class Hello123{

}
/*
class hello123{

}
*/

 

 

posted @ 2020-06-24 19:11  浪子逆行  阅读(41)  评论(0)    收藏  举报