1.包装类

❶出于对性能的考虑,并不把基本数据类型作为对象使用,因为适用对象需要额外的系统花销。但是某些Java方法,需要对象作为参数,例如数组线性表ArrayList.add(Object)。Java将基本数据类型包装成类,即所谓的包装类---包括:数值包装类Number(Integer,Short,Byte,Float,Double,Long,)
,Character,Boolean。

其继承结构体系如下图所示:

❷数值包装类均扩展自抽象类Number。所有数值包装类数组均是Object([])和Number([])的实例。所有的包装均覆盖了Object类中的toString和equals(内容比较),均实现Camparable接口,都实现了compareTo方法。包装类没有无参构造法,实例均不可变,一旦创建,值将不变。

   ❸类中成员,以Integer和Double为例说明。
    静态成员变量,MAX_VALUE和MIN_VALUE。当前类型的表征最值
    构造函数:Double(doubleValue);Double(String)
    成员函数:
               valueOf(String),valueOf(String ,intdex);//intdex=2/8/10/16说明String字符串表示进制,默认10进制。返回Double
                parseDouble(String),parseDouble(String,intdex);//,同上,返回Double
   ❹Java容许基本类型和包装类自动转换,即所谓装箱和开箱过程,如
               Integer intObject=new Integer(5)等价于 Integer intObject=5;
                Integer[] intObject={1,2,3,4};//装箱,基本类型自动转换为包装类
                int a=intObject[0]+intObject[1];//开箱,包装类转换为基本数据类型参与运算。

2.字符类Character

❶构造函数:

Character(char);

❷成员函数

charValue();//返回字符。

判断is*判断大写、小写、数字和字母。以及to*转换成大写或者小写。

3.排序与公约数

❶使用java.util.Arrays的静态方法sort对元素可比较的数组进行排序。如下

public class StudyWrapper {
public static void main(String[] args) {
int[] intArray={13,-2,0,3,4,5};
Character[] chArray={'a','f','d','e','A'};
Arrays.sort(intArray);
Arrays.sort(chArray,1,4);//[1 4]区间段进行排序
for(int i:intArray)
System.out.println(i);
for(char i:chArray)
System.out.println(i); }}

❷获取两个数x,y的最大公约数

 private static long gcd(long x,long y){
x=Math.abs(x);
y=Math.abs(y);
long temp=0;
while(x!=0){
temp=x;
x=y%x;
y=temp;}
return y;}
}

❸关于/和%运算结果的符号

1.a/b符号与分子a和分母b都有关。即为正常计算的结果,若a*b>0为正,反之为负

2.a%b符号仅与分子a有关,a>0结果为正,反之为负

Java探索之旅(15)——包装类和字符类的更多相关文章

  1. Java探索之旅(8)——继承与多态

    1父类和子类: ❶父类又称基类和超类(super class)子类又称次类和扩展类.同一个package的子类可以直接(不通过对象)访问父类中的(public,缺省,protected)数据和方法. ...

  2. Java探索之旅(5)——数组

    1.声明数组变量:        double[] array=new double[10];         double array[]=new double[10];       double[ ...

  3. Java探索之旅(18)——多线程(2)

    1 线程协调 目的对各线程进行控制,保证各自执行的任务有条不紊且有序并行计算.尤其是在共享资源或者数据情况下. 1.1 易变volatile cache技术虽然提高了访问数据的效率,但是有可能导致主存 ...

  4. Java探索之旅(14)——文本I/O与读写

    1文件类File    ❶封装文件或路径的属性.不包括创建和读写文件操作.File实例并不会实际创建文件.不论文件存在与否,可以创建任意文件名的实例.两种实例创建方式如下:               ...

  5. Java探索之旅(13)——字符串类String

    1.初始化 String类是Java预定义类,非基本类型而是引用类型. public class StudyString { public static void main(String[] args ...

  6. Java探索之旅(12)——equals方法及其覆盖

    1.Object中的equals方法 java中的的基本数据类型:byte,short,char,int,long,float,double,boolean.==比较的是值. ❶作用:对于复合类型来说 ...

  7. Java探索之旅(10)——数组线性表ArrayList和字符串生成器StringBuffer/StringBuilder

    1.数组线性表ArrayList 数组一旦定义则不可改变大小.ArrayList可以不限定个数的存储对象.添加,插入,删除,查找比较数组更加容易.可以直接使用引用类型变量名输出,相当于toString ...

  8. Java探索之旅(4)——方法和Random&Math类

    1.基本知识点    ❶方法在C++里面称为函数.调用方法时,应该类型兼容--即不需显式类型转换即可将形参传递给实参.    ❷形参的改变不影响实参的值.    ❸Java注重模块化设计和自顶向下的设 ...

  9. Java探索之旅(3)——选择与循环

    1.选择结构与输出 ❶Switch语句: Switch表达式必须算出 char,byte,short,int类型数值之一,总是括号括住:Value1----ValueN,对应有相同数据类型且为常量或者 ...

随机推荐

  1. 在Nginx中做负载均衡配置的实例讲解

    负载均衡是我们大流量网站要做的一个东西,下面我来给大家介绍在Nginx服务器上进行负载均衡配置方法. 先来简单了解一下什么是负载均衡,单从字面上的意思来理解就可以解释N台服务器平均分担负载,不会因为某 ...

  2. jQuery设计理念

    jQuery设计理念 引用百科的介绍: jQuery是继prototype之后又一个优秀的Javascript框架.它是轻量级的js库 ,它兼容CSS3,还兼容各种浏览器(IE 6.0+, FF 1. ...

  3. java搭建 SpringMVC+Mybatis(SMM)+mybatis-generate

    搭建SSM系统,首先要了解整个过程: 1.创建spring-mvc项目 2.在maven中添加要引用的jar包(使用框架都是较新的版本:) 3. jdbc.xml +spring-mybatis.xm ...

  4. [原创]java WEB学习笔记22:MVC案例完整实践(part 3)---多个请求对应一个Servlet解析

    本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...

  5. POJ 1611并查集

    我发现以后写题要更细心,专心! #include<iostream>#include<algorithm>#include<stdio.h>#include< ...

  6. castle windsor学习-----Registering components by conventions

    注册多个组件 1.one-by-one注册组件可能是一项非常重复的工作,可以通过Classes或Types注册一组组件(你可以指定一些特定的特征) 三个步骤 注册多个类型通常采取以下结构 contai ...

  7. DL一(ML基础知识)

    基础知识ML 在进行深度学习前,根据学习网站的建议,首先学习机器学习的基础课程,学习资料主要是Andrew讲的ShortVideo,网址:http://openclassroom.stanford.e ...

  8. QT 巧用QSignalMapper分类有序地处理大量信号

    转自--> http://blog.csdn.net/cuteqt/article/details/4306900 QSignalMapper这个类并不是个新鲜概念, 早在Qt2里就已经存在, ...

  9. fffmpeg 提取pcm

    ffmpeg -i input.aac -codec:a pcm_f32le -ar 48000 -ac 2 -f f32le output.pcm

  10. C++STL 常用 函数 用法(转)

    http://www.cnblogs.com/duoduo369/archive/2012/04/12/2439118.html 迭代器(iterator) 个人理解就是把所有和迭代有关的东西给抽象出 ...