第一章 入门程序 常量 变量
一 常用的DOS命令
1.window+R 打开运行窗口,输入cmd回车,进入DOC操作窗口
2.盘符切换命令 c: d:
3.查看当前文件夹 dir
4.进入文件夹命令 cd 文件夹名
5.退出文件夹命令 cd…
6.退出到磁盘根目录 cd
7.清屏 cls
8.退出控制台 exit
二 常用的window命令
1.快速打开计算机: win+r后,输入calc
2.快速打开绘图软件: win+r后,输入mspaint
三 知识点
1.public表示:公共的,class表示类,static表示静态,void表示没有返回值,main是方法的名字,main方法是程序的入口,程序从main方法开始执行。
2.常量的分类
3.数据类型的分类
- 基本数据类型
整数类型 byte short int long
小数类型 float double
布尔类型 boolean
字符类型 char
- 引用数据类型
类,数组,接口,枚举…
4.四类八种基本数据类型
5.标识符
标识符:就是我们自己给类,给方法,给变量等等起的名字。
组成规则:
- 大小写英文字母或汉字
- 数字
- 下划线和美元符号
注意事项:
- 不能是关键字
- 不能以数字开头
命名规范:
- 标识符起名字的是要起到见名之意的效果。
- 给类,接口起名字: 大驼峰。
- 给方法,变量起名字: 小驼峰。
- 给包起名字:全部小写,是域名的倒叙。
- 给常量起名字: 全部大写,多个单词之间使用下划线隔开。
6.变量
- 变量指的是在程序运行时期可以发生改变的量。
- 定义格式
数据类型 变量名 = 初始值;
注意:
- 变量只在自己的作用域内有效,一旦离开自己的作用域,就会消失。
- 在同一个作用域内,不能定义相同的变量。
- 变量在使用前必须要赋值。
- 在同一行可以定义多个变量,不推荐。
7.注意
long类型:建议数据后面加L表示
float类型:建议数据后面加F表示
变量名称:在同一个大括号范围内,变量的名字不可以相同。
变量赋值:定义的变量,不赋值不能使用。
第二章 数据类型转换、运算符、方法入门
2.1 类型转换
自动类型转换
取值范围小的类型可以自动转成取值范围大的类型。
byte,short,char -> int -> long -> float -> double
byte,short,char他们之间相互不转换,他们只要运算都会先把自己提升为int。
强制类型转换
取值范围大的类型可以强转成取值范围小的类型
目标数据类型 变量名 = (目标数据类型)要强转的数据;
2.2 算数运算符
+:
1.如果对数字相加,做普通加法运算
2.如果对字符相加,会先查询ASCII码表,把字符转成数字,然后再计算
3.如果对字符串相加,起到的作用是拼接,任何类型之后和字符串拼接,结果都是字符串类型。
-: 做减法
*: 做乘法
/: 做除法。如果两个整数相除结果只取整数部分。
%: 取余(模)。获取两个数相除之后的余数部分。
++/–: 自增/自减运算符。 可以把变量本身的值加1或者减1.
++可以放在变量前也可以放在变量后.
如果单独使用放在变量前和变量后都一样。
如果参与其他运算使用,++放前是先自增后使用, ++放后是先使用后自增。
2.3 比较(关系)运算符
,>=,<,<=,!=,==
比较运算符的结果只能是布尔类型。
Java中的等于是两个等号,一个等号是赋值。
2.4 赋值运算符
基本的赋值运算符:
=: 将右边的值赋值给左边的变量。
扩展的赋值运算符:
+=, -=, =, /=, %=
m+=n: 先计算m和n相加的结果,然后再把这个结果赋值给左边的变量。
2.5 逻辑运算符
&&:与。 有假则假。如果两边都是真,那么结果才是真。 具有短路行为。
||:或。 有真则真。*如果两个都是假,那么结果才是假。 具有短路行为。
!: 非。 取反。对true取非结果是false,对false取非结果是true。
2.6 三元运算符
格式:
关系表达式 ? 值1 : 值2
执行流程:
先计算关系表达式的结果。
如果关系表达式的结果是true,那么整个三元运算符组成的式子的结果就是值1.
如果关系表达式的结果是false,那么整个三元运算符组成的式子的结果就是值2.
第三章 流程控制语句
3.1 if语句
if的第一种格式:
if(条件) {
执行语句;
}
if的第二种格式:
if(条件) {
执行语句;
} else {
执行语句;
}
if的第三种格式:
if(条件) {
执行语句;
} else if(条件) {
执行语句;
}… else {
执行语句;
}
3.2 switch语句
格式:
switch(表达式) {
case 目标值:
执行语句;
break;
…
default:
执行语句;
break;
}
注意: 小括号中表达式的结果只能是byte,short,char,int。 以及JDK5之后的枚举。JDK7之后的字符串
3.3 for循环
格式:
for(初始化表达式; 循环条件; 步进表达式) {
循环体;
}
3.4 while循环
格式:
初始化表达式;
while(循环条件) {
循环体;
步进表达式;
}
3.5 break和continue
使用场景:
break可以用在swtich中和循环中。
continue只能用在循环中。
作用:
break:可以直接跳出当前循环。
continue:结束本次循环,直接开始下次循环。
3.6 死循环
while(true) {
循环体;
}
第四章 IDEA、方法
4.1 方法的定义
方法是完成特定功能的代码块
好处:提高代码的复用性
格式:
修饰符 返回值类型 方法名(参数类型 参数名, 参数类型 参数名) {
方法体;
return 返回值;
}
定义方法的时候要有两个明确:
参数:方法在完成功能的时候需要我们提供给方法哪些数据。
返回值类型: 方法完成功能的时候回产出一个结果,这个结果就是返回值,对应的数据类型就是返回值类型
4.2 方法的调用
- 单独调用
方法名(参数)
- 输出调用
System.out.println(方法名(参数));
- 赋值调用
数据类型 变量名 = 方法名(参数);
4.3 void修饰的方法
void修饰的方法表示没有返回值,也就是这个方法调用之后不会产出任何的结果。
4.4 方法的重载
重载指的是在一个类中出现了同名的方法,但是他们的参数列表不一样。
参数列表不一样包括: 类型不同,个数不同,顺序不同。
注意:
重载只和方法名以及参数列表有关,和其他的没有关系。
JVM会根据方法参数区分这些同名的方法。
第五章 数组
5.1 数组的定义
动态初始化:我们给出数组长度,系统分配默认值
数据类型[] 数组名 = new 数据类型[长度];
静态初始化: 我们给出默认值,系统给出长度
数据类型[] 数组名 = new 数据类型[]{元素1, 元素2, 元素3};
简写方法:
数据类型[] 数组名 = {元素1, 元素2, 元素3};
5.2 数组元素的访问
如果要访问数组中的元素,可以通过元素的索引去访问。
数组名[索引]
5.3 数组中常见的小问题
索引越界异常(ArrayIndexOutOfBoundsException): 当访问了数组中并不存在的索引的时候就会引发索引越界异常。
空指针异常(NullPointerException): 当数组类型的变量中没有保存任何地址值,而我们又通过该变量获取数组中的元素时会引发空指针异常。
java的内存分配
数组的遍历
数组的反转
第六章 类与对象、封装、构造方法
6.1 面向对象的基本知识
面向对象思想: 强调的是结果。不关注里面的实现细节,里面的细节是别人帮我们去做的。
- 面向对象思想的好处:
可以把复杂的事情简单化。
从执行者变成指挥者
更加符合人类思考的习惯。
- 类和对象:
类:对现实事物的一个描述。 是一个抽象(不具体)的概念。 比如:学生,人。
对象: 是类的具体的体现。 是具体的。 比如小明。
6.2 类的定义和使用
- 定义类:
public class 类名 {
//成员变量
//成员方法
}
- 使用类:
1.导包
import 包名.类名;
2.创建对象
数据类型 对象名 = new 数据类型();
3.调用成员
对象名.成员变量
对象名.成员方法()
6.3 封装
封装指的是隐藏具体的实现,并提供公共的对外访问方式。
- 封装的步骤:
1.把属性私有
2.提供get/set方法
6.4 private
private 修饰的成员只能在本类中使用。
6.5 this
this用于区分同名的成员变量和局部变量。使用this.变量名 表示的是成员变量。
this的含义: this表示本类对象的引用, this所在的方法通过那个对象调用的,那么this就表示那个对象(地址值)
6.6 构造方法
构造方法可以在创建对象的时候直接给属性进行赋值。
格式:
public 构造方法名(参数) {
方法体:
}
构造方法名必须和类名一致。
构造方法会在创建对象的时候自动执行。
注意:
构造方法支持重载
如果在一个类中我们没有给出构造方法,那么系统会帮我们提供一个空参数的构造方法。
如果在一个类中我们给出了构造方法,那么系统就不会帮我们给出构造方法了。