
小白看的Java教程
文章平均质量分 80
lanyotechcs
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【给小白看的Java教程】第二十一章,面向对象的基石:类和对象
类和对象的关系(了解) 面向对象思想中有两个非常重要的概念,类和对象,其中: + 类(class),是对某一类事务的抽象描述(状态和行为),如下图的抽象女人图。 + 对象(object),表示现实生活中该类事物的个体,也称之为实例,如下图的每一个具体的女人。 + 类可以看作是对象的数据类型,就好比无论你是谁,只要是女人,那么类型就是女人。 上图,从左往右看是抽象的过...原创 2018-09-18 13:57:36 · 190 阅读 · 0 评论 -
【小白看的Java教程】第三十六章,牛头对马嘴:Map【荐】
认识Map(理解) Map,翻译为映射,在数学中的解释为: 设A、B是两个非空集合,如果存在一个法则f,使得A中的每个元素a,按法则f,在B中有唯一确定的元素b与之对应,则称f为从A到B的映射,记作f:A→B。 也就是说映射表示两个集合之间各自元素的一种“对应”的关系,在面向对象中我们使用Map来封装和表示这种关系。 从定义和结构图上,可以看出Map并不是集合,而表示两个集合之间的一种关系,故...原创 2018-09-19 10:38:30 · 268 阅读 · 0 评论 -
【小白看的Java教程】第三十七章,Mr.R和Mr.W:Java中的IO【荐】
File类(掌握) File课理解为文件和文件夹(目录),用于表示磁盘中某个文件或文件夹的路径。该类包含了文件的创建、删除、重命名、判断是否存在等方法。 只能设置和获取文件本身的信息(文件大小,是否可读),不能设置和获取文件里面的内容。 Unix: 严格区分大小写,使用”/”来表示路径分隔符。 Windows: 默认情况下是不区分大小写的,使用”\”来分割目录路径。但是在Java中一个...原创 2018-09-19 10:39:42 · 403 阅读 · 0 评论 -
【小白看的Java教程】第二章,你好,师姐
一般而言,编写的第一个程序,习惯叫做HelloWorld程序。 需求:在控制台界面,输出:你好师姐 HelloWorld程序开发(重点) 1. 新建文本文档,起名为Hello.java,此时需要在文件夹选项中去掉隐藏文件类型的拓展名。 2. 使用记事本或Editplus或Notepad++等文本编辑器,打开Hello.java文件,输入以下代码 3.&nb...原创 2018-09-14 22:46:09 · 261 阅读 · 0 评论 -
【小白看的Java教程】第十一章,翻来覆去的循环
话说唐僧师徒四人还在21世纪继续闯关,一天,师徒四人来到数字王国: 第一关:Boss叫傻乎乎的唐僧叫500声帅哥。 可是唐僧平时吃素,体力不好,叫200声就晕了,咋办,悟空马上变了个复读机出来,录音,播放。 第二关:Boss觉得唐僧好欺负再叫他从1数到100。此时复读机用不上来了,咋办? 第三关:求100以内正整数和? 于是,唐僧算1到25的和,悟空算26到50的和,八戒算51到75的和...原创 2018-09-15 11:24:26 · 284 阅读 · 0 评论 -
【小白看的Java教程】第十二章,更精确的控制循环
嵌套循环(掌握) 循环解决的是:某一个操作需要重复执行,如果一个重复的操作需要做N次,此时得使用嵌套循环。 注:可以把内层循环看成是一个整体。 打印直角三角形 public class LoopInLoopDemo{ public static void main(String[] args) { for (int line = 1; line <= 5; lin...原创 2018-09-15 11:25:14 · 219 阅读 · 0 评论 -
【小白看的Java教程】第十三章,物以群分:数组
JVM内存模型(掌握) JVM内存划分,人为的根据不同内存空间的存储特点以及存储的数据。 + 程序计数器:当前线程所执行的字节码的行号指示器。 + 本地方法栈:为虚拟机使用的native方法服务。 + 方法区:线程共享的内存区域,存储已被虚拟机加载的类信息、常量、静态变量即时编译器编译后的代码数据等(这个区域的内存回收目标主要是针对常量池的回收和对类型的卸...原创 2018-09-15 11:25:58 · 170 阅读 · 0 评论 -
【小白看的Java教程】第十四章,让数组动起来
基本操作(重点) int[] nums = new int[]{1,3,5,7}; + 获取数组长度,语法:int size = 数组名.length; int size = nums.length; -> 输出结果4 + 获取元素值,语法:元素类型 变量名 = 数组名[index]; + 数组的索引从0开始,最大索引值是数组长度...原创 2018-09-15 11:26:52 · 263 阅读 · 0 评论 -
【小白看的Java教程】第十五章,更聪明的写代码:方法
之前讲解的循环操作,可以解决的是代码重复的问题,但是此时的重复的代码必须是有规律的。那循环操作,能解决所有的代码重复吗?答案肯定是不行的,比如针对于某一种功能的重复操作,循环解决不了,终于方法就该登场了。举个例子。 编写一个飞机大战游戏,程序在运行过程中,需要不断地发射子弹。假设发射子弹功能需要编写200行代码,那么,每次发射子弹都需要重复地编写这200行代码,这样的程序太low了。在开发中我们...原创 2018-09-15 11:27:54 · 327 阅读 · 0 评论 -
【小白看的Java教程】第十六章,参数,你到底是怎么传递的?
基本类型参数(掌握) static void change(int x) { System.out.println("change before,x=" + x);//? x = 100;// 修改x变量的值 System.out.println("change after,x=" + x);//? } public static void main(Str...原创 2018-09-15 11:28:47 · 199 阅读 · 0 评论 -
【小白看的Java教程】第十七章,Java开发的莫邪神兵:Eclipse
Eclipse概述(了解) Eclipse 是一个开源的基于Java的可扩展开发平台。Eclipse工具本身就是采用Java语言编写的,也就意味着运行Eclipse工具必须Java的运行环境(JRE)或者JDK。 下载地址:https://www.eclipse.org/downloads/eclipse-packages/ 如果要支持Java8以上的语法,推荐Eclipse版本在4.x...原创 2018-09-15 11:34:18 · 394 阅读 · 0 评论 -
【小白看的Java教程】第十八章,有条不紊:包
打印数组元素(掌握) API中还有一个专门操作数组的工具类Arrays,该类提供了对数组元素的拷贝、元素搜索、元素排序、打印等功能方法,且该类为不同数据类型的数组都重载了相同功能的方法。 需求:通过调用Arrays类中的toString方法完成打印数组元素的功能,掌握如何给类定义包、导入类以及看API文档。 为类定义包-package(掌握) 在开发中存在几百个Java文件,为了更好的...原创 2018-09-15 11:36:39 · 179 阅读 · 0 评论 -
【小白看的Java教程】第十九章,更复杂一点的数组操作
数组拷贝(掌握) 需求:定义一个方法arraycopy完成int类型数组的拷贝 实现int类型数组元素拷贝(掌握) 从指定源数组中从指定的位置开始复制指定数量的元素到目标数组的指定位置。 src - 源数组 srcPos - 源数组中的开始索引位置 dest - 目标数组 destPos - 目标数据中的开始索引位置 length - 要复制元素的数量 代码如下: ...原创 2018-09-15 11:37:48 · 342 阅读 · 0 评论 -
【小白看的Java教程】第三十五章,贝联珠贯:排序
Comparable接口(了解) 缺省情况下,TreeSet中的元素会采用自然排序(从小到大),此时要求元素对象必须实现java.util.Comparable接口,大多数JDK自带的类都实现了该接口,比如八大包装类和String。 TreeSet会调用元素的compareTo方法来比较元素的大小关系,然后将集合元素按照升序排列。 public interface Comparable<T&...原创 2018-09-19 10:28:28 · 222 阅读 · 0 评论 -
【小白看的Java教程】第三十四章,Set结构
集合元素遍历(掌握) 对集合中的每一个元素获取出来。 List<String> list = new ArrayList<>(); list.add("西施"); list.add("王昭君"); list.add("貂蝉"); list.add("杨玉环"); 使用for遍历 for (int index = 0; index < list.siz原创 2018-09-19 10:27:48 · 229 阅读 · 0 评论 -
【给小白看的Java教程】第二十二章,我的私人财产:封装
封装思想 封装是面向对象三大特征之一,其含义有两个(掌握思想): + 把对象的字段和方法存放在一个独立的模块中(类) + 信息隐藏,尽可能隐藏对象的数据和功能的实现细节 封装的好处: 1、保证数据的安全性,防止调用者随意修改数据 2、提高组件的重用性,把公用功能放到一个类中,谁需要该功能,直接调用即可 没有封装带来的困惑: 学生类: public class Student{ ...原创 2018-09-18 13:58:27 · 182 阅读 · 0 评论 -
【给小白看的Java教程】第二十三章,生命的遗传:继承
继承思想 需求,使用面向对象的知识定义出老师(Teacher)、学生(Student)、员工(Employee)三个类: + 老师:拥有名字、年龄、级别三个状态,有授课和休息两个功能 + 学生:拥有名字、年龄、学好三个状态,有学习和休息两个功能 + 员工:拥有名字、年龄、入职时间三个状态,有工作和休息两个功能 代码截图如下: 此时,发现三个类中的存在着大量的共同代码...原创 2018-09-18 13:59:38 · 309 阅读 · 0 评论 -
【给小白看的Java教程】第二十四章,生命的多样性:多态
接口(了解) 接口是一种约定规范,是多个抽象方法的集合。仅仅只是定义了应该有哪些功能,本身不实现功能,至于每个功能具体怎么实现,就交给实现类完成。 接口中的方法是抽象方法,并不提供功能实现,体现了规范和实现相分离的思想,也体现了组件之间低耦合的思想。 所谓耦合度,表示组件之间的依赖关系。依赖关系越多,耦合性越强,同时表明组件的独立性越差,在开发中往往提倡降低耦合性,可提高其组件独立性,举一个低耦合...原创 2018-09-18 14:00:23 · 357 阅读 · 0 评论 -
【给小白看的Java教程】第二十五章,面向对象查漏补缺
this关键字(重点掌握) 什么是this:表示当前对象 this主要存在于两个位置: + 在构造器中:表示当前被创建的对象 + 在方法中:哪一个对象调用this所在的方法,此时this就表示哪一个对象 public class Cat { private String name; private int age; public Cat() { ...原创 2018-09-18 14:01:32 · 260 阅读 · 0 评论 -
【给小白看的Java教程】第二十六章,可胜枚举:枚举
###枚举的诞生历史(了解) 在服装行业,衣服的分类根据性别可以表示为三种情况:男装、女装、中性服装。 private ? type; public void setType(? type){ this.type = type } 需求:定义一个变量来表示服装的分类?请问该变量的类型使用什么? 使用int和String类型,且先假设使用int类型,因为分类情况是固定的,为了防止调用者乱创建...原创 2018-09-18 14:03:30 · 284 阅读 · 0 评论 -
【给小白看的Java教程】第二十七章,进入JavaAPI,热身
工具类的设计 一般的,把很多完成通用功能的方法分类存放到类中,这些类就叫工具类。 + 工具类起名:XxxUtil、XxxUtils、XxxXTool、XxxTools等,其中Xxx表示一类事物,比如ArrayUtil、StringUtil、JdbcUtil。 + 工具类存放的包起名:util、utils、tool、tools等 工具类如何设计,在开发中有两种设计: + ...原创 2018-09-18 14:17:21 · 214 阅读 · 0 评论 -
【小白看的Java教程】第二十八章,认识Java的一些常用类
###BigDecimal(掌握) float和double都不能表示精确的小数,使用BigDecimal类可以解决该问题,BigDecimal用于处理金钱或任意精度要求高的数据。 BigDecimal不能直接把赋值和运算操作,只能通过构造器传递数据,而且必须使用字符串类型的构造器,操作BigDecimal主要是加减乘除四个操作。 // 使用double类型: System.out.println...原创 2018-09-18 14:18:21 · 268 阅读 · 0 评论 -
【小白看的Java教程】第二十九章,人非圣贤,孰能无过:异常
异常概述 异常就是程序在运行时出现的意外的,不正常的情况或结果。 若异常产生后没有正确的处理,会导致程序的中断,以致造成损失。所以我们在开发中要尽量考虑到各种可能会发生的异常,并对其作出正确的处理,确保程序的正常执行。主流编程语言大多都提供了异常处理机制。 异常的继承体系(掌握) Throwable类有两个子类Error和Exception,分别表示错误和异常。 Exception 和Error...原创 2018-09-18 14:19:55 · 281 阅读 · 0 评论 -
【小白看的Java教程】第三十章,多管齐下:线程入门
线程与并发 理解线程与进程的区别(了解) 进程:是指一个内存中运行的应用程序,每个进程都有自己独立的一块内存空间,一个进程中可以有多个线程(1,n)。比如在Windows的任务管理器中,一个运行的xx.exe就是一个进程。 线程:是指进程中的一个执行任务(控制单元),一个进程中可以运行多个线程,多个线程可共享数据。 多进程:操作系统中同时运行的多个程序。 多线程:在同一个进程中同时运行的多个任务。...原创 2018-09-18 14:20:37 · 234 阅读 · 0 评论 -
【小白看的Java教程】第三十一章,杜绝多头管理:线程中的安全问题
继承方式VS实现方式(掌握) 当多线程并发访问同一个资源时,会导致线程出现安全性的原因,看案例。 案例:现有50个苹果,现在有请三个童鞋(小A、小B、小C)上台表演吃苹果。 因为A、B、C三个人可以同时吃苹果,此时得使用多线程技术来实现这个案例。 分析: 可以定义三个线程对象,并启动线程. 第一步:每一个同学吃苹果的时候:先展示自己拿到手上苹果的编号,如1,2,3,36… 第二步:再吃掉苹果(意味...原创 2018-09-19 10:24:12 · 291 阅读 · 0 评论 -
【小白看的Java教程】第三十二章,改善数据存在的章法:数据结构入门
Java的集合框架其实就是对数据结构的封装,在学习集合框架之前,有必要先了解下数据结构。 什么是数据结构(了解) 所谓数据结构,其实就是计算机存储、组织数据的方式。 数据结构是用来模拟数据存储操作的,其实就是对数据做增删改查操作。 + 增:把某个数据存储到某个容器中 + 删:从容器中把某个数据删除掉 + 改:把容器中某个数据替换成另一个数据 + 查:把容器中...原创 2018-09-19 10:25:34 · 308 阅读 · 0 评论 -
【小白看的Java教程】第三十三章,列队出发
集合框架体系 集合是Java中提供的一种容器,可以用来存储多个数据,根据不同存储方式形成的体系结构,就叫做集合框架体系(掌握)。 每一种容器类底层拥有不同的底层算法。 既然数组可以存储多个数据,为什么要出现集合? + 数组的长度是固定的,集合的长度是可变的。 + 使用Java类封装出一个个容器类,开发者只需要直接调用即可,不用再手动创建容器类。 集合中存储的数据,叫做元素,元...原创 2018-09-19 10:26:48 · 252 阅读 · 0 评论 -
【小白看的Java教程】第二十章,走进新世界:面向对象入门
软件开发方式(了解) 面向过程(了解) 一种较早的编程思想,顾名思义该思想是站在过程的角度思考问题,强调的是我该怎么去做。即功能的执行过程,即先干啥,后干啥。 面向过程思想中函数是一等公民,每个函数负责完成某一个功能,用以接受输入数据,函数对输入数据进行处理,然后输出结果数据。 而每一个功能我们都使用函数(类似于方法)把这些步骤一步一步实现,使用的时候依次调用函数就可以了。 ...原创 2018-09-15 11:38:26 · 228 阅读 · 0 评论