预科Day-01 1. 虚拟机JVM不可以跨平台,java语言可以跨平台。 2. JDK包含JRE,JRE包含JVM。 3. Java严格区分大小写。 4. 标识符的注意事项:不能以数字开头;不能是Java中的关键字;区分大小写。 5. 多行注释不可以起嵌套使用,单行注释可以。 6. 字符常量 用单引号括起来的内容,里面只能是单个数字,单个字母或者单个符号。可以是空格,不可以什么也不放。 7. 整数默认是int类型,byte和short比较特殊,定义的数字先在他们两个的取值范围内找,找到就取值成功。 8. Boolean理论是占八分之一个字节,因为一个开关就可以决定是true和false了,但是java中boolean类型没有指定他的大小。 预科Day-02 1. if语句的注意事项: ①:if语句控制的语句体如果是一条语句,大括号可以省略; 如果是多条语句,就不能省略。建议永远不要省略。 ②:一般来说:有左大括号就没有分号,有分号就没有左大括号 ③:无论用if的那种格式最多只会执行其中的一个方法体. 2. ①什么是运算符 就是对常量和变量进行操作的符号。 ②注意事项: a:+号在java中有三种作用,代表正号;做加法运算;字符串的连接符 b:整数相除只能得到整数。如果想得到小数,必须把数据变化为浮点数类型 c:/获取的是除法操作的商,%获取的是除法操作的余数 ③ %运算符 * 当左边的绝对值小于右边绝对值时,结果是左边 * 当左边的绝对值等于右边或是右边的倍数时,结果是0 * 当左边的绝对值大于右边绝对值时,结果是余数 * %运算符结果的符号只和左边有关系,与右边无关 * 任何一个正整数%2结果不是0就是1可以用来当作切换条件 3.整数相除,只能得到整数,如果想得到小数,把其中一个数变成小数,另一个数在运算的时候会自动类型提升 预科Day-03 1.for循环的嵌套及程序流程顺序 for(1;2;3){ for(4;5;6){ 7; } 8; } 顺序:1-->2(t)-->4-->5(t)-->7-->6-->5(f)-->8-->3-->2(f) 预科Day-04 1. 方法:就是完成特定功能的代码块. 2. 方法的定义格式: 修饰符 返回值类型 方法名 参数列表 方法体 修饰符:public static 返回值类型: void类型 非void类型(基本数据类型 引用数据类型) 方法名:见名知意 参数列表: ():无参 (数据类型 变量名1,数据类型变量名2...):有参 方法体:{} 3. 方法的两个明确: 参数列表 返回值类型 无参 无返回值 无参 有返回值 方法体内必须有return语句 有参 无返回值 有参 有返回值 方法体内必须有return语句 4.方法的注意事项: ①.方法和方法之间是平级关系不能嵌套定义 ②.方法不调用不执行 5.方法的调用格式: ①.复制方法的名字();②.方法的两个明确 6. 数组中的常见异常: ①.ArrayIndexOutOfBoundsException:数组角标越界异常:你写的角标肯定在数组中不存在 ②.NullPointerException:空指针异常 基础班 Day-12/14 1. 平台 就是操作系统 2.跨平台: 程序只需要编写一次,就可以在任意的平台上运行 3.跨平台原理 依赖java虚拟机(jvm),不同的操作系统有不同的jvm,正是因为jvm不跨平台,所以我们的java实现了跨平台 4.jvm 所有的java代码都是运行在jvm上的 在不同的操作系统下有不同的jvm 5.jre java运行环境,如果计算机想要运行java代码就要安装jre jre=jvm+核心类库 6.jdk java开发工具包 如果我们想让我们的计算机能够开发java软件,这个时候就要安装jdk jdk=jre+开发工具集 jvm < jre < jdk 7.关键字 在java语言中有特殊含义的单词 特点: ① .全部是有小写字母组成 ②.常见的代码编辑器对关键字有特殊颜色标记 8.常量 定义:在程序执行过程中,值不可以发生改变的量叫常量 分类: 字符串常量: "ss" , "" "22" 整数常量 : 12,33,22,-22 小数常量: 12.3 , 3.14 字符常量(只能单个字符): 's' ' ' 布尔常量 true , false 空常量 null 9.变量 定义: 在程序执行过程中,值可以在一定范围内发生发生改变的量 定义格式: 数据类型 变量名;//单纯的定义了一个变量 数据类型 变量名 = 初始化值;//定义了一个变量并且把初始化值赋值给了这个变量 10.存储单元 bit B(字节) KB MB GB TB 1B= 8bit 1KB=1024B 1MB=1024KB 1GB=1024MB 1TB=1024GB 11.数据类型 分类: 基本数据类型 引用数据类型(类,接口,数组) 基本数据类型的分类 整数类型 byte 1B -128~127 short 2B int 4B long 8B 浮点数类型 float 4B double 8B 字符类型 char 2B 布尔类型 boolean true false 注意事项: 整数默认是int类型 小数默认是double 类型 如果想要表示long类型的数,要在值得后面加L或者l,建议加L 如果想要表示float类型的数,要在值得后面加F或者f,建议加F 12.标识符 组成: 1.数字,大小写字母,汉字 2._ 3.$,¥ 注意事项: 1.不能以数字开头 2.不能使用java中的关键字 java 2b false main class false 2_b false _2b 13.变量使用的注意事项 ①变量在使用前必须赋值 ②变量只在它的作用范围内有效 ③在同一行可以定义多个变量 14.隐式转换 在运算的时候会出现隐式转换 byte,short ,char 这三种类型的变量在参与运算的时候默认会转化成int类型再计算 如果运算中还有int类型 结果int 如果运算中还有long类型 结果是long 如果运算中还有float类型 结果是float 如果运算中还有double类型 结果是double 15.强制类型转换 目标类型 变量名 = (目标类型)(被转换的数据); 基础班 Day-12/16 1.运算符 如果两个整数相除结果只能是整数,如果想要得到小数,至少有一个浮点数参与运算 2.&&和&的结果都是一样的,都是表示并且的意思; || 和|的结果都一样,但是||有短路效果 短路效果 : 左边表达式的结果知道后,如果整个表达式的结果已经确定下来了,就不去运行右边的表达式. 3. 三元运算符 格式: 布尔类型的表达式或者变量或者常量?表达式1:表达式2 执行流程: 判断布尔类型的表达式的结果是ture还是false,如果是true 三元表达式的结果是表达式1,否则是表达式2 基础班 Day-12/17 1.if语句的格式: 注意:下面的关系表达式其实就结果为布尔类型的表达式,或者变量,或者常量。 if(关系表达式1){ 语句体1; }elseif(关系表达式2){ 语句体2; } ... else{ 语句体n+1; } 格式总结: if语句只会出现在最前面,并且只会出现一次,后面会跟0次或n次的else if,最后会跟0或1次的else. 2. switch格式 switch(表达式) { case值1: 语句体1; break; case 值2: 语句体2; break; … default: 语句体n+1; break; } 3. switch格式解释 switch表示这是switch语句 表达式的取值:byte,short,int,char JDK5以后可以是枚举 JDK7以后可以是String case后面跟的是要和表达式进行比较的值 语句体部分可以是一条或多条语句 break表示中断,结束的意思,可以结束switch语句 default语句表示所有情况都不匹配的时候,就执行该处的内容,和if语句的else相似。 4. switch执行流程 首先计算出表达式的值 其次,和case依次比较,一旦有对应的值,就会执行相应的语句,在执行的过程中,遇到break就会结束。 最后,如果所有的case都和表达式的值不匹配,就会执行default语句体部分,然后程序结束掉。 基础班 Day-12/19 1.数组的定义格式: 格式1:数据类型[] 数组名; 格式2:数据类型 数组名[]; 2. Java中的数组必须先初始化,然后才能使用。 所谓初始化:就是为数组中的数组元素分配内存空间,并为每个数组元素赋值 3.数组初始化: A:所谓初始化,就是为数组开辟内存空间,并为数组中的每个元素赋予初始值 B:我们有两种方式对数组进行初始化 a:动态初始化 只指定长度,由系统给出初始化值 b:静态初始化 给出初始化值,由系统决定长度 动态初始化格式:数据类型[] 数组名 = new 数据类型[数组长度]; 数组长度其实就是数组中元素的个数。 静态初始化的格式: 数据类型[] 数组名 = new 数据类型[]{元素1,元素2,...}; 简化格式: 数据类型[] 数组名 = {元素1,元素2,...}; 4.二维数组定义格式 数据类型[][] 数组名; 数据类型 数组名[][]; 不推荐 数据类型[] 数组名[]; 不推荐 5.二维数组初始化 A:动态初始化 数据类型[][] 数组名 = new 数据类型[m][n]; m表示这个二维数组有多少个一维数组 n表示每一个一维数组的元素有多少个 B:静态初始化 数据类型[][] 数组名 = new 数据类型[][]{{元素...},{元素...},{元素...},...}; 简化格式: 数据类型[][] 数组名 = {{元素...},{元素...},{元素...},... 基础班 Day-12/20 1.方法格式 修饰符 返回值类型 方法名(参数类型 参数名1,参数类型参数名2…) { 函数体; return返回值; } 2. 返回值类型: 用于限定返回值的数据类型 方法名: 一个名字,为了方便我们调用方法 参数类型: 用于接收调用方法时传入的数据的类型 参数名: 用于接收调用方法时传入的数据的变量 方法体: 完成功能的代码 return: 结束方法,把返回值带给调用者 3.定义方法注意事项 写一个方法首先有两点需要明确: A.返回值类型 明确功能结果的数据类型 B.参数列表 明确有几个参数,以及参数的类型 4. 有明确返回值的方法调用: 单独调用,没有意义 输出调用,有意义,但是不够好,因为我不一定非要把结果输出 赋值调用,推荐方式 5.没有明确返回值的函数调用: 其实就是void类型方法的调用 只能单独调用 6.方法重载: 在同一个类中,允许存在一个以上的同名方法,只要它们的参数个数或者参数类型不同即可。 7.方法重载特点: 与返回值类型无关,只看方法名和参数列表 在调用时,虚拟机通过参数列表的不同来区分同名方法 8. 方法的参数是基本类型的时候: 形式参数的改变不影响实际参数。 形式参数:用于接收实际数据的变量 实际参数:实际参与运算的变量 9. 方法的参数是引用类型: 形式参数的改变直接影响实际参数 基础班 Day-12/22 1.断点调试: A:查看程序的执行流程 B:调试程序 2. 断点:其实就是一个标记 3. 如何加断点: 在代码区域的最左边双击即可 4. 如何运行加断点的程序? 代码区域 -- 右键 -- Debug as-- Java Application 会弹出一个页面让我们选择是否进入debug模式,选择yes 基础班 Day-12/23 1.定义类其实就是定义类的成员(成员变量和成员方法) a:成员变量 和以前定义变量是一样的,只不过位置发生了改变。在类中,方法外。 b:成员方法 和以前定义方法是一样的,只不过把static去掉,后面在详细讲解static的作用。 2.如何拥有一个类的对象呢? 创建对象 3.如何创建对象? 格式:类名 对象名 = new 类名(); 4.对象如何访问成员? 成员变量:对象名.变量名 成员方法:对象名.方法名(...) 5. private关键字: a:是一个权限修饰符。 b:可以修饰成员(成员变量和成员方法) c:被private修饰的成员只在本类中才能访问。 6. 构造方法格式 a:方法名与类名相同 b:没有返回值类型,连void都没有 c:没有具体的返回值 7. 如果不提供构造方法,系统会给出默认构造方法;如果自己提供了构造方法,系统将不再提供;构造方法也是可以重载的,重载条件和普通方法相同 基础班 Day-12/25 1.API的使用: java.lang包下的类在使用的时候是不需要导包的 2. A:"abc"是String类的一个实例,或者成为String类的一个对象 B:字符串字面值"abc"也可以看成是一个字符串对象 C:字符串是常量,一旦被赋值,就不能被改变 D:字符串本质是一个字符数组 基础班 Day-12/26 1.对象数组概述 A:基本类型的数组:存储的元素为基本类型 int[] arr={1,2,3,4} B:对象数组:存储的元素为引用类型 Student[] stus=new Student[3]; 2.Student代表一个自定义类 Stus数组中stus[0],stus[1],stus[2]的元素数据类型为Student,都可以指向一个Student对象 3.
|