java之数据结构之链表及包装类、包
链表是java中的一种常见的基础数据结构,是一种线性表,但是不会按线性的顺序存储数据,而是在每一个节点里存到下一个节点的指针。与线性对应的一种算法是递归算法:递归算法是一种直接或间接的调用自身算法的过程,往往使算法的描述简洁而且易于理解。
使用递归算法就是自己调用自己,而递归算法必须要有出口,递归过多也会造成内存栈溢出
public static int JieGou(int num){ if(num==) return ;
return num*JieGou(num-); //调用自己 }
java中有8大基本数据类型,但是在面向对象中,本着一个设计的原则“一切皆对象”。在java的基本数据类型完全不符合这种思想。因为八种基本数据类型并不是引用数据类型,所以为了解决这个问题,引入了八种数据类型的包装类。
八种数据类型包装类分为两种:
Number:Integer、Short、Long、Double、Float、Byte
Object: Character、Boolean都是Object的直接子类
基本数据类型:-----------包装类
int--------------Integer
char------------Character
float------------Float
double---------Double
boolean--------Boolean
byte-----------Byte
short----------Short
long-----------Long
既然引入了包装类,那么包装类有什么作用呢?
在包装类中,可以将一个字符串变为指定的基本数据类型,输入数据时使用:
(1)、在Integer类中将string变为int类型数据
public static int parseInt(String msg);
(2)、在Float类中将String变为float类型数据
public static float parseFloat(String msg);
注意:转型操作时,字符串必须由数字组成,否则会出现错误。其他型的数据转换同理
String msg="";
int m=parseInt(msg);
System.out.println(m); 结果是:
//把一个字节的整数缓存在整数常量池中 Integer a=; Integer b=; System.out.println(a==b); 输出结果为真
包:包是对类文件进行分类管理的,给类提供了多层命名空间,包写在程序文件的第一行,类名的全称是包名.类名,包也算是一种包装形式。
包与访问修饰符:包对于对个java源文件的管理,就像文件目录一样
定义一个包:package com.vices.mihu;
记住:该语句只能出现在代码的第一句。
访问修饰符:
public : 同一个类 、同包 、不同包子类 、不同包非子类
protected : 同一个类 、同包 、不同包子类
默认 :同一个类 、同包
private :同一个类
总结:包与包之间的类进行访问,被访问的包中的类必须是public的,包中的类的方法也必须是public的。
那么如何来创建包?
在java环境下,在命令行中
javac -d.PackageDemo.java
容易出现两个错误:
1、找不到符号
原因:类名写错:调用另个包中的类创建对象,必须明确其包名:package.Demo d=new Package.Demo();
2、软件包不存在
原因:是当前目录下没找到,因为包存放在其他目录下,应该配置一个classpath
如何使用包?
导入包就可以使用该包下的文件
import package.Demo; //导入了package包中的Demo
import package.DemoA;
import package.abc.*; //导入了该包中的所有类
导包的原则:用到哪个类,就导入哪个类 :导包的目的就是为了简化类名的书写。
java之数据结构之链表及包装类、包的更多相关文章
- java实现 数据结构:链表、 栈、 队列、优先级队列、哈希表
java实现 数据结构:链表. 栈. 队列.优先级队列.哈希表 数据结构javavector工作importlist 最近在准备找工作的事情,就复习了一下java.翻了一下书和网上的教材,发现虽然 ...
- Java描述数据结构之链表的增删改查
链表是一种常见的基础数据结构,它是一种线性表,但在内存中它并不是顺序存储的,它是以链式进行存储的,每一个节点里存放的是下一个节点的"指针".在Java中的数据分为引用数据类型和基础 ...
- JAVA数据结构之链表
JAVA数据结构之链表 什么是链表呢? 链表作为最基本的数据结构之一,定义如下: 链表是一种物理存储单元上非连续.非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的. 简单来说呢,链 ...
- 数据结构之链表及其Java实现
数据的存储一般分线性存储结构和链式存储结构两种.前者是一种顺序的存储方式,在内存中用一块连续的内存空间存储数据,即逻辑上相连的物理位置相邻,比较常见的就是数组:后者是一种链式存储方式,不保证顺序性,逻 ...
- 数据结构——单链表java简易实现
巩固数据结构 单链表java实现 单链表除了表尾 每个几点都有一个后继 结点有数据和后继指针组成 通过构建表头和表尾(尾部追加需要)两个特殊几点 实现单链表的一些操作,代码如下 package co ...
- 【Java数据结构】Java数据结构之链表反转
我们都知道用C可以很简单的实现单链表反转,今天来学习下,在Java中如何实现链表反转. 思路很简单,定义一个类,这个类分成2块,一块是表示自身的标志,另外一个存储指向下一个元素的引用.通过互换相邻两个 ...
- java项目——数据结构实验报告
java项目——数据结构总结报告 20135315 宋宸宁 实验要求 1.用java语言实现数据结构中的线性表.哈希表.树.图.队列.堆栈.排序查找算法的类. 2.设计集合框架,使用泛型实现各类. ...
- JAVA常用数据结构及原理分析
JAVA常用数据结构及原理分析 http://www.2cto.com/kf/201506/412305.html 前不久面试官让我说一下怎么理解java数据结构框架,之前也看过部分源码,balaba ...
- (6)Java数据结构-- 转:JAVA常用数据结构及原理分析
JAVA常用数据结构及原理分析 http://www.2cto.com/kf/201506/412305.html 前不久面试官让我说一下怎么理解java数据结构框架,之前也看过部分源码,balab ...
随机推荐
- Appium_Python_Api文档
1.contextscontexts(self): Returns the contexts within the current session. 返回当前会话中的上下文,使用后可以识别H5页面的控 ...
- centos下建立双机信任关系
在有些情况下,我们希望在两台centos机器之间建立ssh连接的时候,可以不用输入密码.最常见的情况就是在使用脚本做数据库备份的时候.这种情况下,我们可以通过公钥/私钥来建立双机之间的信任关系. 网上 ...
- PHP两种基础的算法:冒泡、快速排序法》》》望能够帮助到大家
首先扯个淡@@@@@@@@@ 算法是程序的核心,一个程序的好坏关键是这个程序算法的优劣. 冒泡排序法 原理:在要排序的一组数中,对当前还未排好的序列,从前往后对相邻的两个数依次进行比较和调整,让较大的 ...
- tif文件导入postgresql
raster2pgsql -I -F -N -999 文件名 数据库名 | psql -U postgres -d postgres
- Servlet
建议:对于javaEE,在如何学习jsp和servlet时,初学者往往是一头雾水.我当时就被jsp的各种标签.内置对象和servlet整的很惨.所以,学习方法变得特别特别重要:而且,随着技术的更新和发 ...
- 使用WCF 创建 Rest service
REST SERVICE 允许客户端修改url路径,并且web端功过url 请求数据. 他使用http协议进行通讯,想必大家都知道 . 并且我们可以通过设置进行数据类型转换, 支持XML,JSON 格 ...
- Android Studio 引用 gson-2.6.2-sources
1.拷贝到libs下
- Coming
Hi,there, I am coming here to keep a great habit-one day a blog to share what new I have learned tod ...
- Sprint2团队贡献分
团队贡献分: 郭志豪:31% http://www.cnblogs.com/gzh13692021053/ 杨子健:22%http://www.cnblogs.com/yzj666/ 谭宇森:23% ...
- Python2 新手 编码问题 吐血总结
什么是编码 任何一种语言.文字.符号等等,计算都是将其以一种类似字典的形式存起来的,比如最早的计算机系统将英文文字转为数字存储(ASCII码),这种文字与数字(或其他)一一对应的关系我们称之为编码.由 ...