懵懂的菜鸟

Stay hungry,Stay foolish.

导航

Java基础知识

Day01

    --java语言

--环境变量配置(临时配置_ classpath)

Day02

    --java语言基础_1

        --关键字,标识符,常量,进制,字符类型运算

        --算数运算符,赋值运算符

 

面试题目

short s=3;赋值运算,3是整数,4个字节,s是2个字节,转换动作。

s+=4;一次赋值运算,进行自动转换

s=s+4;两次运算,

一个编译失败,一个编译成功。

s+=4;在底层中做了强制转化动作,做了类型提升

s=(short)(s+4);

Day03

    --java语言基础_2

        --比较运算符,逻辑运算符

        --位运算符,三元运算符,if格式(3种)

        --局部代码块

        --if练习(星期,季节)

        --switch语句,do while语句,for语句

        --while联系(累加思想,计数器思想)

        --循环语句场景

知识点:

1,加密运算:一个数异或同一个数两次,还是原来的数。(用于加密)

2,左移几次其实就是该数据乘以2的几次方。

右移几次其实就是除以2的几次幂;对于高位出现的空位,原来高位是    什么,就用什么补这个空位

>>>无符号右移,空位置统一用0补充

3,比较运算符,运算玩的结果必须true或者false;

4,

对一个整数的最后一个字节,高四位和低四位进行换位。

 

        int num = 0101-1100 & 255;

        1100-0101

 

        61 = 0011-1101

             1101-0011 = 211

 

 

        */

        int num = 61;

          

        int n1 = num & 15;//低四位

        int n2 = num & (15<<4);//高四位

 

 

        int n = n1<<4 | n2>>>4;

5,

{//局部代码块可以定义局部变量的生命周期。

        int a = 3;

        //a 的运算。

        System.out.println(a+4);

        }

6,

if和switch的应用:

 

if:

    1,对具体的值进行判断。

    2,对区间判断。

    3,对运算结果是boolean类型的表达式进行判断。

 

switch:

    1,对具体的值进行判断。

    2,值的个数通常是固定的。

    对于几个固定的值判断,建议使用switch语句,因为switch语句会将具体的答案都加载进内存。

    效率相对高一点。

7,

do while语句的特点:无论条件是否满足,循环体至少执行一次。

面试题目

1,

&&:

和&的运算结果是一样的。但是运算过程有点小区别

&:无论左边的结果是什么,右边都参与运算。

&&:当左边为false时,右边不参与运算的

同理 ||

2,

快速实现乘法运算,位移

3,快速交换2个数

3种方式

方式一:常用的阅读性强

int c ;

        c = a;

        a = b;

        b = c;

方式二:一般别用,如果数值过大,容易超出int范围,导致强制类型转换

a = a + b; //a = 3 + 5;a = 8;

        b = a - b; //3+5-5 = 3;b = 3;

        a = a - b; //3+5-3 = 5;a = 5;

方式三:异或运算实现(面试的时候用)

a = a ^ b; //a = 3 ^ 5;

        b = a ^ b; //b = (3^5)^5; b = 3;

        a = a ^ b; //a = (3^5)^3; a = 5;

 

 

Day04

    --java语言基础_3

        --for循环嵌套

        --break & continue

    --函数

        --定义,格式,细节

        --两个细节

        --内存加载,重载

    --数组

        --概括,定义,内存空间的划分

        --栈内存&堆内存

        --内存图解,常见问题

知识点:

1,

\n:回车:

        \t:制表符。

        \b:退格。

        \r: 按下回车键。

 

        windows系统中回车符其实是由两个符号组成的 \r\n.

        linux中回车符是 \n.

 

2,

Break:当break单独存在时,下面不要跟语句,因为执行不到

 

Day05

    --java基础_数组

        --数组第二种定义格式

        --常见操作,遍历,最值,选择排序,

冒泡排序,位置替换

                    性能分析,查找,折半查找

        --进制转换,查表法,整合

Day06

    --二维数组

        --定义及应用

    --面向对象_1

        --概括,举例

        --类和对象的体现

        --成员变量和局部变量,匿名对象

        --基本数据类型参数传递,引用数据类型参数传递

        --封装的代码及思想

Day07

    --面向对象_2

        --构造函数,概括,默认构造函数,重载,内存

        --this关键字,使用及应用

        --static关键字,数据共享,特点,成员变量和静态变量,

                        Main函数,静态代码块,构造代码块

Day08

    --面向对象_3

        --数组工具类,对象建立,文档注释,静态的使用

    --继承

        --概述,单继承和多继承

        --子父类中成员函数的特点,覆盖

Day09

    --继承

        --子类的实例化

    --面向对象

        --final关键字

        --抽象类

        --接口interface,implements

        --接口的多实现,细节,和抽象类的区别

Day10

    --面向对象

        --接口的应用

        --多态,概述,好处,弊端,转型,类型判断(instanceof)

                成员变量,成员函数,静态函数

        --内部类,概述,修饰符,细节,局部内部类

        --匿名内部类,概述,应用,细节

        --对象的初始化过程

Day11

    --面向对象

        --异常,概述,体系,原理,抛出(throw,thorows,try_catch)

                Finally代码块,应用

    --object

        --equals方法,hashcode方法,getclass方法,toString方法

Day12

    --面向对象

        --包,导入import,jar包,

--练习

    --多线程

        --概述,示例,继承thread,图解

Day13

    --多线程

        --第二种runnabale接口

        --卖票

        --线程安全

--同步代码块,好处,弊端,验证,锁,死锁

Day14

    --多线程

        --线程通信,等待唤醒机制,多生产者多消费者问题

        --wait和sleep

        --停止线程的方式,定义标记,interrupt

--守护线程,setdaemon,join

--面试题

Day15

    --常见API

        --string类,特点,构造函数,常见功能

                    获取,转换,判断,比较

        --intern方法

        --字符串数组排序

        --子串的次数,最大子串,去除两端空白

--stringbuffer类,特点,插入,删除,查找,修改,

--可变长度数组

--练习

Day16

    --对象包装类

        --概述,字符串转成,进制转换,自动装箱拆箱

    --集合框架

        --概述,体系,方法演示

        --迭代器

--list和set

--listiterator接口

Day17

    --集合框架

        --vector集合

        --linklist集合

--linklist集合练习(堆栈和队列)

--arraylist集合

--hashset集合

--哈希表

--linkedhashset集合

--treeset集合,comparator比较器,二叉树,字符串长度排序

Day18

--泛型

--概述,擦除和补偿,应用

--泛型限定,上限,下限,通配符,集合阅读技巧

    --Map集合

        --常用方法

        --keyset,entryset

--values

--hashMap

--treeMap

Day19

    --Map集合

        --linkedhashmap,关联源码

        --记录字母次数思路

--Map查表法

--集合框架工具类

--collections,排序,折半,最值,逆序,替换

--arrays方法,aslist

--foreach循环

--函数可变参数,静态导入

Day20

    --其他API

        --system类

        --runtime类

--match类

--data类

--calendar类

--IO流

--输入流和输出流

--字节流和字符流

    --字符流

--filewriter,filereader

Day21

--字符流

--复制文本

--缓冲区bufferwriter,bufferreader

--自定义mybufferreader,readline

--缓冲区抓实设计模式,和继承的区别

--lineNumberReader

--字节流

--复制MP3

Day22

--IO流

--演示键盘录入

--读取键盘录入

--转换流

--流的基本操作

--File对象

--获取,创建,删除,判断,重命名,过滤器

Day23

--File对象

--深度遍历,递归,删除

--Properties集合

--list方法,store方法,修改配置信息

-    --文件清单列表

    --打印流printstream,printwriter

    --序列流sequenceinputstream,枚举和迭代

Day24

--文件切割和合并

--objectoutputstream对象序列化

--objectinputstream对象序列化

         --序列化接口serializable

        --关键字transient

        --randomaccessfile写入,读取

        --管道流pipedstream

--流对象datastream

--编码表

--编码解码问题

Day25

--GUI

--Frame演示

--事件监听

--actionlistener

--鼠标和键盘事件

--swing演示

--列出目录内容

--菜单

Day26

--网络编程

--网络模型概述

--网络要素,IP地址,端口,传输协议,

--InAddress

--域名解析

--UDP协议,发送端,接收端,聊天程序

--TCP协议,客户端,服务端,交互,文本转换客户端,上传文本文档

Day27

--网络编程

--TCP,上传图片客户端,上传图片服务端,服务端多线程技术

--客户端和服务端原理

--模拟浏览器获取信息

--URL&URLConnection

--常见网络结构

Day28

--反射机制

--概述,应用

--细节,获取class对象的三种方法

--获取class的构造函数

--反射练习

    --正则表达式

        --概述,规则

        --常见功能,匹配,切割,替换,获取

        --练习

        --网络爬虫

Day29

--HTML

--概述,操作思想

--常用工具

--列表,图像,表格,标签,超链接,矿建,画中画,

--表单input,selec,textarea

--GET和HOST

--服务端和客户端校验

--标签的分类

Day30

--CSS

--概述,和html结合

--基本选择器

--关联选择器和组合选择器

--伪元素

--css样式

--盒子模式

--布局,漂浮,定位,图文混排,图像签名

posted on 2018-05-02 14:11  懵懂的菜鸟  阅读(194)  评论(0编辑  收藏  举报