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. Android selector背景选择器

    selector根据不同的选定状态来定义不同的现实效果 常用属性: android:state_selected--------选中 android:state_focused--------获得焦点 ...

  2. 用Java实现断点续传的基本思路和代码

    用Java实现断点续传的基本思路和代码   URL url = new URL(http://www.oschina.net/no-exist.zip); HttpURLConnection http ...

  3. 苹果企业账号发布APP详解——通过自己网站分发应用

    一.通过企业账号申请证书 1 Certificate Signing Request (CSR)文件 在Mac系统中进入“钥匙串访问”,选择“钥匙串访问”-“证书助理”-“从证书颁发机构请求证书…”, ...

  4. IAR 条件断点

    条件断点是IDE的一个重要功能,在IAR调试时候,经常跟踪一个数据,但是对较大的buffer,用普通的断点或live watch都不好跟踪. 比如某个buffer里一个数,我们知道他在第几个,但是却从 ...

  5. Python导出数据生成excel报表

    #_*_coding:utf-8_*_ import MySQLdb import xlwt from datetime import datetime def get_data(sql): # 创建 ...

  6. PHP新写的大转盘抽奖源码

    中奖概率 抽奖大转盘演示:http://www.sucaihuo.com/php/3301.html function getRand($proArr, $proCount) { $result = ...

  7. castle windsor学习-----XML Inline Parameters 内联参数

    当使用XML配置的时候,可能要给组件指定各种各样的依赖 1.简单的参数 参数名称不区分大小写 <component id="ping" type="Acme.Crm ...

  8. Sobel边缘检测

    Sobel算子:[-1  0  1 -2  0  2 -1  0  1] 用此算子与原图像做卷积,可以检测出垂直方向的边缘.算子作用在图像的第二列,结果是:200,200,200:作用在第三列,结果是 ...

  9. Android studio导入第三方类库源码以及jar包

    新建一个Android项目,项目结构如下: 1.添加第三方类库源码 首先将第三方类库考入与app同级的目录下: 之后,在build.gradle(Moudule:app)下添加编译代码:在seting ...

  10. hihocoder-1274 自行车架(高维dp)

    时间限制:5000ms 单点时限:1000ms 内存限制:256MB 描述 小Hi的宿舍楼下有一块用于停自行车的区域.平时自行车都停得非常杂乱,于是楼长打算去买一排自行车架用来停车.自行车架一般有P个 ...