Java学习笔记1
Java数据类型简介
基本数据类型
数值型:byte、short、int、long、float、double 默认值:0、0.0
布尔型:boolean 默认值:false
字符型:char 默认值:'\u0000'
引用数据类型
数组、类、接口
数据类型使用的参考原则:
1、如果是描述数字首选int(整数)double(小数);
2、如果进行数据传输或者进行文字编码转换时选择byte类型(二进制处理操作);
3、处理中文时最方便的操作是使用字符char来完成;
4、描述内存或文件大小、描述表的主键列(自动增长)可以使用long类型;
运算符的小技巧(+=、-=、*=、/=、%=)
方法递归调用
方法的递归调用指的是方法自己调用自己的情况,利用递归调用可以解决一些重复且麻烦的事情。
利用递归调用需要注意以下两点:
1、一定要设置方法递归调用的结束条件。
2、每一次调用过程中一定要修改传递的参数。
示例:实现1-100累加计算。
示例:实现1!+2!+3!+ ... +90!
public class 类名称 {} :类名称必须与文件名一至,一个 *.java 文件内只能有一个 public class 定义。
class 类名称 {} :类名称可以与文件名不一致,但是编译后的 *.class 是类名称;在一个 *.java 文件内可以有多个 class 定义,且编译后会形成不同的 *.class 文件。
提示:在进行项目开发时,一般规范一个 *.java 文件内只定义一个 public class 类;类名称定义采用 "大驼峰" 方式定义。
PATH : 是操作系统提供的路径配置,定义所有可执行程序的路径;
CLASSPATH : 是由 JRE 提供的,用于在定义 Java 程序解释时类加载路径,默认设置的为当前所在目录加载,可以通过 "SET CLASSPATH = 路径" 的命令形式进行定义。
垃圾产生:垃圾指的是没有被栈内存指向的堆内存空间;垃圾会被 GC 回收,但垃圾过多会影响性能,所以在开发过程中一定要控制垃圾的产生。
提示:一个栈内存只会指向一个堆内存的地址数据,如果发生更改,则之前的地址数据将从此栈内存中彻底消失。
this 关键字&构造方法
为什么使用 this 关键字:在 Java 中 "{}" 符号代表一段代码的边界,程序使用变量是会 "就近" 选取变量进行使用。
构造方法:如果没有手写构造方法,系统会在编译时构建一个"无参构造";所以一个类中最少拥有一个构造方法;
构造方法没有任何返回值类型,甚至连 "void" 也不能有!如果写上 "void" ,那么系统将无法分辨方法到底是构造方法还是普通方法!
this关键字有以下3种使用方法(实现3类结构的描述):
1、当前类中的属性:this.属性;
2、当前类中的方法(构造方法、普通方法):this()、this.方法名称();
3、描述当前对象;
范例:利用this关键字调用构造方法
正常逻辑
利用this调用构造(降低重复代码)
对于本类构造方法的互相调用需注意以下几点:
- “this()”语句必须放在构造方法的首行
- 构造方法互相调用时要保留有程序的出口,别形成死循环
static 关键字
对于 static 属性的访问,由于其本身是一个公共属性,虽然可以通过对象进行访问,但最好的方法是通过对象的最高代表 "类" 进行访问,所以 static 属性可以通过类名称直接调用。
static 属性虽然定义在类中,但并不受到类的实例化控制,即,可以在类实例化之前进行调用。
static 方法只允许调用 static 属性&方法;非 static 方法允许调用 static 属性&方法。static 方法想要调用非 static 方法,须将非 static 方法对象实例化。
static 定义的属性&方法都不是代码设计之初要考虑的内容,只有在回避实例化对象调用并描述公共属性的情况下才会考虑 static 定义。
代码块
代码块种类:普通代码块、静态代码块、构造代码块、同步代码块
静态代码块:非主类中的静态代码块优先于主方法执行,可以在执行主方法前做一些准备操作;
构造代码块在实例化对象时执行,且优先于构造方法执行。
方法可变参数"..."
定义一个方法,实现任意多个整型数据的和。
可变参数实际上就是一个 "变种数组" 因为它既可以接收直接的参数设定,也可以接收数组的定义。