前言
- 学习的过程确实很重要。不能一味的最求速度,学习的速度越快,可能你学的越不到位。很早之前我学Java的时候就是这样,一直往后学,学着学着就发现我前面的又忘记了!又去找前面的资料去看,看到后面,前面又忘记了,,,循环无解!(当然也没让你一个星期学只学一小节~),后来我发现学习过程中的总结真的十分重要。
- 为什么我也开始写博客呢?学习过程中肯定会遇到很多问题,而且有些问题可能不止遇到一次,那么可以把遇到的一些问题总结起来,做成笔记,这样就更方便自己去解决一些问题,而且说不定也能帮到别人,何乐而不为~最主要的还是做笔记做总结还可以让自己对一些知识了解的更透彻,有些问题你可能听懂了,但是真正让你去做的时候你又不会了,说明还是没真正的搞明白,做总结就可以帮你解决这些疑难。
- 下面就是我目前碰到的一些知识点和问题,有难有易,大家可以进行参考,而且后面我也会不断完善各个部分,坚持写下去!
年轻人,一起加油吧!!!
Java基础
-
常用DOS命令:
- dir:查看当前路径下的内容
- cd 目录:进入单级目录
- exit:退出DOS窗口
-
ping命令,可以查看网络稳定性
-
ipconfig:可以查询IP地址等相关信息
-
ping www.baidu.com -t:可以查看本机网络的稳定性,如果里面的时间越短,表示网络越稳定,-t表示向目的服务器不停发送数据包,如果想结束发送,可以按Ctrl+c结束。
-
-
安装JDK1.8以及为什么需要安装JDK?
- 安装JDK1.8过程比较简单,一直下一步即可(最好是把安装路径改一下)
- 为什么要安装JDK呢?由于Java文件是不能直接和底层系统进行交互的,就需要有一个东西来做”中间转接“,这个东西也就是经常听到的JVM—Java虚拟机。但是JVM是没有单独的安装包的,而JDK(Java开发工具箱)里面包括了JRE(Java运行环境),JRE中又包括了JVM,并且我们是作为开发人员(光只有运行时环境是没有的),所以我们直接安装JDK即可。
-
配置环境变量
- Path:%JAVA_HOME%\bin ,隶属于系统的,必须配
- JAVA_HOME:E:\Java_enviroment\jdk1.8 ,主要是后面学习Tomcat时需要配的,提前配也行。
- CLASSPASS(可以不配):隶属于Java的,其作用是引导类加载器(编译时)去内存找字节码文件的
-
Java的编译和执行原理:
- 运行时:.java文件—>.class文件
- 编译时:开启JVM,启动类加载器,类加载器去内存里面找对应的.class字节码文件,把字节码文件转成二进制放进JVM再和操作系统进行交互。
-
标识符和关键字
- 标识符:
- 只能由字母、数字、下划线和$组成,不能以数字开头,而且不能是关键字,eg:类名、变量名等…
- 命名的规范是见名知意、驼峰命名法,最特殊的就是main方法名是不能改变的!(程序的入口)
- 关键字:
- Java中有特殊含义的单词,而且都是小写字母
- eg:public、void、class等
- 标识符:
-
数据类型
-
基本数据类型
- 数值型:byte、short、int、long、float、double
- 布尔型:boolean(只有true和false两个值)
- 字符型:char
- 注意:
- 所占字节数,从左到右从上到下依次为:1、2、4、8、4、8、1、2
- 数值范围可以选择性记一下:eg:byte是-128到127等…
-
引用数据类型
数组、接口等…(后面陆续都会讲到)
-
-
编码
- Unicode(标准码):包括了世界上所有的符号,Java也就是采用这个编码。
- GB2312:适合处理汉字之间的通信
- ASCLL码:能包括128个字符(‘0’的ASCLL码为48)
-
转义字符:需要加" \ "才能表示出对应的含义,eg:\n:换行、\t制表符(相当于一个tab)
运算符、循环
-
运算符部分:运算符分类:算数运算符、赋值运算符、关系运算符、逻辑运算符、三元运算符…等
-
运算符部分需要注意的:
- &和&&的区别:&是按位与,&&是短路与(当判断左方为假时,结果直接为假,不用去判断右方真假)
- 三元运算符部分:可以让写出来的代码更加简单。eg:int c = a < b ? a : b;
- 自增自减运算符部分:当++在前时,先自增再赋值,当++在后时,先赋值再自增。(–类同++)
-
控制语句分类:
- 顺序结构
- 分支结构:if、switch
- 循环结构:for、while、do…while
-
控制语句部分需要注意:
-
switch部分:
-
case中的语句体,后面需要加break,防穿透!!!
-
括号里面能接收哪些数据类型?
如果用的是JDK8,就可以接收byte、short、int、char、enum(JDK5)、String(JDK7)
-
-
break:结束当前的循环
-
continue:结束本次循环,进行下一次的循环
-
return:结束当前方法,直接返回
-
方法、数组
-
方法有什么用?可以将某个功能或者某些代码进行封装,方面后面使用。
-
使用方法需要注意:
- 方法需要先创建,创建后需要手动调用才可使用
- main方法比较特殊,不需要手动调用,JVM会主动调用执行~
-
方法重载和方法重写的区别:
- 方法重载是Overload,方法重写是Override
- 方法重载是方法名相同,允许参数类型、参数个数或者参数顺序不同,多在同一个类中出现;而方法重写是需要方法名和参数都相同,允许方法体内容不一样,多在继承多态部分使用(后面会学到的!)。
-
形参和实参的区别:
- 形参多在方法参数部分出现,作用范围为方法体内,方法一旦结束弹出,形参就不在了!
- 实参多是在使用方法时,把实参的值传给形参,而且形参值的改变不会影响实参的值!
-
数组部分(引用数据类型):
- 动态初始化和静态初始化的区别:
- 动态初始化:eg: int[] arr = new int[3];
- 静态初始化:eg: int[] arr = {1,2,3};
- 求数组的长度:arr.length;
- 动态初始化和静态初始化的区别:
面向对象
- 下一节见~