黑马程序员技术交流社区

标题: 【石家庄校区】基础知识学习笔记 [打印本页]

作者: sun2ice    时间: 2017-11-30 08:08
标题: 【石家庄校区】基础知识学习笔记
本帖最后由 sun2ice 于 2018-1-23 15:02 编辑

day01Java基础知识  
1 Java概述1.1 Java的发展史
  • Java之父 詹姆斯.高斯林(James Gosling)
1.2 Java语言平台
  • JDK1.5改名JAVASE \JAVAME \JAVAEE
  • 目前使用广泛的为7.0与8.0
1.3 Java 跨平台 JDK JRE JVM概述
  • JVM Java虚拟机.--->实现跨平台的依据
  • JRE java运行环境 包括 JVM和核心类库.--->只能运行
  • JDK JRE和开发工具包--->开发完后需要运行看效果所以包含一个JRE
  • JVM<JRE<JDK
1.4常用DOS命令
  • 打开控制台:win+R,cmd+Enter
  • 换盘操作: 盘:+回车Enter
  • 显示当前目录:dir+回车Enter
  • 进入操作: cd 文件名+回车Enter
  • 返回操作:

    • 返回上一级:cd..+回车Enter
    • 返回跟目录:cd\+回车Enter
  • 清屏操作:cls+回车Enter
  • 退出操作:exit+回车Enter
1.5下载安装JDK
傻瓜式安装 注意:更改安装路径 英文目录
1.6执行流程
源文件--->javac生成字节码文件(.class文件)--->运行java
格式:
  • javac 源文件名.java
  • java字节码文件名(不用加.class)

2 工具安装以及环境变量设置2.1Notepad安装设置
傻瓜式安装,路径自己习惯 不建议系统盘
  • 设置--首选项--新建--默认语言java和编码ANSI
2.2环境变量设置
  • 为什么配置:
    • 因为编译和运行需要用到的javac和java命令只能在bin目录下编写程序,但是实际开发中不可能不程序写在bin目录下,所以需要配置使其在任意目录下都能够访问javac和java命令
  • 如何配置:
    • 创建新的变量名称:JAVA_HOME
      我的电脑--右键属性--高级系统设置--高级--环境变量--新建JAVA_HOME;
    • 为新建变量JAVA_HOME添加变量值:JDK安装路径
    • 在path环境变量中添加一下内容
      %JAVA_HOME%\bin
  • 测试是否成功
    • 打开控制台(cmd)输入javac 回车
    • java 回车
    • java -version 回车

3基本语法3.1注释
  • 注释:用于解释说明程序的文字
  • java注释分类
    • 单行注释: //注释内容
    • 多行注释:/ * 注释内容 */
    • 文档注释:/**注释内容 */
    • 注意:不能嵌套
  • 注释作用
    • 解释说明程序
    • 帮助我们调试错误

3.2关键字
  • 定义: 被java语言赋予特殊含义的单词
  • 特点:
    • 字母小写
    • 常用的代码编辑器有特殊颜色标记,很直观不用死记硬背

例如:
数据类型 byte / short / int / long / float / double / char / boolean
流程控制 if / else / while / do / for / break / continue / return
访问权限 public / private / protected
修饰符 abstract / final / static
3.3常量3.3.1常量概述
  • 执行过程中 值不会改变的量
3.3.2常量分类
  • 整数常量 1 3 47等
  • 字符串常量 "ab"(双引号括起来)
  • 小数常量 1.4 3.4
  • 布尔常量 true false
  • 字符 'S' 'A' (单引号)
  • 空常量 null
3.4变量3.4.1变量的概述
  • 执行过程中 在一定范围内值可以发生改变的量
  • 本质上为内存中的一小块区域
3.4.2 固定格式
  • 数据类型 变量名 = 值
3.5数据类型的分类3.5.1基本数据类型
  • Java语言是强类型语言,对于每一种数据都定义了明确的数据类型,在内存中分配了不同的内存空间大小
3.5.2数据类型的分类
  • 基本数据类型  整数类型---占用字节数  *    byte ---1    (-128---127)  *    short---2  *    int---4  *    long---8  *    浮点类型   *    float---4 单精度  *    double---8 双精度  *    字符类型 char---2  *    布尔型   boolean---1
  • 注意
    • 整数类型默认int
    • 浮点类型默认 double
    • 定义long类型时后面+L 如:long a=123L
    • 定义float类型时后面+f 如:float a=1.3f
  • 引用数据类型
    • 类(class)
    • 接口
    • 数组

3.6标识符3.6.1 标识符概述
  • 给包 类 方法 变量取名用
3.6.2标识符的命名规则
  • 由字符 下划线_ 美元$组成
    • 字符包括 字母 数字 汉字(不建议)
  • 注意:
    • 不能以数字开的头
    • 不能为关键字
    • 见名知义
  • 命名规范
    • 包 ---域名倒写 小写
    • 方法 变量---小写 多单词驼峰法
    • 类 接口---首字母大写 多单词驼峰法
    • 常量 ---字母大写 多单下划线_区分单词

3.7变量的定义和使用
  • 格式 数据类型 变量名=值;
  • 定义注意:
    • 没有赋值不能使用
    • 只在所属大括号内有效
    • 一行可以定义多个 但不建议

3.8数据类型的转换3.8.1隐式类型转换
  • 范围小的与范围大的数据类型在参加数据运算时 自动提升为范围大的数据类型
  • 仅限于基本数据类型 布尔除外
  • byte.short.char--->int--->long--->float--->double
3.8.2强制类型转换(大转小)
  • 格式 目标数据类型 变量名 = (目标数据类型) (被转换的变量或表达式)
  • 不建议 可能有精度损失

day02Java基础知识                 1 Eclipse工具安装使用1.1 Eclipse安装
  • 免费 纯java语言编写 可扩展性强 免安装 解压即可用
1.2Eclipse的基本使用1.2.1 Eclipse基本操作
  • 创建Java项目---->点击File或者左侧空白处右击,选择Java项目,在界面中输入项目名即可 点finish结束
  • 在项目中创建包---->在元宝src下创建一个包,包名为com.itheima (一般域名倒写)
  • 在包下创建一个类---->(注意:类名首字母大写)点finish结束
  • 编写主方法----> main 主方法
    • 自动编译
  • 运行---->右键 Run as-Java Application
1.3Eclipse 工作空间配置
  • 行号显示隐藏
    • 显示:左侧空白处右键--Show Line Numbers
    • 隐藏:同上
  • 字体大小及颜色
    • Java代码区
      • Window--Preferences--General--Appearance--Colors and Fonts中的Java--双击Java Editor Test Font进行设置
    • 控制台
      • window--Preferiences--General--Appearance--Colors And Fonts--Debug--双击Console font进行设置
    • 其他
      • window--Preferiences--General--Appearance--Colors And Fonts--basic--Text Font
    • 各代码设置
      • window--Perferiences--Java--Editor--Syntax Coloring--Java
    • 窗体恢复
      • window--Perspective-Reset Perspective
    • 控制台恢复
      • window--Show View--Console


1.4 Eclipse常用辅助键和快捷键
  • 内容辅助Alt+/
    • main alt+/
    • syso alt+/
  • 常用快捷键 注释
    • 单行 选中内容,ctrl+/ 重复取消
    • 多行 选中内容Ctrl+shift+/,Ctrl+shift+\
    • 代码格式化Ctrl+shift+f

1.5Eclipse项目导入 和删除
  • 删除项目
    • 选中项目右键 删除
  • 导入项目
    • 项目区域 右键 import--General--Existing Projects into Workspace

2运算符2.1常用运算符*    算数运算符*    赋值运算符*    关系运算符*    逻辑运算符*    三元运算符2.2 算数运算符
  • 运算符

    • 对常量和变量进行操作的符号称为运算符
  • 表达式

    • 用运算符把常量或者变量连接起来的符合java语法的式子就可以称为表达式

2.2.1算数运算符
  • 加+ 减- 乘* 除/ 取余% ++ --
    • 注意整数 除/ 取整数部分
      • 例如 3/2=1
      • 得到小数需要有浮点类型参加运算例如 3/2.0=1.5 原理 隐形转换
    • 注意取余结果符号看左
      • 例如 -3%2=-12.2.2字符和字符串参加运算


  • 字符char:用对应的值参加运算
    • '0'=48
    • 'A'=65
    • 'a'=97
  • 字符串参加运算
    • 其实做的是字符串拼接
    • 字符串和其他类型的数据做拼接 结果都是字符串

2.2.2算数运算++ -- 的运用
  • ++ -- 对变量做+1 \ -1操作
    • ++ --可以在前 也可以在后
  • 单独使用在前在后都一样 自身加减1
  • 参与运算
    • 在前 先变量自身加减1 在参加运算
    • 在后 先变量自身运算 后变量加减1

2.3赋值运算符
  • 基本赋值运算符 =
  • 扩展赋值运算符+=,-=,*=,/=,%=;
    • +=: a+=20相当于a=(a的数据类型)(a+20)

2.4关系运算符
  • == , != , < , <= , > , >=
  • 关系运算符结果都是boolean类型 true 或者 false
2.5逻辑运算符
  • &与, |或, ^异或 , !非
  • 一般用于连接boolean类型的表达式
    • 表达式 : 用运算符把变量或者常量连接起来符合java语法的式子
  • & : 有false则false
  • | : 有true则true
  • ^异或 : 相同为false 不同为true
  • ! : 取反
  • &&有短路效果左边false 右边不执行
  • ||有短路效果右边true 右边不执行
2.6三元运算符
  • 格式 关系表达式 ? 表达式1 : 表达式2 ;
    • 如果条件为true,运算结果表达式1
    • 如果条件为false,运算结果为表达式2

3 键盘录入3.1键盘录入的基本步骤
  • 导包 放在类class上面
    • import java.util.Scanner;
  • 创建对象
    • Scanner sc = new Scanner (System.in);
  • 接受数据
    • int x = sc.nextInt();

day03 java基础知识
1 选择流程控制语句1.1顺序语句结构
  • 从上到下依次执行
1.2 if语句格式1.2.1 格式1    if(关系表达式)    {     语句体     }
  • if 为true 执行
  • false 不执行
1.2.2 格式2if(关系表达式 ) {语句体1 }else{语句体2 }
  • 表达式为true 执行语句体1
  • 表达式为false执行语句体2
1.2.3 格式3if(关系表达式1){语句体1}else if(关系表示2){语句体2}else if()*****}else{语句体n}
  • 上到下依次执行判断 true 执行
  • 为false 跳过 向下执行判断
  • 以上关系表达式没有true,就执行语句体n
1.3 switch语句
  • 格式
switch(表达式){case 值1:语句体1;break;case 值2:语句体2;break;case 值3:语句体3;break;******case 值n:语句体n;break;default:语句体N;break;}
  • 表达式取值 byte short char int
    • JDK1.5以后可以是枚举
    • JDK1.7以后可以是字符串
  • case值 :和表达式是作比较的值
  • break:中断 结束switch
  • default:以上没有匹配的才执行语句N
2 循环控制语句2.1 for循环语句
  • 格式
for (初始化语句 ;判断条件语句 ; 控制条件语句  ){循环体}
  • 例如
    • for(int i = 0 ; i < 5; i++ ){
      syso(i);
      }

2.2 while循环语句
  • 格式
while(判断条件语句){循环语句;}*先判断为 true 在执行
  • 扩展格式
while(判断条件语句){循环语句;控制条件语句;}2.3 do ...while循环语句
  • 格式
do{循环语句;}while(判断语句);
  • 扩展格式
do{循环语句;控制条件语句}while(判断语句);
  • 先执行一遍do{循环语句;} 在判断[while();]
2.4三种循环的区别
  • do...while至少循环一次循环体
  • for 和 while先判断为true在执行循环体
    • for和while的区别
      • for循环一般是用于已知循环次数的 while用在不知道循环次数
      • for循环结束后,初始化变量不能再访问,
      • while的初始值可以继续访问

  • 推荐使用顺序 for while do...while
3控制循环语句3.1 break
  • 中断循环
  • 结束switch
3.2 continue
  • 结束一次循环,继续下一次循环
day 04

1.随机数Random类
  • 格式
    • 导包 import java.util.Random
    • 创建对象 Random r=new Random();
    • 调用方法int randomNumber =r.nextInt();

2数组基础2.1数组定义
  • 存储同一种数据类型的多个元素的容器
2.2定义格式
  • 数据类型 [] 数组名;(推荐方式)
    • int [] arr;
  • 数据类型 数组名 [];
    • int arr [];

2.3数组初始化
  • 所谓初始化值得是对数组开辟内存空间,并对每个元素初始化(赋值)
  • 静态初始化

    • 给出初始化值 有系统给出长度

      • 数据类型 [] 数组名=数据类型{ 该类型的常量 }
      • int [ ] arr = new int [ ]{1,2,3,4,5,9};
    • 简化格式

      • 数据类型 [] 数组名=数据类型{元素1,元素2... };
      • int [] arr= int{1,3,5,9};

  • 动态初始化
    • 给出数组长度,由系统给出元素的默认值
      • 数据类型[ ] 数组名 = new 数据类型[ 数组长度 ]
      • int [ ] arr= new int [10];


2.4访问数组元素
  • 数组元素:数组中的但数据
    • 数据类型 变量名 = 数组名 [ 索引 ];
  • 注意 变量名储存的为堆中的地址值
    • 例如:int arr0 = arr[0];
  • 数组索引:元素在数组中的位置
    • 注意索引从0开始

2.5Java的内存分配

    • 存储的是局部变量
      • 局部变量就是定义在方法中的变量
    • 使用结束后立即回收

    • 存储的是new出来的东西 实体,对象
      • 每一个对象都有地址值
      • 每一个对象的数据都有默认值 byte short int long  默认值  0 float double         默认值  0.0 char                 默认值  "\u0000" boolean              默认值  false 引用类型              默认值  null
      • 使用结束后 等待垃圾回收器空闲时回收

  • 方法区
    • 面向对象进阶时讲
  • 本地方法区
    • 和系统相关
  • 寄存器
    • CPU使用

2.6数组常见两个小问题
  • 数组索引越界 ArrayIndexOutOfBoundsException
    • 原因 访问了不存在的索引
  • 空指针异常 NullPointerException
    • 原因 数组名为null时 使用数组
  • null只能赋值给引用数据类型的变量, 包括数组 类 接口
2.7数组的遍历
  • 通过for循环获取数组索引 格式 for(int i = 0;i< arr.length; i++){   syso(arr[1]);   }
  • 注意 length为获取数组长度 为数组属性 数组名.length即可
2.8 二维数组
  • 初始化格式
    • 数据类型 [] [] 数组名= new 数据类型[m] [n] ;
    • 注意 n可以为null m不能;
  • 二维数组的遍历
       for (int i = 0; i < arr.length; i++) {       System.out.println();   for (int j = 0; j < arr.length; j++) {       System.out.print(arr[j]+" ");   }

day 051方法的概述及基本使用1.1方法的格式*    修饰符 返回值类型 方法名 (参数){*    方法体*    return 返回值*    }
  • 注意事项
    • 明确两点
      • 返回值类型 无void
      • 参数列表


1.2方法的调用
  • 有明确返回值的调用
    • 单独调用没有意义
    • syso调用
    • 赋值调用 推荐

1.3方法的重载
  • 同一个类里 方法名相同 参数列表不同
  • 与返回值无关
  • 调用时根据方法参数来区分同名方法
1.4方法的参数传递
  • 方法参数为基本数据类型
    • 形式参数的改变不影响实际参数
      • 形式参数:用于接受实际数据的变量
      • 实际参数:实际参与运算的变量

  • 引用数据类型
    • 实际传递的是地址
day 061.1断点调试debug1.进入方法
  • 程序加断点 行双击

    • 断点 就是一个标记
  • 代码区域右键---Debug As----Java Appilcation
  • 再次双击断点取消或者右上角找到Breakpoints,点击取消所有断点
  • 操作界面
    • Variables 查看程序变量的变化
    • ForDemo 被查看的源文件
    • Console 控制台
  • 快捷键
    • F5 进入方法
    • F6 执行下一行代码
    • F7 跳出方法
    • F8 调到下一个断点










作者: sun2ice    时间: 2017-11-30 08:17
自己占个楼顶




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2