【 Java_Scala 基础 】
全面介绍Java基础知识
优惠券已抵扣
余额抵扣
还需支付
¥99.90
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
HarkerYX
学习各类技术CSDN博客专家!
热爱日系指弹!
目前就职新能源汽车行业!
展开
-
《JAVA: 学习导图》
《JAVA: 学习导图》预计: 2020.8.1-2020.12.31 完成 ,待定!原创 2020-07-13 15:57:31 · 2094 阅读 · 0 评论 -
《大数据: Scala 隐式转换》
一、Scala 隐式转换1.隐式函数隐式转换函数是以implicit关键字声明的带有单个参数的函数。这种函数将会自动应用,将值从一种类型转换为另一种类型隐式函数快速入门使用隐式函数可以优雅的解决数据类型转换,以前面的案例入门.implicit def f1(d: Double): Int = { d.toInt}//Double 是输入类型, Int 是转换后的类型隐式函数的底层工作原理def main(args: Array[String]): Unit = { ...原创 2020-12-23 18:27:00 · 191 阅读 · 0 评论 -
《大数据: Scala 函数式编程基础》
一、Scala 函数式编程基础后面会有一章讲解高级部分,因为要介绍过面向对象后才好理解,介绍面向对象之前讲解一点函数式编程又好理解面向对象,哈哈,是不是矛盾呢 在scala中,函数式编程和面向对象编程融合在一起,学习函数式编程式需要oop的知识,同样学习oop需要函数式编程的基础1. 函数式编程内容函数式编程基础函数定义/声明 函数运行机制 递归//难点 [最短路径,邮差问题,迷宫问题, 回溯] 过程 惰性函数和异常函数式编程高级值函数(函数字面量) 高阶函数 闭包..原创 2020-12-22 16:02:45 · 158 阅读 · 0 评论 -
《大数据: Scala 面向对象(继承与多态)》
一、Scala 面向对象(继承)1. Java继承的简单回顾class 子类名 extends 父类名 { 类体 }子类继承父类的属性和方法继承基本介绍和示意图继承可以解决代码复用,让我们的编程更加靠近人类思维.当多个类存在相同的属性(变量)和方法时,可以从这些类中抽象出父类(比如Student),在父类中定义这些相同的属性和方法,所有的子类不需要重新定义这些属性和方法,只需要通过extends语句来声明继承父类即可。和Java一样,Scala也支持类的单继承Scala继承的基本原创 2020-12-23 18:12:40 · 214 阅读 · 0 评论 -
《大数据: Scala 嵌套类》
一、Scala 嵌套类如在类中可以再定义一个类,这样的类是嵌套类,嵌套类类似于Java中的内部类Java中,类共有五大成员,请说明是哪五大成员1.属性 2.方法 3.内部类 4.构造器 5.代码块1. 对比Java内部类在Java中,一个类的内部又完整的嵌套了另一个完整的类结构。被嵌套的类称为内部类(inner class),嵌套其他类的类称为外部类。内部类最大的特点就是可以直接访问私有属性,并且可以体现类与类之间的包含关系Java内部类基本语法class Outer{ //原创 2020-12-25 18:03:24 · 196 阅读 · 0 评论 -
《大数据: Scala 语法与变量》
一、Scala 变量原创 2020-12-21 13:39:09 · 132 阅读 · 1 评论 -
《大数据: Scala 分支流程控制》
一、Scala 流程控制1. 程序流程控制介绍在程序中,程序运行的流程控制决定程序是如何执行的,是我们必须掌握的,主要有三大流程控制语句。 温馨提示: Scala语言中控制结构和Java语言中的控制结构基本相同,在不考虑特殊应用场景的情况下,代码书写方式以及理解方式都没有太大的区别顺序控制 分支控制 循环控制 2.顺序控制...原创 2020-12-21 18:59:03 · 139 阅读 · 0 评论 -
《大数据: Scala 递归编程》
一、Scala 递归编程Scala 是运行在 Java 虚拟机(Java Virtual Machine)之上,因此具有如下特点:轻松实现和丰富的 Java 类库互联互通 它既支持面向对象的编程方式,又支持函数式编程 它写出的程序像动态语言一样简洁,但事实上它确是严格意义上的静态语言 Scala 就像一位武林中的集大成者,将过去几十年计算机语言发展历史中的精萃集于一身,化繁为简,为程序员们提供了一种新的选择。设计者马丁·奥得斯基 希望程序员们将编程作为简洁,高效,令人愉快的工作。同时也让程序员原创 2020-12-29 19:03:55 · 152 阅读 · 0 评论 -
《大数据: Scala 泛型》
一、Scala 泛型如果我们要求函数的参数可以接受任意类型。可以使用泛型,这个类型可以代表任意的数据类型。 例如 List,在创建 List 时,可以传入整型、字符串、浮点数等等任意类型。那是因为 List 在 类定义时引用了泛型。比如在Java中:public interface List<E> extends Collection<E> 1. 案例要求:编写一个Message类 可以构建Int类型的Message,String类型的Message 要求使...原创 2020-12-29 19:17:45 · 162 阅读 · 0 评论 -
《大数据: Scala 循环流程控制》
一、Scala 循环流程控制for循环控制 while循环控制 do while循环控制1.for循环控制Scala也为for循环这一常见的控制结构提供了非常多的特性,这些for循环的特性被称为for推导式或for表达式 注意 to 与 until 区别// i 表示循环的变量,<- 符号表示取// i 将会从 1-3 循环,前后闭合for(i <- 1 to 3) { println(" i =" + i ) // 1 2 3}// 这种方式和前面..原创 2020-12-22 14:40:52 · 114 阅读 · 0 评论 -
《大数据: Scala 运算符》
一、Scala 运算符运算符是一种特殊的符号,用以表示数据的运算、赋值和比较等算术运算符算术运算符 赋值运算符 比较运算符(关系运算符) 逻辑运算符 位运算符1. 算术运算符算术运算符(arithmetic)是对数值类型的变量进行运算的,在Scala程序中使用的非常多 算数运算符的运算规则和Java一样细节说明对于除号“/”,它的整数除和小数除是有区别的:整数之间做除法时,只保留整数部分而舍弃小数部分。 例如:var x : Int = 10/3 ,结果是 3 当...原创 2020-12-21 18:19:02 · 139 阅读 · 0 评论 -
《大数据: Scala 介绍与安装》
一、Scala 介绍1.为什么学习ScalaSpark是新一代内存级大数据计算框架,是大数据的重要内容 Spark就是使用Scala编写的。因此为了更好的学习Spark, 需要掌握Scala这门语言 Spark的兴起,带动Scala语言的发展2.Scala发展历史联邦理工学院的马丁·奥德斯基(Martin Odersky)于2001年开始设计Scala 马丁·奥德斯基是编译器及编程的狂热爱好者,长时间的编程之后,希望发明一种语言,能够让写程序这样的基础工作变得高效,简单。所以当接触...原创 2020-12-08 18:07:20 · 227 阅读 · 0 评论 -
《大数据: Scala Akka项目练习》
一、Akka网络编程-小黄鸡客服1. 需求分析服务端进行监听(9999) 客户端可以通过键盘输入,发送咨询问题给小黄鸡客服(服务端) 小黄鸡(服务端) 回答客户的问题 2.框架3. 代码CustomerActor.scalapackage src.main.scala.yellowchicken.clientimport akka.actor.{Actor, ActorRef, ActorSelection, ActorSystem, Props}impor..原创 2020-12-31 13:42:09 · 244 阅读 · 0 评论 -
《大数据: Scala Akka并发框架》
一、Akka并发框架Akka是JAVA虚拟机JVM平台上构建高并发、分布式和容错应用的工具包和运行时,你可以理解成Akka是编写并发程序的框架 Akka用Scala语言写成,同时提供了Scala和JAVA的开发接口 Akka主要解决的问题是:可以轻松的写出高效稳定的并发程序,程序员不再过多的考虑线程、锁和资源竞争等细节1.Akka 中 Actor 模型Actor 模型用于解决什么问题? 处理并发问题关键是要保证共享数据的一致性和正确性,因为程序是多线程时,多个线程对同一个数据进行..原创 2020-12-29 19:10:43 · 345 阅读 · 0 评论 -
《大数据: Scala 简单快速入门》
一、Scala 简单快速入门1. IDEA 创建一个项目 如下(名字随便取)2. 创建的maven项目默认是不支持scala的,需要为项目添加scala的framework虽然安装了scala插件,但是创建选择时候并没有scala class项目右键...原创 2020-12-18 18:25:29 · 165 阅读 · 1 评论 -
《大数据: Scala 面向对象(类与对象)》
一、Scala 面向对象编程初级1. 类与对象引出类与对象概念先举个例子:张老太养了只猫猫:一只名字叫小白,今年3岁,白色。还有一只叫小花,今年10岁,花色。请编写一个程序,当用户输入小猫的名字时,就显示该猫的名字,年龄,颜色。如果用户输入的小猫名错误,则显示 张老太没有这只猫猫问题:假如猫有三个属性(颜色,年龄,体重),并且种类不一样,如果只有一个猫使用普通的变量也就3-4个变量还好说,如果1000只10000只猫呢,你要多少变量?还不得疯掉 使用一种新的数据类型((1) 可以管理..原创 2020-12-23 15:40:20 · 248 阅读 · 0 评论 -
《大数据: Scala 异常》
一、Scala 异常Scala提供try和catch块来处理异常。try块用于包含可能出错的代码。catch块用于处理try块中发生的异常。可以根据需要在程序中有任意数量的try...catch块 语法处理上和Java类似,但是又不尽相同对比Java异常处理回顾package com.yx.demo.java;/*@author HarkerYX@create 2020-12-23-14:24*/public class java_exception { public.原创 2020-12-23 14:43:53 · 139 阅读 · 0 评论 -
《大数据: Scala 函数式编程高级》
一、Scala 函数式编程高级偏函数(partial function)先看一个需求给你一个集合val list = List(1, 2, 3, 4, "abc") ,请完成如下要求:将集合list中的所有数字+1,并返回一个新的集合要求忽略掉 非数字 的元素,即返回的 新的集合 形式为 (2, 3, 4, 5)解决方式-map返回新的集合, 引出偏函数思路1-map+fliter方式val list = List(1, 2, 3, 4, "abc")//思路1,使用map+..原创 2020-12-25 18:20:30 · 257 阅读 · 0 评论 -
《大数据: Scala 面向对象(构造器)》
一、Scala 面向对象构造器我们来看一个需求:前面我们在创建Person的对象时,是先把一个对象创建好后,再给他的年龄和姓名属性赋值,如果现在我要求,在创建人类的对象时,就直接指定这个对象的年龄和姓名,该怎么做? 这时就可以使用构造方法/构造器 构造器(constructor)又叫构造方法,是类的一种特殊的方法,它的主要作用是完成对新对象的初始化1. 对比Java构造器基本语法[修饰符] 方法名(参数列表){ 构造方法体}Java构造器的特点在Java中一个类可以定义多个不同的原创 2020-12-23 17:43:25 · 150 阅读 · 0 评论 -
《大数据: Scala 模式匹配二》
1.对象匹配 (难点)case中对象的unapply方法(对象提取器)返回Some集合则为匹配成功 返回none集合则为匹配失败 apply方法是不用new关键字的构造方法,unapply是对象提取器 unapply只能是接受一个参数 若只提取对象的一个属性,则提取器为unapply(obj:Obj):Option[T] 若提取对象的多个属性,则提取器为unapply(obj:Obj):Option[(T1,T2,T3…)] 若提取对象的可变个属性,则提取器为unapplySeq(obj:.原创 2020-12-29 15:19:03 · 150 阅读 · 0 评论 -
《大数据: Scala 集合(列表与队列)》
一、Scala列表基本介绍Scala中的List 和Java List 不一样,在Java中List是一个接口,真正存放数据是ArrayList,而Scala的List可以直接存放数据,就是一个object,默认情况下Scala的List是不可变的,List属于序列Seq。val List = scala.collection.immutable.Listobject List extends SeqFactory[List]List默认为不可变的集合List 在 scala包对象声明的.原创 2020-12-25 18:09:02 · 160 阅读 · 0 评论 -
《Scala : 学习导图》
《Scala : 学习导图》更新中。。。 《大数据: Scala 介绍与安装》 《大数据: Scala 简单快速入门》 《大数据: Scala 原理介绍》 《大数据: Scala 语法与变量》 《大数据: Scala 数据类型》 《大数据: Scala 运算符》 《大数据: Scala 分支流程控制》 《大数...原创 2020-12-22 16:06:15 · 140 阅读 · 0 评论 -
《大数据: Scala 集合(数组与元组)》
一、Scala 数组scala集合基本介绍Scala同时支持不可变集合和可变集合,不可变集合可以安全的并发访问两个主要的包:不可变集合:scala.collection.immutable可变集合: scala.collection.mutableScala默认采用不可变集合,对于几乎所有的集合类,Scala都同时提供了可变(mutable)和不可变(immutable)的版本Scala的集合有三大类:序列Seq、集Set、映射Map,所有的集合都扩展自Iterable特质,在Sca.原创 2020-12-25 18:06:50 · 211 阅读 · 0 评论 -
《大数据: Scala 客户信息管理软件》
一 、项目需求模拟实现一个基于文本界面的《客户信息管理软件》,该软件能够实现对客户对象的插入、修改和删除(用数组实现),并能够打印客户明细表1. 需求说明主菜单:每个客户的信息被保存在Customer对象中 以一个Customer类型的数组来记录当前所有的客户 每次“添加客户”(菜单1)后,客户(Customer)对象被添加到数组中 每次“修改客户”(菜单2)后,修改后的客户(Customer)对象替换数组中原对象 每次“删除客户”(菜单3)后,客户(Customer)对象被从数组原创 2020-12-30 17:26:18 · 864 阅读 · 0 评论 -
《大数据: Scala 模式匹配一》
一、Scala模式匹配 (重点)基本介绍Scala中的模式匹配类似于Java中的switch语法,但是更加强大。模式匹配语法中,采用match关键字声明,每个分支采用case关键字进行声明,当需要匹配时,会从第一个case分支开始,如果匹配成功,那么执行对应的逻辑代码,如果匹配不成功,继续执行下一个分支进行判断。如果所有case都不匹配,那么会执行case _ 分支,类似于Java中default语句。match的细节和注意事项如果所有case都不匹配,那么会执行case _ 分支,.原创 2020-12-25 18:18:02 · 169 阅读 · 0 评论 -
《大数据: Scala 集合元素的映射》
一、Scala 集合元素的映射1. 高阶函数可以接受一个函数的函数就叫高级函数package com.yx.demo.scala.chapter08/*@author HarkerYX@create 2020-12-28-16:53*/ object HighOrderFun1 { def main(args: Array[String]): Unit = { //使用高阶函数 val res = test(sum2 _, 3.5) println("re原创 2020-12-28 16:58:25 · 170 阅读 · 0 评论 -
《大数据: Scala 集合(映射Map与Set)》
一、ScalaMapJava中的Map回顾HashMap 是一个散列表(数组+链表),它存储的内容是键值对(key-value)映射,Java中的HashMap是无序的,key不能重复。案例演示:public class TestJavaMap { public static void main(String[] args) { HashMap<String,Integer> hm = new HashMap(); hm.put("no1...原创 2020-12-25 18:13:27 · 192 阅读 · 0 评论 -
《大数据: Scala 设计模式》
一、Scala 设计模式介绍1.学习设计模式的必要性面试会被问,所以必须学 读源码时看到别人在用,尤其是一些框架大量使用到设计模式,不学看不懂源码为什么这样写,比如Runtime的单例模式. 设计模式能让专业人之间交流方便 提高代码的易维护 设计模式是编程经验的总结,我的理解:即通用的编程应用场景的模式化,套路化(站在软件设计层面思考)2.掌握设计模式的层次第1层:刚开始学编程不久,听说过什么是设计模式 第2层:有很长时间的编程经验,自己写了很多代码,其中用到了设计模式,但是自己..原创 2020-12-29 19:15:29 · 406 阅读 · 0 评论 -
《大数据: Scala 面向对象(伴生对象)》
一、伴生对象1. 先回顾静态属性和方法回顾下Java的静态概念public static 返回值类型 方法名(参数列表) {方法体} 静态属性...说明: Java中静态方法并不是通过对象调用的,而是通过类对象调用的,所以静态操作并不是面向对象的。Scala中静态的概念-伴生对象Scala语言是完全面向对象(万物皆对象)的语言,所以并没有静态的操作(即在Scala中没有静态的概念)。但是为了能够和Java语言交互(因为Java中有静态概念),就产生了一种特殊的对象来模拟类对象,我们称...原创 2020-12-23 18:17:33 · 174 阅读 · 0 评论 -
《大数据: Scala 面向对象(封装)》
一、Scala 面向对象封装面向对象编程有三大特征:封装、继承和多态封装介绍封装(encapsulation)就是把抽象出的数据和对数据的操作封装在一起,数据被保护在内部,程序的其它部分只有通过被授权的操作(成员方法),才能对数据进行操作封装的理解和好处隐藏实现细节提可以对数据进行验证,保证安全合理如何体现封装对类中的属性进行封装通过成员方法,包实现封装封装的实现步骤将属性进行私有化提供一个公共的set方法,用于对属性判断并赋值def setXxx(参数名 : 类型) .原创 2020-12-23 18:08:32 · 210 阅读 · 0 评论 -
《大数据: Scala 面向对象(包与权限)》
一、Scala 面向对象包现在有两个程序员共同开发一个项目,程序员xiaoming希望定义一个类取名 Dog ,程序员xiaoqiang也想定义一个类也叫 Dog。两个程序员为此还吵了起来,怎么办? (包管理) 1. 对比Java包Java包的三大作用区分相同名字的类 当类很多时,可以很好的管理类 控制访问范围打包基本语法package com.alibaba; 打包的本质实际上就是创建不同的文件夹来保存类文件Java引入包语法import 包; 比如 import...原创 2020-12-23 17:55:00 · 154 阅读 · 0 评论 -
《大数据: Scala 面向对象(特质trait)》
一、特质trait回顾Java接口声明接口interface 接口名实现接口class 类名 implements 接口名1,接口2在Java中, 一个类可以实现多个接口。在Java中,接口之间支持多继承接口中属性都是常量接口中的方法都是抽象的Scala接口的介绍从面向对象来看,接口并不属于面向对象的范畴,Scala是纯面向对象的语言,在Scala中,没有接口。Scala语言中,采用特质trait(特征)来代替接口的概念,也就是说,多个类具有相同的特征(特征)时,就可以将原创 2020-12-23 18:18:50 · 184 阅读 · 0 评论 -
《大数据: Scala 原理介绍》
一、Scala 原理介绍 (重点)=*=*=*=*= (从现在开始学习Scala 模式是对比Java来说,相当于复习一部分Java,对比着学习也更好的说明Scala的优点)=*=*=*=*= Java:定义类,然后在类中定义一个静态的main方法 scala:没有静态的概念,创建对象,在对象中定义main方法1.Scala执行流程分析2.Scala程序基本结构 (先了解)完全面向对象: scala完全面向对象,故scala去掉了java中非面向对象的元素,如static关键...原创 2020-12-21 13:30:16 · 382 阅读 · 0 评论 -
《大数据: Scala 数据类型》
一、Scala 数据类型scala一切皆对象,真正意义上的一切皆对象Int,Double,String,Float 等都是对象而不像java 里面的 int ,double 这类并不是对象,虽然java有封装类,所以java总体来说并不是完全面向对象1.scala数据类型体系一览图2.scala数据类型介绍Scala 与 Java有着相同的数据类型,在Scala中数据类型都是对象,也就是说scala没有java中的原生类型 (int,double等) Scala数据类型分为两大类 An.原创 2020-12-21 16:09:36 · 177 阅读 · 0 评论 -
《JAVA 基础: eclipse快捷方式》
----------------------------------------------------------------------------------快捷键 Alt+Shift+S(弹出源代码的相关选项)+v 继承覆盖方法+r 添加geter和seter+m 成员的方法+h 添加 hashcode() 和equals()+o 完成构造方法+c 继承构造方法------------------------------------------------------------原创 2020-08-07 13:57:57 · 196 阅读 · 0 评论 -
《JAVA 进阶: 代码演示十三》
综合演示用Druid 去封装DAO 去处理数据库中的数据JDBCUtilsDruid2.javapackage com.yx.demo1;import java.io.IOException;import java.sql.Connection;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import java.util.Properties;import .原创 2020-08-07 10:30:29 · 177 阅读 · 0 评论 -
《JAVA 进阶: 代码演示十二》
package com.yx.demo1;public class Student implements Comparable<Student> { private int id; private String name; private int grade; private double score; public Student() { } public Student(int id, String name, int grade, double score) .原创 2020-07-31 16:33:28 · 170 阅读 · 0 评论 -
《JAVA 进阶: 代码演示十一》
1. UDP编程演示package com.yx.demo2;import java.io.IOException;import java.net.DatagramPacket;import java.net.DatagramSocket;import java.net.InetAddress;import java.net.InetSocketAddress;import java.net.SocketException;public class UDPClient { publ原创 2020-07-31 13:57:43 · 181 阅读 · 0 评论 -
《JAVA 进阶: 代码演示十》
1. 演示同步代码块和同步方法package com.yx.demo;/* * 本类用于演示实现Runnable接口的方式多线程 * 三个窗口卖100张票,卖完退出 * 实现Runnable接口的方式由于开启多线程的时候创建的多个Thread对象,所以只需要一个自定义线程类对象, * 那么这个自定义线程类对象的普通属性就可以被多个线程同时方法。所以我们说实现Runnable接口的方式更适合多个线程访问同一个数据。 * 本类采用synchronized代码块处理线程安全问题 */cl原创 2020-07-30 16:42:07 · 181 阅读 · 0 评论 -
《JAVA 进阶: 代码演示九》
1 . 演示文件的copypackage com.yx.demo1;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import org.junit.Test;/* * 本类用于演示复制文件 */public class TestCopyFile { @Test public void testOne()throws Exception{ File ol原创 2020-07-30 13:29:06 · 216 阅读 · 0 评论