JavaEE10期基础班技术贴 本贴的目的在于通过总结与归纳在基础班学习中记录的学习笔记,进一步巩固基础班的学习知识,为接下去的就业班做好准备。 截止本帖完成的时间(2017.12.26)为止,基础班已经完成了8天时间的学习内容,在这不长的日子里,所教授的知识还是非常丰富的,本帖将会以时间为轴,对本次基础班知识进行梳理。 Day01 Java发展史: James Gosling SUN – Stanford University Network 甲骨文 语言平台: J2SE ---- Java 2 Platform Standard Edition 桌面 J2ME ---- Java 2 Platform micro edition (嵌入式设备)移动端 J2EE ---- Java 2 Platform EnterpriseEdition 服务器(企业级web应用) JRE = JVM + 核心类库 JDK = JRE +开发工具集 注释:解释说明程序,它不会影响程序的运行效果 分类:1.单行注释 2.多行注释 3.文档注释 常量:在程序的执行过程中,其值不可以发生改变的量 常量分类: 字符串常量 整数常量 小数常量 字符常量 布尔常量 空常量 变量:内存中的一小块区域,在程序执行过程中,其值可以在一定范围内发生变化 数据类型:Javas 一种强类型语言,针对每一种数据都给出了明确的数据类型 数据类型分类: 1.基本数据类型 2.引用数据类型(类,接口,数组) 基本数据类型::4类8种 标识符:用来给包、类、方法、变量等起名字的符号 组成规则 1.unicode字符 数字字符、英文大小写字母,汉字(不建议使用汉字) 2.下划线 3.美元符$ 注意事项: 1.不能以数字开头 2.不能是java中的关键字 标识符常见命名规则 基本:见明知意 1.包 全部小写,多级包用 . 隔开 2.类 一个单词首字母大写 多个单词,每个单词的首字母大写 3.方法和变量 一个单词首字母小写 多个单词组成,从第二个单词开始首字母大写 Day02 运算符:对常量和变量进行操作的符号 表达式:用运算符连接起来的符合java语法的表达式 运算符分类: 算术运算符:+ - * / % ++ -- 赋值运算符: = += -= *= 关系运算符: > >= < <= == != (关系运算符结果为boolean类型) 逻辑运算符 & | ^ ! 三元运算符: 关系表达式(布尔类型的关系表达式或者变量)?表达式1:表达式2; 例:(x++)+(x*10) x = 4 (4)+(5*10) 键盘录入 A.导包 import java.util.Scanner; (在一个类中,package>import>class) B.创建键盘录入对象 Scanner sc = new Scanner(System.in); C.接收数据 int i = sc.nextInt( ); Day03 判断语句 if(关系表达式) { 语句体 } if语句第二种格式: if(关系表达式) { 语句体1; }else { 语句体2; } if语句第三种格式: if(关系表达式1) { 语句体1; }else if (关系表达式2) { 语句体2; } … else { 语句体n+1; } Switch语句 switch(表达式) case 1; break; case 2; break; default; break; 表达式的取值:byte,short,int,char JDK5以后可以是枚举 JDK7以后可以是String 循环语句 for(int x = 0;x<1000; x++) { 循环体 } while(boolean) { 循环体 } Day04 获取随机数 导包 import java.util.Random 创建 获取 如果要产生一个随机数,范围为[n,m] nextInt(m-n+1)+n; 数组 存储同一种数据类型的多个元素的容器 定义格式 A.数据类型[] 数组名; B.数据类型 数组名[] ; 动态初始化 数据类型[] 数组名 = new 数据类型[数组长度]; java中的内存分配: 栈(存储的是局部变量) 堆(存储的是new出来的东西) 方法区(面向对象的进阶) 本地方法区(和系统相关) 寄存器(给CPU使用) 堆:A.每一个对象都有地址值 B.每一个对象的数据都有默认值 静态初始化 数据类型[] 数组名 = new 数据类型[] {}→ int[] arr = { } 简化 数组遍历(for循环)依次操作数组中的每一元素 二维数组:元素为一维数组的数组 定义格式: 数据类型[][] 数组名;(推荐) 数据类型 数组名[][]; 数据类型[] 数组名[]; Day05 方法:完成特定功能的代码块 格式: 修饰符 返回值类型 方法名 (参数类型 参数名1,参数类型 参数名2…) { 方法体; return 返回值; } 写一个方法的两(三)个明确: A0:方法的功能 A.返回值类型 B.参数列表 方法的调用(有明确返回值的方法调用) A.单独调用,没有意义 B.输出调用,有意义,但是不够好,可能需要进一步使用结果 C.赋值调用(推荐) 实际参数:实际参与运算的变量(方法的参数列表中的变量) 形式参数:用于接受实际参数的变量(调用方法的时候传进去的) 方法的参数如果是基本数据类型,形式参数的改变不影响 如果参数是引用数据类型,形式参数的改变影响实际参数 文档注释 /** */ Day06 断点调试 作用: A.查看程序的执行流程 B.调试程序 断点:一个标记 断点添加:在代码区域的左边双击(再双击一次去除断点) 断点调试: Day07 面向对象,方法 面向过程,其实就是面向着具体的每一个步骤和过程,把每一个步骤和过程完成,然后由这些功能方法相互调用,完成需求 A:private关键字: a:是一个权限修饰符。 b:可以修饰成员(成员变量和成员方法) c:被private修饰的成员只在本类中才能访问。 封装概述 是面向对象三大特征之一,是面向对象编程语言对客观世界的模拟,客观世界里成员变量都是隐藏在对象内部的,外界无法直接操作和修改 this:代表所在类的对象引用 构造方法 用来给对象的数据进行初始化 Day08 API ---application programming interface 应用程序编程接口 索引 看包 看类的描述 看构造方法 看成员方法 字符串的内容是存储在方法区的常量池里面的 为了方便字符串的重复使用 boolean equal 检查是否相等 int length()获取字符串的长度,也就是字符个数 char charAt(intindex)获取指定索引处的字符 intindexOf(String str)获取str在字符串对象中第一次出现的索引 String substring(intstart):从start开始截取字符串 Stringsubstring(int start,int end):从start开始,到end结束截取字符串 ps包括左边不包括右边 String的任意成员方法都不会改变这个字符串对象本身 字符串是不可变的 String的内容是固定的 StringBulider的内容是可变的 append(任意类型) 添加数据并返回自身对象 reverse()反转 insert 插入
|