最近学大数据,据说要懂点Java才行
Catalogue
简介
- Java是Java面向对象程序设计语言和Java平台的总称
- 主要特性:面向对象、解释型、平台独立与可移植性
Java的3个体系 | en | cn |
---|---|---|
JavaSE(J2SE) | Java 2 Platform Standard Edition | Java平台标准版 |
JavaEE(J2EE) | Java 2 Platform Enterprise Edition | Java平台企业版 |
JavaME(J2ME) | Java 2 Platform Micro Edition | Java平台微型版 |
abbr | en | cn | 解释 |
---|---|---|---|
JVM | Java Virtual Machine | Java虚拟机 | 将 Java代码 翻译成 当前操作系统 可以理解的指令 |
JRE | Java Runtime Environment | Java运行时环境 | JRE=JVM+Java核心类库 |
JDK | Java Development Kit | Java语言的 SDK | JDK=JRE+其它Java工具 |
安装Java8安装
- 下载对应版本
https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html - 安装软件,改下安装目录,本文是
D:\coding\jdk
- 配置环境变量
控制面板\系统和安全\系统
->高级系统设置->环境变量
Java8概念图
第一个Java程序
1、创建名为HelloWorld.java
的文件
vim HelloWorld.java
2、编写代码
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello World");
}
}
关键字 | 说明 |
---|---|
public | 公共的 |
class | 类 |
static | 静态方法 |
void | 无返回值 |
println | 换行打印 |
3、编译+运行
javac HelloWorld.java
java HelloWorld
4、结果显示
Hello World
IDE安装
- Integrated Development Environment:集成开发环境
- Java的IDE有
Eclipse
和IntelliJ IDEA
,我选了第2个 - 去官网【https://www.jetbrains.com/idea/】下载应版本
- 安装,改下安装目录,勾选
64-bit launcher
,其余默认即可
创建工程
默认选择了Java及其SDK
项目路径
右键src
创建.java
文件
写入代码,点击绿色三角形运行
IDE会自动生成橙色的文件,并打印输入
目录文件结构
工程(project)>>模块(module)>>包(package)
包以点分隔,实际是层层文件夹
基础语法
代码注释
/**
* 可以用来自动创建文档的注释
* javadoc -d directory_name a.java
*/
public class a {
// 单行注释
public static void main(String[] args) {
/*
多行注释
*/
System.out.println("Hello, world!");
}
}
命名规范
- 英文 数字 _ $ .
- 下划线 不独行
- 数字 不开头
- 区分大小写
- 不重名
- 禁用java关键词
命名规则 | 包 | 类&接口 | 方法&变量 | 常量 |
---|---|---|---|---|
单个单词 | 全小写 | 首字母大写 | 小写 | 全大写 |
多个单词 | 全小写,用. 分隔 | 大驼峰 | 驼峰 | 全大写,用_ 分隔 |
e.g. | user.name | UserName | userName | USER_NAME |
+ + 和 - -
public class a {
public static void main(String[] args) {
double x = 1.5;
double y = ++x;
System.out.printf("%.2f\n", x);
System.out.printf("%.2f", y);
}
}
2.50
2.50
public class a {
public static void main(String[] args) {
double x = 1.5;
double y = x--;
System.out.printf("%.2f\n", x);
System.out.printf("%.2f", y);
}
}
0.50
1.50
条件
if
…else if
…else
…swich
…case
…case
…
public class a {
public static void main(String[] args) {
int n = 95;
if (n >= 90) {
System.out.println("优秀");
} else if (n >= 60) {
System.out.println("及格");
} else {
System.out.println("挂科");
}
}
}
优秀
循环
while
:先判断,后循环do while
:先循环,后判断for
break
和continue
public class a {
public static void main(String[] args) {
int sum = 0;
int n = 1;
do {
sum = sum + n;
n ++;
} while (n <= 100);
System.out.println(sum);
}
}
5050
数组
public class a {
public static void main(String[] args) {
int[][] arr = {
{0, 1, 2, 3},
{4, 5, 6, 7},
{8, 9},
};
for (int i = 0; i < arr.length; i++) {
for (int j = 0; j < arr[i].length; j++) {
System.out.print(arr[i][j]);
}
}
}
}
0123456789
异常处理
- 捕获异常:
try { ... } catch (Exception e) { ... }
- 抛出异常:
throw
- 断言:
assert
method(相当于Python的函数)
继承
class Dogface {
// 类变量
public String name;
public int mp = 100;
public int ad;
// 构造方法(类似Python的__init__初始化)
public Dogface(String name, int ad) {
this.name = name;
this.ad = ad;
System.out.println(name);
System.out.println("生命值:" + mp);
System.out.println("物理攻击:" + ad);
}
// 方法(类似Python的函数)
public int attack(Dogface enemy) {
return enemy.mp - ad;
}
}
class Hero extends Dogface{
public int ap;
public Hero(String name, int ad, int ap) {
// 继承父类的构造方法
super(name, ad);
// 英雄新特性
this.ap = ap;
System.out.println("法术攻击:" + ad);
}
public int attackMagic(Dogface enemy) {
return attack(enemy) - ap;
}
}
public class Lol {
public static void main(String[] args) {
Hero a = new Hero("a", 30, 50);
Hero b = new Hero("b", 15, 15);
System.out.println("=====碾碎他们=====");
int mp = a.attackMagic(b);
System.out.println(b.name + "剩余生命值" + mp);
}
}
JAR
- Java Archive
- Java归档
- 是一种归档文件,以ZIP格式构建,以.jar为文件扩展名
- 常用于聚合大量的Java类文件、相关的元数据和资源(文本、图片等)文件到一个文件,以便开发Java平台应用软件或库
- 打开方式:Java(使用JDK自带的jar命令)、winrar
Maven
- 是一款自动化构建工具,专注服务于Java平台的项目构建和依赖管理
- 主要功能:添加第三方jar包、解决jar包间依赖和冲突、工程打包和部署
- 官网:http://maven.apache.org/
- 包查询地址:https://mvnrepository.com/
mvn -version
- IntelliJ IDEA已附带Maven,我们也可以另外装
- 去官网下载压缩包,解压并改名到
D:\coding\maven
- 环境变量
M2_HOME
和%M2_HOME%\bin
- 去到
%M2_HOME%\conf
,编辑settings.xml
<!-- 本地仓库存放路径 -->
<localRepository>D:\mavenRepository</localRepository>
<!-- 配置阿里云镜像下载更快 -->
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>central</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
- 去到
IntelliJ IDEA
,修改Setting
附录
en | 🔉 | cn |
---|---|---|
archive | /ˈɑːrkaɪv/ | n. 档案馆;vt. 把…存档 |
runtime | 运行时间;运行时 | |
virtual | /ˈvɜːrtʃuəl/ | 虚拟的 |
maven | /ˈmeɪvn/ | 专家 |
override | /ˌoʊvərˈraɪd/ | vt. 推翻 |
repository | /rɪˈpɑːzətɔːri/ | 贮藏室 |
nexus | /ˈneksəs/ | n. 关系;连结 |
assert | /əˈsɜːrt/ | vt. 维护;断言;声称 |