1 JRE、JDK、JVM的区别 JDK>JRE>JVM
2数据类型分类:基本数据类型,引用数据类型 基本数据类型分为4类8种 整型:byte short int long 浮点型:float double 字符型:char 布尔型:false true
3 标识符的组成以及注意事项 由英文大小写字母,数字,$,_组成;注意事项:不能以数字开头,不能是关键字 命名规则 类,接口:一个单词组成则首字母大写,多个单词组成则每个单词的首字母都大写(大驼峰) 方法,变量:一个单词组成则全为小写,多个单词组成则从第二个单词开始首字母大写(小驼峰) 常量:一个单词组成则全为大写,多个单词组成则全为大写且单词之间用_隔开如JAVA_HOME
4 运算符: 算术运算符: + - * / % ++ -- 赋值运算符: += -= *= /= %= 关系运算符: == != > < >= <= 逻辑运算符: & | ^ ! 三元运算符: 格式:关系表达式?表达式1:表达式2; 5选择语句:if语句 if(关系表达式){ 输出语句 } if(关系表达式 ){ 语句体1; }else{ 语句体2; } if(关系表达式){ 语句体1; }else if(关系表达式){ 语句体2; } .... else{ 语句体n; }
switch 语句 初始化语句; switch(关系表达式){ case 值1: 语句体1; break; case 值2: 语句体2; break; case 值3: 语句体3; break; ...... default: 语句体n; break; }
switch的注意事项
(1):default无论放在switch的任何位置,都是先去看case,最后才去看default (2):如果执行了一个case之后,里面没有遇到break,直接case穿透
6 循环语句 (1)for循环 for(初始化语句;判断条件语句;控制条件语句){ 循环体语句; }
(2)while循环 初始化语句 while(判断条件语句){ 循环体语句; 控制条件语句; }
(3)do……while循环 初始化语句; do { 循环体语句; 控制条件语句; } while(判断条件语句);
三种循环的区别 虽然可以完成同样的功能,但是还是有小区别: do…while循环至少会执行一次循环体。 for循环和while循环只有在条件成立的时候才会去执行循环体 for循环语句和while循环语句的小区别: 使用区别:控制条件语句所控制的那个变量,在for循环结束后,就不能再被访问到了 而while循环结束还可以继续使用,如果你想继续使用,就用while,否则推荐使用for。 原因是for循环结束,该变量就从内存中消失,能够提高内存的使用效率。
7 break的使用场景: 在选择结构switch语句中 在循环语句中 离开使用场景的存在是没有意义的 break的作用: 跳出单层循环 continue的使用场景: 在循环语句中 离开使用场景的存在是没有意义的 continue的作用: 单层循环对比break,然后总结两个的区别 break 退出当前循环 continue 退出本次循环 继续下次循环
8 Random 作用:用于产生一个随机数 使用步骤(和Scanner类似) 1 导包 importjava.util.Random; 2 创建对象 Random r = newRandom(); 3 获取随机数 int number =r.nextInt(10); [0,10)包括0不包括10
9数组概念: 数组是一个长度不可变的容器, 一个容器中只能存储相同的数据类型数据 数组既可以存储基本数据类型,也可以存储引用数据类型。
数组初始化: 动态初始化:初始化时只指定数组长度,由系统为数组分配初始值 格式:数据类型[] 数组名 = new 数据类型[数组长度] 如 int [] arr = new int[6]; 静态初始化:初始化时指定每个数组元素的初始值,由系统决定数组长度 完整格式:数据类型[] 数组名 = new 数据类型[]{元素1,元素2,.....}; 简单格式:数据类型[] 数组名 = {元素1,元素2,.....};
10 二维数组:就是元素为一维数组的数组. 定义格式: 数据类型[][] 数组名; 初始化方式 数据类型[][] 变量名 = new 数据类型[m][n]; m为二维数组里一维数组的个数,n为每一个一维数组中元素的个数 数据类型[][] 变量名 = new 数据类型[][]{{元素…},{元素…},{元素…}}; 简化版格式:数据类型[][] 变量名 = {{元素…},{元素…},{元素…}};
11 方法: 定义格式: 修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2....){ 方法体; return 返回值; } 注意事项: 方法绝对不能嵌套 方法不调用就不会执行 方法作用是为了提高程序的复用
12 方法的调用: (1) 赋值调用;(2)输出调用;(3)单独调用(没有意义)
13 void方法的使用: 当一个方法执行之后,不需要让这个方法返回一个值。 这时候 就需要让方法的返回值类型 写void 注意:void的方法 里面也可以有return也可以省略,但是不能在return后写值。
14方法的重载: 方法名必须相同,参数列表必须不同,与返回值无关
15 面向对象的思想特点: A:是一种更符合我们思考习惯的思想(懒人思想) B:可以将复杂的事情简单化(对使用者来说简单了,对象里面还是很复杂的) C:将我们从执行者变成了指挥者
16 如何描述世界事物 属性: 就是该事物的描述信息(事物身上的名词) 行为: 就是该事物能够做什么(事物身上的动词)
17 java中最基本的单位是类,定义类就是定义类的成员(成员变量和成员方法) a:成员变量 和以前定义变量是一样的 位置不同:类中,方法外 初始化值:不需要给初始化值 b:成员方法 和以前定义方法是一样的,只不过把static去掉
18 类:是一组相关的属性和行为的集合 对象:该类事物的具体体现 举例: 类 学生 对象 具体的某个学生就是一个对象 创建对象 创建对象格式:类名 对象名=new 类名(); 访问成员: 成员变量:对象名.变量名; 成员方法:对象名.方法名(...);
19 成员变量和局部变量的区别: A:在类中的位置不同 成员变量:类中,方法外 局部变量:方法中或者方法声明上(形式参数) B:在内存中的位置不同 成员变量:堆内存 局部变量:栈内存 C:生命周期不同 成员变量:随着对象的创建而存在,随着对象的消失而消失 局部变量:随着方法的调用而存在,随着方法的调用完毕而消失 D:初始化值的问题 成员变量:有默认值 局部变量:没有默认值。必须先定义,赋值,最后使用
20 this关键字 this:代表所在类的对象引用 方法被哪个对象调用,this就代表那个对象 用来区分成员变量与局部变量重名
21 private关键字: (1)是一个权限修饰符。 (2)可以修饰成员(成员变量和成员方法) (3)被private修饰的成员只在本类中才能访问。
22 private的应用: (1)把成员变量用private修饰 (2)提供对应的getXxx()/setXxx()方法
23 封装概述 是面向对象三大特征之一(三大特征 封装 继承 多态 ) 是面向对象编程语言对客观世界的模拟,客观世界里成员变量都是隐藏在对象内部的, 外界无法直接操作和修改。
24 封装原则: 将不需要对外提供的内容都隐藏起来。 把属性隐藏,提供公共方法对其访问。 成员变量private,提供对应的getXxx()/setXxx()方法
25 封装好处: 通过方法来控制成员变量的操作,提高了代码的安全性 把代码用方法进行封装,提高了代码的复用性
26 构造方法格式 方法名与类名相同 没有返回值类型,连void都没有 没有具体的返回值
27 构造方法的注意事项: (1)如果我们没有给出构造方法,系统将会提供一个默认的无参构造方法供我们使用。 (2)如果我们给出了构造方法,系统将不在提供默认的无参构造方法供我们使用。 这个时候,如果我们想使用无参构造方法,就必须自己提供。 推荐:自己给无参构造方法 (3)构造方法也是可以重载的
28 成员变量赋值: (1)setXxx()方法 (2)带参构造方法
29 构造方法与setXxx();方法的区别: 构造方法:给对象的数据进行初始化 成员方法:setXxx()getXxx()修改属性值
|