目录标题
1.关键字和标识符
(1)关键字的特点
完全小写的字母
(2)标识符
是指在程序中,我们自己定义内容。比如类的名字、方法的名字和变量的名字等等。
命名规则:
【硬性要求】
①标识符可以包含【因为字母26个(区分大小写)、0-9数字、$(美元符号)和_(下划线)
②不能以数字开头
③不能是关键字
【软性建议】
类命名规范:首字母大写,后面的每个单词首字母大写(大驼峰式)。
变量名规范:首字母小写,后面每个单子首字母大写(小驼峰式)。
方法名规范:同变量名。
2.常量和变量
(1)常量
在程序运行期间,固定不变的量
(2)变量
在程序运行期间,内容可以发生改变的量
创建一个变量并且使用的格式:
格式一:
数据类型 变量名称;//创建了一个变量
变量名称=数据值;//赋值,将右边的数据值,赋值给 左边的变量
格式二:
数据类型 变量名称=数据值;//在创建一个变量的同时,立即放入制定的数据值
3.数据类型
(1)基本数据类型
(2)数据类型转换
注意事项:
①强制类型转化一般不推荐使用,因为有可能发生精度损失、数据溢出。
②byte/short/char都可以发生数学运算,例如加法“+”
③byte/short/char在运算的时候,都会被首先提升为int类型,然后再计算
④boolean类型不能发生数据类型转换
(3)使用变量的注意事项
①如果创建多个变量,那么变量之间的名称不可以重复。
②对于float和long类型来说,字母后缀F和L不要丢掉。
③如果使用byte或者short类型的变量,那么右侧的数据值不能超过左侧类型的范围。
④没有进行赋值的变量,不能直接使用; -定要赋值之后,才能使用。
⑤变量使用不能超过作用域的范围。
[作用域] :从定义变量的一行开始,一直到直接所属的大括号结束为止。
⑥可以通过一一个语句来创建多个变量,但是一般情况不推荐这么写。
4.运算符
运算符:进行特定操作的符号
表达式:用运算符连起来的式子
(一旦运算中有不同数据类型的数据,那么结果将会是数据类型范围大的那种)
5.方法
(1)方法概念
就是将一个功能抽取出来,把代码单独定义在一个大括号内,形成一个单独的功能。当我们需要这个功能的时候,就去调用。这样即实现了代码的复用性,也解决了代码冗余的问题。
(2)格式
修饰符 返回值类型 方法名称(参数类型 参数名称,...){
方法体
return 返回值;
}
例如:
public static void 方法名称(){
方法体
}
修饰符:现阶段的固定写法,public stotic_
返回值类型:也就是方法最终产生的数据结果是什么类型方法名称:方法的名字,规则和变量-样,小驼峰参数类型:进入方法的数据是什么类型,
参数名称进入方法的数据对应的变量名称:参数如果有多个,使用逗号进行分隔方法体:方法需要做的事情,若干行代码
return:两个作用,第一停止当前方法,第二将后面的这回值还给调用处
返回值:方法执行后最终产生的数据结果
注意,return后 面的“返回值”,必须和方法名称前面的“返回值类型”。保持对应。
(3)方法调用的格式
①单独调用:方法名称(参数);
②打印调用:system.out.println(方法名称(参数));
③赋值调用:数据类型 变量名称 = 方法名称(参数);
如果返回值类型写为void,这种方法只能单独调用,不能进行打印调用或者赋值调用。
方法调用步骤图示:
方法定义好之后,不会执行。如果想要执行,一定要进行方法的【调用】。
(4)参数和返回值
(1)参数
有参数:小括号当中有内容,当一个方法需要一些数据条件,才能完成任务的时候,就是有参数。
无参数:小括号当中留空。一个方法不需要任何数据条件,自己就能独立完成任务,就是无参数。
(2)返回值
(5)方法重载的格式
对于功能相似的方法,因为参数列表不一样,需要记住非常多不同名称的方法,非常麻烦,所以有了方法重载。
(1)方法重载(Overload)
多个方法的名称一样,但是参数列表不一样。
(2)优点
只需要记住唯一一个方法名称,就可以实现类似多个功能。
(3)相关因素和不相关因素
方法重载相关因素:参数个数、类型、多类型顺序都不同
不相关因素:参数名称、方法的返回值类型
public class DemoMethodOverload{
public static void main(String[] args){
System.out.println(sum(a:10,b:20));//两个参数的方法
System.out.println(sum(a:10,b:20,c:30));//三个参数的方法
}
public static int sum(int a, int b){
return a+b;
}
public static int sum(int a, int b,int c){
return a+b+c;
}
}
6.数组
(1)java内存划分
堆(操作系统): 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收。
【栈和堆存放数据类型对比】
相同点:栈内存和堆内存都是存储数据的地方。
不同点:
栈内存中存储的值的大小是固定的,堆内存中存储值的大小不固定的。
栈:基本数据类型。目前有5种基本数据类型:String、Number、Boolean、Null、null,这5种基本数据类型传递时,是按值传递的;在分配内存时,会分配固定大小的内存空间。
堆:引用数据类型。引用数据类型因为大小不固定,所以会存在堆内存中,栈内存中存的是堆内存的地址,每次读取值时,先找到栈内存中的内存地址,在通过内存地址,找到在堆内存中的对应的对象。
(2)数组初始化
动态初始化(指定长度):在创建数组的时候,直接指定数组当中的数据元素个数。
静态初始化(指定内容):在创建数组的时候,不直接指定数据个数多少,而是直接将具体数据内容进行指定。
静态初始化基本格式:
数据类型[ ] 数组名称 = new 数据类型[ ] {元素1,元素2,...};
省略格式:
数据类型[] 数组名称 = {元素1, 元素2,...};
解析含义:
左侧数据类型,也就是数组当中保存的数据,全都是统一的类型。
左侧的中括号,代表数组。
左侧数组名称:给数组起一个名字。
右侧new:代表创建数组的动作。
右侧的数据类型:必须和左侧的数据类型保持一致。
右侧中括号的长度:也就是数组中,可以保持数据的个数,是一个int数字
注意事项:
动态初始化数组的时候,元素会自动拥有一个默认值,规则如下:
整数类型,默认为0;
浮点类型,默认为0.0;
字符类型,默认为‘\u0000’;
布尔类型,默认为false;
引用类型,默认为null
静态初始化其实也有默认值,只不过系统自动马上将默认值替换成了大括号中的具体值
所有引用类型变量,都可以赋值为一个null值,代表其中什么都没有。
数组必须进行new初始化才能使用其中的元素,如果只赋值一个null,没有进行new创建,那么将会发生空指针异常NullPointerException
(3)数组作为方法返回值
任何数据类型都能作为方法的参数类型,或者返回类型。
数组作为方法的参数,传递进去的是数组的地址值。
数组作为方法的返回值,返回的也是数组的地址值。
5.访问数组元素的格式:数组名称[索引值]
索引值,就是一个int数字,代表数组当中元素的编号,索引值从0开始,一直到“数组长度-1”为止。
7.进制转换
二进制转十进制:1100→12
十进制转二进制:12→1100
位(bit),一个数字0或者一个数字1,代表一位。
字节(Byte):每逢8位是一个字节,这个数据存储的最小单位。
【字节(Byte)】是最小的存储文件的单位。
1Byte = 8bit
1KB = 1024Byte
1MB = 1024KB
1GB = 1024MB
1TB = 1024Byte
1PB = 1024TB
1EB = 1024PB
1ZB = 1024EB
8.MS-DOS(Microsoft Disk Operating System)命令
命令名称 | 命令符 |
---|---|
启动 | Win+R,输入cmd回车 |
切换盘符 | 盘符名称: |
进入文件夹 | cd 文件夹名称 |
进入多级文件夹 | cd 文件夹1\文件夹2\文件夹3 |
返回上一级 | cd… |
直接回根路径 | cd\ |
查看当前内容 | dir |
清屏 | cls |
退出 | exit |