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. iOS 在视图控制器里面判断 应用程序的前台 后台切换 UIViewController

    1.时机  用户点击home 键  应用退到后台 再次点击进入前台  在UIViewController里面 控制器如何获取相关的事件? 2.需求 (1)NSTimer   在应用程序进入后台 10秒 ...

  2. Spring MVC 通过反射将数据导出到excel

    直接上代码 // 导出excel方法 @RequestMapping("exportExcel") public void exportExcel(HttpServletReque ...

  3. js实现select动态添加option

    关于 select 的添加 option 应该注意的问题. 标准的做法如上也就是说,标准的做法是 s.options.add();但是如果你一定要用 s.appendChild(option);注意了 ...

  4. ubuntu下单网卡绑定多个IP

    第一种方式静态修改. 进入 /etc/network/ 目录下.修改interfaces文件. # The primary network interfaceauto eth0iface eth0 i ...

  5. [原创] Windows下Eclipse连接hadoop

    1 下载hadoop-eclipse-plugin :我用的是hadoop-eclipse-plugin1.2.1 ,百度自行下载 2 配置插件:将下载的插件解压,把插件放到..\eclipse\pl ...

  6. 算法(Algorithms)第4版 练习 1.5.5

    对于quick-find,对每个输入数据对,其最少的循环次数为N(sites) 故对于109 sites和106 input pairs,其总的指令次数为:sum = 10^9 * 10^6 * 10 ...

  7. C++的栈

    栈,是一种存储受限的线性数据结构,在存储和访问数据的时候只能访问栈的一端.栈类似于一摞盘子,只能拿去最上面的盘子,也只能把盘子放到最上面.由于这种特点,栈是一种后进先出(Last in / First ...

  8. 关于IDT报错乱码总结

    可算是把我折腾坏了.一筹莫展.最后才把这些问题搞好.有些事不知道做以前,怎么都想不到.发现了方法之后,原来也不过这样.我觉得自己记性太差.还是好好写下来吧.写下来顺便会帮我重新再梳理一遍.原先乱码是因 ...

  9. OpenCV——百叶窗

    参考: PS 图像特效,百叶窗 // define head function #ifndef PS_ALGORITHM_H_INCLUDED #define PS_ALGORITHM_H_INCLU ...

  10. Smali文件添加try/catch语句,出现“invalid use of move-exception”异常

    插入代码如下: 捕获到以下异常: 2019-03-18 21:09:35.431 8272-8272/com.xxxx.xxxx E/AndroidRuntime: FATAL EXCEPTION: ...