栈的概念 先进后出策略(LIFO) 是一种基本数据结构 栈的分类有两种:1.静态栈(数组实现) 2.动态栈(链表实现) 栈的模型图如下: 需求分析 在编写代码之前,我习惯先对要实现的程序进行需求分析,比如用什么数据结构存储数据,需要实现哪些基本的功能等.这次是通过数组模拟实现栈,所以是一个静态栈,但是我在栈满时通过arraycopy函数自动扩容,后面会细说. 我们要实现的功能至少应该包含以下功能: public class Stack { private int[] array;//模拟栈 pr…
Java基础篇 1—12 常识 13 this关键字 14参数传递 16 继承 17 访问权限 28—31异常 1—12 常识 1.文件夹以列表展示,显示扩展名,在地址栏显示全路径 2.javac编译 java运行 3.java开发环境 java编辑器 ( integrated development environment) IDE  集成开发环境 常见的Jbuilder.eclipse 4.double d1,d2,d3=0.123   //不表示d1 d2 d3都是0.123 5.程序执行…
Tips1:eclipse中会经常用到System.out.println方法,可以先输入syso,然后eclipse就会自动联想出这个语句了!! 学习笔记: *包.权限控制 1.包(package)概念的引入是为了防止类名冲突.package语句要作为java源文件的第一条语句. 2.两个类在同一个包中,可以相互调用:两个类在不同的包中,若想引用则必须通过import语句导入,格式为:import 包名.子包名.类名. 3.如果在程序中同时导入了两个包的同类名,则在使用时必须明确的写出完整的“…
一:什么是数组,什么时候使用数组? 数组是用来保存一组数据类型相同的元素的有序集合,数组中的每个数据称为元素.有序集合可以按照顺序或者下标取数组中的元素. 在Java中,数组也是Java对象.数组中的元素可以是任意类型(包括基本类型和引用类),但同一个数组里只能存放类型相同的元素. 二:什么时候用数组? 保存一堆数据类型相同的数据的时候. 数据要求有顺序. 三:数组和链表的区别 在内存开辟难易程度上? 数组内存分配必须是一块连续的内存空间. 链表内存分配不一定是连续的内存空间. 在项目中如何选择…
java关键字与数据类型 Java语言的关键字是程序代码中的特殊字符.包括: . 类和接口的声明--class, extends, implements, interface . 包引入和包声明--import, package . 数据类型--boolean, byte, char, double, float, int, long, short . 某些数据类型的可选值--false, true, null . 流程控制--break, case, continue, default, do…
一. OOP中的基本概念 Java的编程语言是面向对象的,采用这种语言进行编程称为面向对象编程(Object-Oriented Programming, OOP), 它允许设计者将面向对象设计实现为一个可运行的系统.Java的编程单位是类,对象最后要通过类进行实例化(即"创建").面向对象编程有三个特性:封装,继承,多态 封装:对类中的属性和方法的具体实现进行封装(隐藏),外界不可见 继承:继承父类中的属性和方法 extends class 子类 extends 父类 都是单继承 多态…
一:局部变量和实例变量 定义变量是指设定变量的数据类型和变量的名字,Java语言要求变量遵循先定义,再初始化,然后使用的规则. 作用域:指它的存在范围,只有在这个范围内,程序代码才能访问它. 变量的生命周期是指从一个变量被创建并分配内存空间开始,到这个变量被销毁并清除其所占用内存空间的过程. 局部变量(参数变量也可以看成是局部变量): 1)位置:定义在方法中或者在方法中的{} 2)使用:先赋值后使用 3)作用域:定义的方法中或者定义的{}中 4)生命周期:从变量的定义到方法调用结束 局部变量的例…
抽象与接口的区别 一.抽象(abstract) 1. 抽象方法 1) 作用:定义规范 2) 抽象方法用来描述具有什么功能,但不提供实现. 3) 如果类中一个方法没有实现就要定义一个抽象方法. 2. 抽象类 1)如果类中有抽象方法,该类就必须定义为抽象类. 2)抽象类中不一定有抽象方法,可以包含普通方法.实例变量.构造器:但没有抽象构造器和抽象静态方法. 3)抽象类失去了创建对象的能力,只能提供给子类继承. 4)继承抽象类必须实现其所有的抽象方法,或者子类也定义为抽象类. 5)抽象类和抽象方法不能…
Python初识与简介[开篇] Python学习笔记——基础篇[第一周]——变量与赋值.用户交互.条件判断.循环控制.数据类型.文本操作 Python学习笔记——基础篇[第二周]——解释器.字符串.列表.字典.主文件判断.对象 Python学习笔记——基础篇1[第三周]——set集合 Python学习笔记——基础篇2[第三周]——计数器.有序字典.元组.单(双)向队列.深浅拷贝.函数.装饰器 Python学习笔记——基础篇[第四周]——迭代器&生成器.装饰器.递归.算法.正则表达式 Python…
数组 为什么要有数组? 案例:一个养鸡场有六只鸡,他们的体重分别为3kg,5kg,1kg,3.4kg,2kg,50kg.请问这六只鸡的总体重和平均体重是多少? public class test5 { public static void main(String[] args) { //如果没有数组就要定义六个变量,然后算出结果,太麻烦了 //现在我们定义一个可以存放6个float类型的数组 float arr[] = new float[6]; //给数组的各个元素赋值 arr[0] = 3;…