Python工程师的大数据之路(一)Java入门

最近学大数据,据说要懂点Java才行

简介

  • JavaJava面向对象程序设计语言Java平台的总称
  • 主要特性:面向对象、解释型、平台独立与可移植性
Java的3个体系encn
JavaSE(J2SE)Java 2 Platform Standard EditionJava平台标准版
JavaEE(J2EE)Java 2 Platform Enterprise EditionJava平台企业版
JavaME(J2ME)Java 2 Platform Micro EditionJava平台微型版
abbrencn解释
JVMJava Virtual MachineJava虚拟机将 Java代码 翻译成 当前操作系统 可以理解的指令
JREJava Runtime EnvironmentJava运行时环境JRE=JVM+Java核心类库
JDKJava Development KitJava语言的 SDKJDK=JRE+其它Java工具

安装Java8安装

  1. 下载对应版本
    https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html
  2. 安装软件,改下安装目录,本文是D:\coding\jdk
  3. 配置环境变量控制面板\系统和安全\系统->高级系统设置->环境变量

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有EclipseIntelliJ 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.nameUserNameuserNameUSER_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

条件

  • ifelse ifelse
  • swichcasecase
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
  • breakcontinue
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
  1. IntelliJ IDEA已附带Maven,我们也可以另外装
  2. 去官网下载压缩包,解压并改名到D:\coding\maven
  3. 环境变量M2_HOME%M2_HOME%\bin
  4. 去到%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>
  1. 去到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. 维护;断言;声称
已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 技术黑板 设计师:CSDN官方博客 返回首页
实付 99.90元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值