JAVA学习
关键字
定义
JAVA中有特殊含义的、被保留的、不能随意使用的字符
关键字的特点:
- 完全小写的字母。
- 在增强的记事本当中(例如Notepad++)有特殊颜色的标记
标识符
定义
在程序中,我们自己定义的内容。比如类的名字、方法的名字和变量的名字等等,都是标识符。
命令规则
- 标识符可以包含26个英文字母,数字。
- 标识符不能以数字开头
- 标识符不能是关键字
命名规范
- 命名规范:首字母大写,后面的每个单词首字母大写(大驼峰命名法)。
- 变量名规范:首字母小写,后面的每个单词的首字母大写(小驼峰命名法)。
- 方法名规范:同变量名
常量
定义
在程序运行期间,固定不变的量
常量分类
- 字符串常量:凡是使用双引号引起来的部分,叫做字符串常量。例如“abc”
- 整数常量:直接写上的数字,没有小数点。例如:100
- 浮点数常量:直接写上的数字,有小数点。例如:2.5
- 字符常量:凡是用单引号引起来的单个字符,就叫做字符常量。例如:‘A’
- 布尔常量:只有量中取值。true、false
- 空常量:null。代表没有任何数据。
常量数据的打印输出
public class Demo{
public static void main(String[] argds){
//字符串常量
System.out.println("ABC");
System.out.println("");
//整数常量
System.out.println(20);
System.out.println(-100);
//浮点数常量
System.out.println(3.14);
//字符常量
System.out.println('A');
//System.out.println(''); 两个单引号中间必须有且仅有一个字符,没有是错误的
//System.out.println('ABC');两个单引号之间必须有且仅有一个字符,有两个是错误的
//布尔常量
System.out.println(true);
System.out.println(false):
//空常量,空常量不能直接打印输出
//System.out.println(null);
}
}
数据类型
基本数据类型
整数型 byte short int long
浮点型 float double
字符型 char
布尔型 boolean
注意事项:
-
字符串不是基本数据类型,而是引用类型
-
浮点型可能只是一个近似值,并非精确的值
-
数据范围与字节数不一定相关,例如float数据范围比long更加广泛,单数float是4字节,long是8字节
-
浮点数当中默认类型是double。如果一定要使用float类型,需要加上后缀F
如果是整数,默认是int类型,如果一定要使用long类型需要添加后缀L
引用数据类型
字符串、数组、类、接口、Lambda
变量
定义
程序运行期间,内容可以发生改变的量
创建一个变量并且使用的格式:
数据类型 变量名称; //创建一个变量
变量名称 = 数据值; //赋值,将右边的数据值,赋值交给左边的变量
数据类型 变量名称 = 数据值; //在创建一个变量的同时,立即放入指定的数据值
注意事项
-
如果创建多个变量,那么变量之间的名称不能重复
-
对于float和long类型的变量,赋值时要加后缀F和L
-
对变量进行赋值的时候数值不能超出数据类的范围
-
没有进行赋值的变量,不能直接使用,一定要赋值之后才能使用
-
变量使用不能超出作用域的范围
作用域:从定义变量开始,一直到直接所属的花括号结束为止
数据类型转换
-
自动类型转换(隐式)
特点:代码不需要进行特殊处理,自动完成。
规则:数据范围从小到大
-
强制类型转换(显式)
特点:代码需要进行特殊的格式处理,不能自动完成。
格式:范围小的范围 范围小的变量名 = (范围小的类型)原本范围大的数据;
int num = (int) 100L
注意事项
-
强制类型转换一般不推荐使用,因为可能发生精度损失、数据溢出。
-
byte/short/char这三种类型都可以发生数学运算,例如加法
-
byte/short/char这三种类型在运算的时候,都会首先被提升成为int类型,然后再计算。
byte + byte --> int + int --> int
-
boolean类型不能发生数据类型转换。
-
运算符与表达式
运算符:进行特定操作的符号。
表达式:用运算符连接起来的式子叫做表达式。
四则运算中的加号“+”有常见的三种用法:
- 对于数值来说,那就是加法
- 对于字符char类子嗯来说,在计算之前,char类型会被提升为int,然后再计算
- 对于字符串String来说,加号代表字符串连接操作。任何数据类型和字符串进行连接的时候,结果都会变成字符串
自增运算符:++
自减运算符:–
基本含义:让一个变量增加一个数字1,或者让一个变量减少一个数字1
方法
定义:就是将一个功能抽取出来,将代码单独定义在一个大括号内,形成一个单独的功能。当我们需要这个功能的时候,就可以去调用。这样即实现了代码的复用性,也解决了代码冗余的现象。
方法的定义
定义格式:
修饰符 返回值类型 方法名(参数列表){
代码
return ;
}
方法名称的命名规则和变量一样,使用小驼峰。
方法体:也就是花括号当中可以包含任意条语句。
注意事项
- 方法定义的先后顺序无所谓。
- 方法的定义不能产生嵌套包含关系。
- 方法定义好之后,不会执行。如果要想执行,一定要进行方法的调用
方法的重载
多个方法的名称一样,但是参数列表不一样。
好处:只需要记住唯一一个方法名称就可以实现类似的多个功能。
注意事项
方法重载与下列因素有关
- 参数个数不同
- 参数类型不同
- 参数的多类型顺序不同
数组
是一种容器,可以同时存放多个数据值
数组特点:
- 数组是一种引用数据类型。
- 数组当中的多个数据,类型必须统一。
- 数组的长度在程序运行期间不可改变。
数组的初始化:在内存当中创建一个数组,并向其中赋予 一些默认值
两种常见的初始化方式:
- 动态初始化(指定长度)
- 静态初始化(指定内容)
动态初始化数组的格式:
数据类型[] 数组名称 = new 数据类型[数组长度]
int[] arrayA = new int[100];
静态初始化:在创建数组的时候,不直接指定数组个数多少,而是直接将具体的数据内容进行指定。
静态初始化基本格式:
数据类型[] 数组名称 = new 数据类型[] {元素1, 元素2, ……};
省略格式:
数据类型[] 数组名称 = {元素1, 元素2, ……};
访问数组元素的格式:数组名称[索引值]
索引值:就是一个int数字,代表数组当中元素的编号。索引值从0开始,一直到“数组的长度-1”为止。
数组的赋值
使用动态初始化数组的时候,其中的元素将会自动拥有一个默认值。规则如下:
整数类型默认为0,浮点类型默认为0.0,字符类型默认为’\u0000’,布尔类型默认为false,引用类型默认位null。
注意事项:
静态初始化其实也哟偶默认值的过程,只不过系统马上将默认值替换位花括号中的具体数值
java的内存需要划分成为5个部分:
-
栈:存放的都是方法中的局部变量
局部变量:方法的参数,或者是方法{}内部的变量
作用域:一点那超出作用域,立刻从栈内存当中消失
-
堆:凡是new出来的东西都在堆当中