Java
java基础
环境
- JVM java虚拟机(实现平台无关性的关键)
- JRE java运行时环境(包含JVM+JAVA标准类库及支持文件)
- JDK java开发工具包(包含JRE+开发工具集)
- JAVA包含三个版本:JAVAEE、JAVASE、JAVAME
- .java源文件通过编译器编译为.class字节码文件,再通过解释器(解释器为Java虚拟机的一部分)解释运行为具体平台上的机器指令
常变量
- 标识符由数字、下划线、字母和美元符组成,且不以数字开头
- 标识符区分大小写(例如Void是可以为标识符的),不能为关键字和保留字。
- 变量由变量名、变量类型、变量值组成
- 变量名为标识符,需符合标识符规则,建议使用(小)驼峰法命名,除第一个单词之外,其他单词首字母大写。
- 类命名用帕斯卡命名法(大驼峰法),首字母总大写
- 基本数据类型:数值型(byte、short、long、int、float、double)、字符型(char)、布尔型(boolean)
- 引用数据类型:类、接口、数组
- JAVA中三种表示整数方法:十进制,八进制(以0开头),十六进制(以0x或0X开头)
- 整型字面值默认情况下为int,末尾带l或L表长整型long
- 浮点型字面值默认情况下为double,d或D可加可不加,(这意味着诸如float t = 1.23是非法的)如加f或F表float类型
- 类定义的变量又叫对象,字符串实际上是类,所以字符串都是对象
- 变量按作用范围可分为:类级、对象实例级、方法级(局部变量)、块级
- JAVA变量名其实是可以设置为中文的,不过不太推荐
- 自动类型转换(隐式类型转换):数据表示范围小的向大的转换,反之,则需要强制类型转换
运算符
- 赋值运算符是自右向左结合
- 当分子分母都为整型,/与%运算符运算的结果不包含小数,否则,结果会包含小数
- 字符间使用关系运算符比较的是ASCII码值
- 浮点数与整数使用“==”比较,只要值相等,就返回true
- &&与||运算符又称短路运算符具备“短路”功能,&与|则不具备“短路”功能
流程控制
- 三大流程控制语句:顺序、选择、循环
- Java SE7 之前switch case表达式的值仅支持整型,而后支持的类型扩展为:byte、short、int、char及String
数组
- 数组是相同类型的数据按顺序组成的一种引用数据类型
- 数据类型[] 数组名 和 数据类型 数组名[] 均为合法的数组声明方式,二维数组同理,此外,二维数组还支持数据类型[] 数组名[]的声明方式
- 数组长度必须指定
- 数组会被分配连续的内存空间
- 创建二维数组列数可以省略,行数必须要指定,每行相当于一个一位数组,进行单独创建
方法
- 方法是用来解决一类问题代码的有序组合,是一个功能模块
- 方法不能嵌套定义
- 方法重载:方法名相同,参数列表不同
- 主方法中必须使用对象的名字进行调用其他方法,而普通方法如果和被调用方法处于一个类中,则可以直接用方法名调用
- 参数列表如果有两个及以上时,可变参数一定是放在最后的,故一个方法中只能有一个可变参数
- 可变参数作为参数,可以将数组传递给可变参数列表
- 数组作为参数,不能将多个值传递给数组
- 在重载中,数组和可变参数视为等价,故同时存在会报错(一个方法参数是数组类型,一个方法参数是可变数组类型,这样不行)
-
可变参数和不可变参数同时存在,都满足调用条件,会优先重载不可变参数的方法(可变参数列表所在方法是最后被访问的)