learning
文章平均质量分 92
簪笏
一个学习Java的萌新
展开
-
循环语句—for/while/do...while
在介绍之前引入一个问题:为什么要写循环语句?在此我们先来看一个常见问题:为此,为了不重复输入大量的冗余代码,我们需要用到循环语句,来帮我们简化代码的结构。循环是用来控制语句块重复执行的一种结构。Java语言中有三种主要的循环结构语句,即:for循环、while循环、do…while循环,现在对其一 一介绍for循环首先是for循环的语法结构:for(1.初始化;2.循环继续的条件;4....原创 2019-07-24 15:19:46 · 600 阅读 · 0 评论 -
面向对象三大特点——封装、继承和多态
学过面向对象的我们都知道,面向对象有三大特点为——封装、继承和多态。封装之前在介绍函数时我们说一个函数就是封装的体现,封装就是将一类事物进行封装成一个类,或者封装具有独立功能的代码块,封装的好处就是明确了内外,内部的东西外部无需知道,只要创建一个类的实例对象进行调用其中的方法即可。目前我们所见的封装体现有:循环、函数、类、 private(用该关键词修饰的函数和对外界是不可被访问的,且也不...原创 2019-08-19 15:59:11 · 297 阅读 · 0 评论 -
静态和成员的特点(Java)
为了更加能方便的理解我们的静态函数、变量和成员函数、变量,通过两个问题来详细描述一下我们静态和成员的特点。问题一:class Demo03{ public static void main(String[] args){ A a=new A(); }}class A{ A a=new A(); }我们发现平时在创建对象时...原创 2019-08-14 18:00:13 · 611 阅读 · 0 评论 -
内部类、object类的方法解析和基本数据的包装类(Java)
内部类当我们在描述一个事物的时候发现,该事物中有存在另一个事物,那么将后者称之为内部类,前者称之为外部类。就如在前面介绍的链栈结构,链表和结点就是这样的关系。链表是由结点组成,所以结点类是链表的内部类,而链表是结点的外部内。但是之前都是在该外部类里面对内部类进行操作的,那么如何在外部类的外面对内部类进行操作呢?下面一 一介绍:首先展示一下内部类的表现形式:class Outer{...原创 2019-08-23 23:56:27 · 153 阅读 · 0 评论 -
抽象类和接口(Java)
抽象类在介绍抽象类之前,我们先来看一段代码:class Animal{ int age; String name; Animal(){} //Animal的构造函数 public void eatFood(){} //每个动物都有吃的食物 public void speaking(){} //每个动物都有它叫的声音 public...原创 2019-08-20 15:31:44 · 165 阅读 · 0 评论 -
栈——链栈和数组栈(Java)
栈(stack)又名堆栈,它是一种运算受限的线性表。限定仅在表尾进行插入和删除操作的线性表。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈,它是把栈顶元素删除掉,使其相邻的元素成为新的栈顶元素。栈最大的特点就是先进后出上面是栈存取数据的示意图,栈主要分为两种结构...原创 2019-08-20 18:40:01 · 331 阅读 · 0 评论 -
面向对象——变量和函数、Java内存分配
在面向对象中,我们会定义很多类,然后在类中去定义它的属性和行为,其属性就是变量,行为就是函数,其中有的变量是定义在类中但在函数之外的、有的变量是定义在函数中的、有的变量加上了相应的关键字如static,final等,包括类中的函数也有加上关键字的,这些差异造成了他们之间的不同,产生了不同的调用法则,这次我们来说说类中的变量、函数的不同。变量 成员变量之前在讲面向对象的基础时,我们提到...原创 2019-08-11 23:22:13 · 194 阅读 · 1 评论 -
异常1——初识(Java)
在编程过程中,我们所写的代码会遇到很多问题,有些语法上的错误或是逻辑上的错误我们都是可以在编译之后或是运行之后进行更改的,然而有些错误是不知道什么时候出错,在编译过程中我们发现了也不能更改的错误。那么这个时候我们就要做相应的处理,以确保一个程序能继续运行。先来看一个例子:我们发现在打印10/0这个结果的时候,编译时并没有报错,但是运行时出现了ArithmeticException这样的...原创 2019-08-26 18:10:39 · 118 阅读 · 0 评论 -
异常2——深化(Java)
在异常初识中只是简单的介绍了异常的体系和异常的解决方法,这篇文章将对异常的一些特殊情况进行介绍。1.自己定义一个异常类进行声明或者捕获当我们不了解异常的种类或者异常中没有我们想要的类那么可以自己定义一个异常类,但是这个异常类要根据是编译时异常还是运行时异常去继承不同的异常类,当然可以直接继承最终的异常类或是包括最大的异常类。一般而言都是运行时异常,而运行时异常要继承的类为RuntimeEx...原创 2019-09-01 13:27:07 · 153 阅读 · 0 评论 -
集合初识和用法——collection(Java)
Collection接口继承了Iterable接口,能够被foreach使用,是可迭代的。下面介绍它已实现的子接口:在API中它的已知子类和实现的类有很多,目前在这里只介绍几个它常用的子接口和collection的用法。List接口有序的 collection(也称为序列)。此接口的用户可以对列表中每个元素的插入位置进行精确地控制。用户可以根据元素的整数索引(在列表中的位置)访问...原创 2019-09-01 17:10:55 · 494 阅读 · 0 评论 -
面向对象——访问器、修改器、构造函数、对象的创建流程
在之前的代码讲解中,我们将一类事物封装成一个类,再去创建一个相应的对象去调用方法完成相应的操作这是非常方便的,但是在之前的代码我们发现,对象不仅仅能调用类中的方法,还可以访问到该类中的成员变量并进行赋值,在点坐标中只要是int类型的值我们都取值,这是因为坐标的涵盖数值是非常广的,那么如果一个类的成员变量是其他含义,那么对值的随意改变就是不合理的了,比如如果一个成员变量是为年龄(age),那么年龄的...原创 2019-08-09 19:04:35 · 1299 阅读 · 0 评论 -
String 类的解析
在编程过程中,我们都会用到String定义的字符串,但是String在Java定义中是一个类,被final修饰即该String类不能够被继承,但是String类继承了三个接口:Serializable接口(该String类的对象可以进行序列化(将内存中的数据移交到硬盘上的一个过程))、Comparable接口(该String类的对象可以进行大小的比较)、CharSequence接口(该String...原创 2019-08-06 00:00:09 · 173 阅读 · 0 评论 -
for循环题解
/* 打印图形 ******** ******** ******** *********/class Demo01{ public static void main(String[] args) { //第一种写法 for(int i=1;i<=4;i++){ //外层循环控制打印的行数为4行 System.out...原创 2019-07-24 17:15:05 · 719 阅读 · 0 评论 -
while循环题解
//求1+2+3+...+100class Demo01{ public static void main(String[] args) { sum=0; //用于存放最后的结果 i=1; //从1开始 while(i<=100){ //i小于等于100是否为真 sum+=i; //为真,加i ...原创 2019-07-24 18:05:52 · 531 阅读 · 0 评论 -
函数
学到这里,你会发现我们写的代码都放在主函数里,现在我们所写的代码都是比较简单的,如果要写的代码很多呢,全放在主函数是不好的,在这里我们要学会分离和封装,将引入函数的介绍。 什么是函数呢?函数主要用于封装具有独立功能的一段代码,减少代码的冗余,提高代码的复用率。我们先来看一个问题:假如需要分别求出从1到 10、从 8 到 37以及从35到 49的整数和,按照以往的编写方...原创 2019-07-25 19:18:26 · 134 阅读 · 0 评论 -
递归函数(Java)
在之前讲解函数内容时提到过函数自身调用自身叫做“递归”。那么为什么要用到递归?,下面我们对递归的内容和在程序中的使用进行介绍,来说明为什么会用到递归以及何时进行递归。递归的定义及优点 递归的定义:递归做为一种算法在程序设计语言中广泛应用。 一个过程或函数在其定义或说明中有直接或间接调用自身的一种方法,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略...原创 2019-07-26 16:56:17 · 485 阅读 · 0 评论 -
一维数组
在执行程序的过程中,经常需要存储大量的数据,例如,假设需要读取 100 个数,计算它们的平均值,然后找出有多少个数大于平均值。首先,程序读入这些数并且计算它们的平均值,然后将每个数与平均值进行比较判断它是否大于平均值。为了完成这个任务,必须将全部的数据存储到变量中。必须声明 100 个变量,并且重复书写 100 次几乎完全相同的代码。这样编写程序的方式似乎是不太现实的,那么该如何解决...原创 2019-07-27 10:13:36 · 147 阅读 · 0 评论 -
数组题解
思路一:边输入边判断边对数组进行扩容存储,最后输出数据:存储数字的数组nums 存储次数的数组counts步骤:1.获取一个数字2.判断该数字 2.1 如果是0 则跳出循环 2.2 如果不是 当前数字是否在nums中 在 相应counts位置++ 不在 nums扩容将数字传进去 counts扩容 1次数3...原创 2019-07-27 20:11:16 · 303 阅读 · 0 评论 -
二维数组
前面我们学习了一位数组,在讲解到八皇后的问题时,我们也用到了二位数组,那么什么是二维数组呢?相信大家都应该学过二维矩阵如:其实二维数组就是一个二维的矩阵,矩阵的行列对应的位置就是二维数组每个元素对应的下标位置当然,和一维数组一样,它也是存储在堆内存的,并且每个元素都会进行初始化,所以由此可以看出,二维数组额本质就是一位数组,由几个不同的一位数组组成的,只不过所存储的元素是另一个一维...原创 2019-08-01 16:27:26 · 1518 阅读 · 0 评论 -
面向对象基础
学习过前面的内容之后,我们已经能够使用选择、循环、方法和数组解决很多程序设计问题。但是,这些 Java 的特性还不足够用来开发图形用户界面和大型软件系统。假设希望开发一个图形化界面,如我们现在用到的各种软件等,点击某个按钮就完成相应的动作,那么该如何完成呢?按照我们现在的水平是无法完成的,但完成一个系统或是一个软件、网页的开发,我们都离不开一个编程思想——面向对象 说到这里,我们就要引入面向...原创 2019-08-05 22:08:40 · 214 阅读 · 0 评论 -
用面向对象解决问题
import java.util.Scanner;class Class21{ //主类用于运行程序 public static void main(String[] args){ Scanner scanner=new Scanner(System.in); //创建一个Scanner类的对象 System.out.print("Enter...原创 2019-08-05 23:57:10 · 439 阅读 · 0 评论 -
集合初识和用法——List(java)
List是一种有序、提供角标、一维数据列表、允许重复元素、允许null元素的集合。它是collection的一个子接口,其已知实现的子类且常用的有ArrayList、LinkedList和Vector。下面将对List的一些方法的使用和它的常用子类的方法的使用进行介绍。List的方法测试和使用示例以及说明import java.util.ArrayList;import java.ut...原创 2019-09-02 20:49:40 · 171 阅读 · 0 评论