java
雾幻
种一棵树最好的时间是十年前,而后是现在
展开
-
java进制转换
2进制:0b / 0B 8进制:0 016进制:0x / 0X所有的数字在计算机底层都是以二进制形式存在,且以补码的形式保存所有整数。(1)二进制和十进制之间的转换(重点) a.正十进制转换为二进制 1)除2取余法,十进制整数不断除以2取余并记录,直到商为0时停止,将余数进行反向排列。 2)拆分法,将十进制整数拆分为多个二进制权重的和,若该权重存原创 2017-08-27 19:30:54 · 336 阅读 · 0 评论 -
java面向对象——String类
java.lang.String 类由final关键字修饰,表示该类不能被继承该类用于描述字符串,使用该类创建的对象可以描述java应用程序中的所有字符串字面值(常量)如:“abc” , 而且该字符串字面值是个常量不能更改。String s1 = "hello";s1 = "world"; //本质上就是在改变s1本身的指向,而不是指向的内容。String s1 = null; 和 ...原创 2018-10-17 09:19:49 · 1626 阅读 · 0 评论 -
java面向对象——正则表达式
正则表达式本质上就是一个用于进行格式验证的字符串,可以使用^开头,使用$结尾,也可以省略不写。常用的规则[abc] - 表示可以出现a、b或者c。[^abc] - 表示可以出现任何字符,除了a、b和c。[a-zA-Z] - 表示可以出现a-zA-z之间的任何字符,包括两头的字符。[a-z&&[^bc]] - 表示a-z中除了b,c外的任何字符 . - 表示可以出...原创 2018-10-17 09:20:10 · 166 阅读 · 0 评论 -
java面向对象——集合:list、queue、set、map
数组 - 本质上就是一段连续的内存空间,用于记录多个类型相同的数据。 - 数组一旦定义则内存空间固定,若太大或太小都会造成麻烦。 - 插入和删除元素时可能会移动大量元素,因此效率比较低。 - 使用下标访问元素非常便利,支持随机访问。 - 数组中的元素可以是基本数据类型,也可以是引用数据类型。集合 - 内存空间可以连续也可以不连续,元素类型可以相同也可以...原创 2018-10-17 09:20:21 · 422 阅读 · 0 评论 -
java面向对象——异常
异常表示不正常的意思,在java中主要指在程序运行阶段产生的错误异常的分类可检测异常:可检测异常经编译器验证,对于声明抛出异常的任何方法,编译器将强制执行处理或声明规则,不捕捉这个异常,编译器就通不过,不允许编译。非检测异常:非检测异常不遵循处理或者声明规则。在产生此类异常时,不一定非要采取任何适当措施,编译器不会检查是否已经解决了这个异常。自定义异常:为了表示应用程序的一些错误类型,为...原创 2018-10-17 09:20:30 · 240 阅读 · 0 评论 -
java面向对象——IO流:File类
基本概念I/O就是Input/Output的简写,也就是输入/输出的含义。 I/O流就是指像流水一样不间断地进行读写的过程。按照读写单位的不同分为:字节流 - 主要指以字节为单位进行读写的流,可以用于任何文件的读写操作。字符流 - 主要指以字符(2字节)为单位进行读写的流,只能用于文本文件的读写操作按照数据流动方向的不同分为:输入流 - 主要指读取文件中的内容输入到程序中,也就是读文...原创 2018-10-17 09:20:39 · 451 阅读 · 0 评论 -
java面向对象——线程的创建、状态、常用方法、同步机制、死锁
基本概念程序 - 主要指存放在硬盘/磁盘上的可执行文件。进程 - 主要指运行在内存中的程序。目前主流的操作系统都支持多进程,为了同时执行多个任务,进程是重量级的,新建进程对系统的资源消耗比较大,因此进程的数量还是有限的。线程就是指进程内部的程序流,是轻量级的,新建线程会共享所在进程的资源,因此对系统的资源消耗比较小,以后开发中采用多线程技术是主流的方式。目前主流的操作系统都是采用时间片轮...原创 2018-10-17 09:20:48 · 232 阅读 · 0 评论 -
网络编程、TCP、UDP
七层网络协议模型为了数据安全可靠地传递到对方,ISO(国际标准委员会组织)将数据的传递从逻辑上划分为以下七层:应用层、表示层、会话层、传输层、网络层、数据链路层、物理层。当发送数据时需要按照上述七层协议一层层进行加包再发送出去。当接收数据时需要按照上述七层协议相反的次序一层层进行拆分再显示出来。常用的协议协议 - 本质上就是一种规则/约定,规定了通信双方统一的语言规则。http协议 ...原创 2018-10-17 09:21:00 · 208 阅读 · 0 评论 -
java反射
反射机制本质上就是一种用于实现动态编程的机制,可以在运行阶段动态的创建对象,并且动态的调用方法,具体功能由实参决定。反射技术破坏了面向对象,在底层发挥作用。目前主流的框架SSH等底层是采用反射机制实现。java里的动态编程技术就是反射。动态编程编译期间变量的类型和调用的方法都不确定,运行时根据参数确定。动态编程可以让代码有更广泛的适应性,一段代码可以针对很多的类,但是程序的可读性非常低,编程...原创 2018-10-17 09:21:20 · 182 阅读 · 0 评论 -
java面向对象——包装类
在某些场合(集合)中要求所有的数据内容都是对象,但java中8种基本数据类型定义的变量并不是对象,为了满足该场合的需求就需要对变量进行对象化处理,此时借助包装类常用的包装类int => 采用java.lang.Integer类包装(重点) char => java.lang.Character类byte => java.lang.Byte类 ...原创 2018-10-16 20:36:19 · 563 阅读 · 0 评论 -
java面向对象——Object类
1. 常用的包java.lang包 - 是java的核心包,该包中的所有类由java虚拟机自动导入。如:String/System/Math/thread等java.util包 - 是java的工具类/接口/集合框架类包, 如:Arrays、List、Set、Scanner、Random类等java.io包 - 是java的输入/输入编程相关的类、接口包,如:FileInputStream类...原创 2018-10-16 20:33:11 · 205 阅读 · 0 评论 -
java类型转换方法
基本类型的类型转换(难点)自动类型转换主要指小范围向大范围转换,在编译阶段自动完成。byte => short => int => long => float => double char =>boolean类型不参与任何形式的类型转换。强制类型转换主要指大范围向小范围转换,需要编写代码进行处理。尽量避免使用强制类型转换,因为该转换可能会造成数据的丢失。格式:原创 2017-08-27 19:53:48 · 1245 阅读 · 0 评论 -
java面向对象——类与对象
1. 类的定义类是某一批对象的抽象,可以把抽象理解成某种概念。类名需要每个单词的首字母大写类的定义包含:构造方法(构造器)、成员变量、成员方法。类里个成员之间的定义顺序没有任何影响,各成员之间可以相互调用,但static修饰的成员不能访问没有static修饰的成员。[修饰符] class 类名称{ //修饰符:private、protected、public、final、abstra...原创 2018-10-16 10:24:03 · 841 阅读 · 0 评论 -
java面向对象——方法详解
1. 方法的所属方法是类或对象的行为特征的抽象,方法是类或对象最重要的组成部分。在逻辑上要么属于类,要么属于对象。从功能上看,方法完全类似于传统结构化程序设计里的函数。实际上,方法确实是传统的函数发展而来。方法和函数的区别:1. 在结构化编程语言中:函数是一等公民,整个软件是由一个个的函数组成。2. 在面向对象编程语言中:类才是一等公民,整个系统由一个个类组成,因此在java中方法不能独立...原创 2018-10-16 10:31:36 · 743 阅读 · 0 评论 -
java面向对象——封装、继承、多态
将对象的状态信息隐藏在对象内部,不允许外部程序直接访问对象内部信息,而是通过该类所提供的方法来实现对内部信息的操作和访问。1. 私有化的流程a.私有化成员变量使用private关键字修饰。b.提供公有的get成员变量和set成员变量方法,并在set方法体中进行合理性的判断。2. 访问控制符如果一个java源文件里定义的所有类都没有使用public修饰,则这个java源文件的文件名可以是一...原创 2018-10-16 20:14:50 · 284 阅读 · 0 评论 -
java关键字——this、super、final、static
this()和super()必须出现在构造的第一行,因此不可能同时出现。并且this和super关键字不能出现在static修饰的方法中,static修饰的方法是属于类的,该方法的调用者可能是一个类,而不是对象。所以this和super限定也就失去了意义。1. this关键字this关键字表示本类的对象/引用所有的属性变量不能重名,在同一区域的局部变量不能重名,但属性和局部变量可以重名,在...原创 2018-10-16 20:21:14 · 234 阅读 · 0 评论 -
java两个变量的值交换
不使用中间变量,如何实现两个变量值得交换?采用异或的方法,转化为二进制之间的运算int a = 1;int b = 2;a = a^b; System.out.println(a); //3b = a^b; System.out.println(b); //1a = a^b; System.out.println(a); //2...原创 2018-10-18 09:14:13 · 559 阅读 · 0 评论