java基础梳理--朝花夕拾(三)】的更多相关文章

1.了解面向对象的编程思想以及面向对象的特性: 对象: EveryThing is Object: 万物皆是对象,在程序中,我们可以将类.接口.方法.属性等都认为是对象: 面向对象: 是一种程序设计方法,它以对象作为基本的单元来构建系统,它利用对象将系统的复杂性隐藏在对象里(即封装),从而构建大型的工业级系统和大型系统. 面向对象包括三个过程: 面向对象分析(OOA).面向对象设计(OOD).面向对象编程(OOP). 面向对象的三个特性: 继承.封装.多态 面向对象和面向过程的区别? 面向过程就…
1.Java语言语法规则和文件格式: 第一个Java程序:/** 第一个Java程序:控制台输出Hello world!*/public class Test{    //访问修饰符 class关键词用于声明类使用 后面跟类名   public static void main(String args[]){//程序的入口,主函数main方法:        System.out.println(“Hello world!”);// 输出语句   }} Java语言区分大小写:public 为访…
简介: Java是一种撰写跨平台应用软件的面向对象语言,1995年由Sun Microsystems公司推出. 2009年04月20日,甲骨文74亿美元收购Sun,取得java的版权. 2011年7月28日,甲骨文发布java7.0的正式版. 2014年3月19日,甲骨文公司发布java8.0的正式版. Java组成部分: (1)Java编程语言 (2)Java文件格式 (3)Java虚拟机(JVM) (4)Java应用程序接口(Java API) 当编辑并运行一个Java程序时,需要同时涉及到…
java基础解析系列(三)---HashMap java基础解析系列 java基础解析系列(一)---String.StringBuffer.StringBuilder java基础解析系列(二)---Integer java基础解析系列(三)---HashMap 这是我的博客目录,欢迎阅读 基本概念 节点: Node<Key,Value>,存放key和value static class Node<K,V> implements Map.Entry<K,V> { fi…
森林森 一份耕耘,一份收获 博客园 首页 新随笔 联系 管理 订阅 随笔- 397  文章- 0  评论- 78  JAVA基础学习day16--集合三-Map.HashMap,TreeMap与常用API   一.Map简述 1.1.简述 public interface Map<K,V> 类型参数: K - 此映射所维护的键的类型 key V - 映射值的类型 value 该集合提供键--值的映射.key不能重复,一对对的存储方式 将键映射到值的对象.一个映射不能包含重复的键:每个键最多只能…
前言:准备将Java基础知识点总结成一个系列,用于平常复习并加深理解.每篇尽量做到短小精悍,便于阅读. 1.Math类中相关函数 Math.floor(x):返回不大于x的最大整数.eg:Math.floor(1.4)=1.0. Math.round(x):该函数会进行“四舍五入”,具体操作:返回小于等于(x+0.5)的最大整数(加0.5然后向下取整).换算记忆:Math.round(x)=Math.floor(x+0.5).eg:Math.round(1.4)=Math.floor(1.4+0…
一:jdk7新特性 可以表示二进制数值,以0b开头,中间可以使用下划线_分隔符.如下: @Test /** * 测试jdk新特性 */ public void testJdk7(){ int a=0b00000000000000000000000000000011; int b=0b0000_0000_0000_0000_0000_0000_0000_0011 System.out.println("a="+a+"\n"+"b="+b); } 二…
一.代理的概念 动态代理技术是整个java技术中最重要的一个技术,它是学习java框架的基础,不会动态代理技术,那么在学习Spring这些框架时是学不明白的. 动态代理技术就是用来产生一个对象的代理对象的.在开发中为什么需要为一个对象产生代理对象呢? 举一个现实生活中的例子:歌星或者明星都有一个自己的经纪人,这个经纪人就是他们的代理人,当我们需要找明星表演时,不能直接找到该明星,只能是找明星的代理人.比如刘德华在现实生活中非常有名,会唱歌,会跳舞,会拍戏,刘德华在没有出名之前,我们可以直接找他唱…
一.hashCode 与 equals (重要) 面试官可能会问你:"你重写过 hashcode 和 equals 么,为什么重写equals时必须重写hashCode方法?" 1.1.hashCode()介绍 hashCode() 的作用是获取哈希码,也称为散列码:它实际上是返回一个int整数.这个哈希码的作用是确定该对象在哈希表中的索引位置.hashCode() 定义在JDK的Object.java中,这就意味着Java中的任何类都包含有hashCode() 函数.  散列表存储的…
Arraylist与Vector的区别 清浅池塘 程序员,专栏:Java那些事儿唯一作者,咨询前请先点详细资料   162 人赞同了该文章 这几天工作有点忙,有很多代码需要写,更新文章有点慢,说声抱歉,前几天有人反馈LinkedList的文章不太看得懂,临时准备补两篇文章. 前几篇文章我们重点说了ArrayLIst,是时候放出这张图了. 这张图里的内容对我们学习Java来说,非常的重要,白色的部分是需要去了解的,黄色部分是我们要去重点了解的,不但要知道怎么去用,至少还需要读一次源码.绿色部分内容…
/* java中的八种基本数据类型: 整数: byte . short . int . long 小数: float double 字符: char 布尔: boolean 字符串的类型: String(引用数据类型) 声明变量的方式: 方式1: 数据类型 变量名 = 数据; 方式2:数据类型 变量名1 , 变量名2 ......: */ class Demo1 { public static void main(String[] args) { String str = ""; //…
Scanner类 Scanner类属于引用数据类型,先了解下引用数据类型. 引用数据类型的使用 与定义基本数据类型变量不同,引用数据类型的变量定义及赋值有一个相对固定的步骤或格式. 数据类型 变量名 = new 数据类型(); 每种引用数据类型都有其功能,我们可以调用该类型实例使用其功能. 变量名.方法名(); Scanner类 Scanner类可以完成用户键盘录入,获取到录入的数据. Scanner使用步骤: 导包: import java.util.Scanner; 创建对象实例:Scann…
一. JavaBean 是一种特殊的java类,它遵从一定的设计模式,开发工具和其他组件可以根据这种模式来调用javaBean.它是使用一种符合某些命名方法和设计规范的java类. -- 这个类是可序列化的(能够持久保存也能恢复状态),也就是,它必须实现java.io.Serializable接口 -- 这个类必须带有一个无参数的构造方法. -- 这个类的属性必须通过使用get.set和其他按标准命名规范来命名的方法来操作: getXxx()和setXxx()用于非布尔属性,isXxx()用于布…
一.管道流 演示:PipedInputStream  , PipedOutputStream 注意:管道流本身就不建议在一个线程中使用,这是因为向输出流中写的数据,都会存到输入流内部的一个1024字节大小的数组中,如果写的内容超过这个数组的大小,而且没有被输入流读取的话,输出流所在的线程就会等待,如果这时是在同一个线程中,该线程就会死锁,不推荐在同一个线程中使用.(API) import java.io.IOException; import java.io.PipedInputStream;…
一.参数传递 Java的参数是以值传递的形式传入方法中,而不是引用传递. 二.隐式类型转换 Java不能隐式执行向下转型,因为这会使精度降低:但是使用 += 运算符可以执行隐式类型转换. float f=1.1f; f += 1.1;//相当于 f = (float) (f+1.1),其中f+1.1是double类型的 特殊情况:只要int类型的数没有超出(byte,short,char)的表述范围,可以直接byte a=23 ,short a=23,char a=23. 三.switch sw…
面向对象编程(OOP)的三大特征 什么是封装? (1) 把对象的状态和行为看成一个统一的整体,将二者存放在一个独立的类中; (2) "信息隐藏", 把不需要让外界知道的信息隐藏起来,向外提供统一的方法用于设置和读取属性,保证外界安全访问功能;  把所有的字段使用private私有化,不准外界访问,把方法使用public修饰,允许外界访问.   [注意]除了属性的封装,将需要重复使用的代码提取到方法中,这叫方法的封装.将相同的是属性和方法提取到一个类中也称为封住.   实现访问控制,限制…
JAVA方法入参和返回类型 方法入参 基础数据类型 引用数据类型 修饰符 返回类型 方法名(参数类型 参数名,参数类型 参数名...){//方法体return} 方法返回类型 return xxx 具体类型 如果不用返回,则方法返回类型上写void 修饰符 void ⽅方法名(参数类型 参数名,参数类型 参数名...){//⽅方法体} 例子 package study2day;public class Student1 { private int age; public void setAge(…
一.运算符 1.算术运算符 1) 加法(+) 加法   正号  字符串拼接 2) 减法(-) 减法 负号 3) 乘法 (*) 乘法 4) 除法(/) 除法 整数(小数)相除的例子 10/3 =3:  10.0/3=3.33333…   0/0   0.0/0.0 结果是NaN ,任何的NaN都不等于自己(面试题) 1.0/0.0 Infinity,表示无穷大 5) 取模(%) 2.自增自减 ++(自增)     --(自减)  自增自减只能够用于 变量,不能用于常量  自增自减运算的优先级  比…
卷1: 一.单选题(15道,共30分) //1.下列关于JDK.JRE.JVM关系描述正确的是 (A) A:JDK是开发工具,包含了JRE.JRE是运行环境,包含了JVM.JVM是虚拟机,可以保证跨平台 B:JRE是虚拟机,保证了跨平台.JVM是运行环境,包含了JRE.JDK是开发工具,包含了JVM C:JDK是运行环境,包含了JRE.JRE是开发工具,包含了JVM.JVM是虚拟机,保证了跨平台 D:JDK是开发工具,JRE是运行环境,JVM是虚拟机.三者没有关联 2.Java中的数据类型分为…
关键字是电脑语言事先定义的,是特别意义的标识符,又叫保留字.用来表示一种数据类型或程序的结构等,关键字不能用作变量名.类名.方法名或参数.java目前共有50个关键字,其中"const"和"goto"这两个关键字在Java语言中并没有具体含义(未被使用). 1.关键字总览 基本数据类型(9):boolean.char.byte.short.int.long.float.double.null 变量引用(2):super.this 类.方法.变量修饰符(15):cla…
三.Operators 运算符 Assignment Operators(赋值运算符) =   +=   -=   %=   *=   /=    <<=     >>=     >>>=    &=    ^=      |= public class ByteDemo { public static void main(String[] args) { byte b1=2; byte b2=3; b1=(byte)(b1+b2); //加法,转int…
现在有500个小孩,编号为0-499,手牵手连成一个圈,从第一个小孩开始"123123..."报数,数到三的小孩退出,求剩下的最后一个小孩的编号. public static void main(String[] args) { //用boolean类型来表示小孩,默认为true boolean[] arr = new boolean[500]; for (int i = 0; i < 500; i++) { arr[i] = true; } //圈内剩下的小孩的数量 int l…
1.类加载 bootstrap classloader -引导(也称为原始)类加载器,它负责加载Java的核心类. extension classloader -扩展类加载器,它负责加载JRE的扩展目录(JAVA_HOME/jre/lib/ext或者由java.ext.dirs系统属性指定的)中JAR的类包. system classloader -系统(也称为应用)类加载器,它负责在JVM被启动时,加载来自在命令java中的-classpath或者java.class.path系统属性 或者…
一.Oracle内部结构 1.表空间 表空间是数据库的逻辑划分,一个表空间只属于一个数据库,每个表空间由一个或多个数据文件组成,表空间中其他的逻辑结构的数据存储在这些数据文件中,一般oracle系统安装后,会自动建立多个表空间, oarcle11g 的主要表空间  //附(10 g 也是一样的) 1).example :示例表空间,用于存放示例数据库的方案对象信息及其培训资料 2).system: 是系统表空间,用于存放oracle系统内部表和数据字典的数据,如表名,列名,用户名等,一般不赞成将…
七.方法 定义: 方法就是完成特定功能的代码块 在很多语言里面都有函数的定义 函数在Java中被称为方法 格式: 修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2…) { 函数体; return 返回值; } 说明: 修饰符 比较多,public static等 返回值类型 用于限定返回值的数据类型 方法名 一个名称,为了方便我们调用方法 参数类型  限定调用方法时传入参数的数据类型 参数名 是一个变量,接收调用方法时传入的参数 方法体 完成功能的代码 return 结束方法以…
JAVA泛型的基本使用: /** * JAVA泛型的使用 * 定义:泛型的本质是参数化类型,就是说所操作的数据类型被指定为一个参数. * * 定义泛型方法的规则 * 1.所有泛型方法声明都有一个类型参数声明部分(由尖括号分割),该类型参数声明部分在方法返回类型之前. * 2.类型参数能被用来声明返回值类型,并且能作为泛型方法得到的实际参数类型的占位符. * 3.泛型方法的声明和普通方法一样,需要注意的是类型参数只能代表引用类型,不能是原始类型(像int,char,double,folat等) *…
还在学习Servlet,觉得这里的知识点蛮多的.还要继续努力,加油. 拿韩老师的话激励一下自己,共勉.韩老师说,“成功其实也不难,只要树立一个目标,不需要你是一个很强的人,不需要你很高智商,不需要你是千里马,你只要像老黄牛一样,每天哪怕做一点点,往目标前进一点点,你就会成功.可是成功又很难,因为在通往成功的路上,很少人能够坚持下来.在坚持的过程中,很多人都选择了放弃“. 对我来说,当即把Java学习坚持下去,并且能学好,能承担一定的工作和生活的责任就是我要的成功了.…
List和Set比较,各自的子类比较 对比一:Arraylist与LinkedList的比较 1.ArrayList是实现了基于动态数组的数据结构,因为地址连续,一旦数据存储好了,查询操作效率会比较高(在内存里是连着放的). 2.因为地址连续, ArrayList要移动数据,所以插入和删除操作效率比较低. 3.LinkedList基于链表的数据结构,地址是任意的,所以在开辟内存空间的时候不需要等一个连续的地址,对于新增和删除操作add和remove,LinedList比较占优势. 4.因为Lin…
声明数组: 语法:数据类型[ ] 数组名://例:int[ ] scores;  或者 数据类型 数组名[ ]://例:int scores[ ];分配空间 语法:数组名 = new 数据类型 [ 数组长度 ];//例:scores = new int [5];将声明和分配合并: int[ ] scores = new int[5];赋值 scores [0]=89;将声明,分配,赋值合并:    int [ ] scores ={78,91,85,74};等价于int [ ] scores =…
1.解析public static void main(String[] args)方法 JVM在运行程序时,会首先查找main()方法作为入口,main是JVM识别的特殊方法名. public是权限修饰符,表明任何类或对象均可访问此方法. static表明main()方法是一个静态方法,即方法中的代码是存储在静态存储区的,只有类被加载后,即可使用该方法而不需要实例化对象来访问,可以直接通过类名.main()访问. 字符串数组参数args接收开发人员在命令行状态下与程序交互的代码. 此例为调用m…