黑马程序员技术交流社区

标题: 【石家庄黑马Java EE基础06期】学习笔记 [打印本页]

作者: 1059472218    时间: 2017-11-29 17:40
标题: 【石家庄黑马Java EE基础06期】学习笔记
本帖最后由 小石姐姐 于 2017-11-30 09:44 编辑

day01笔记:

注释:
单行注释//
多行注释/**/
关键字:被Java语言赋予了特殊含义的单词
特点:
1.组成关键字的字母全是小写;
2.常见的代码编辑器对关键字的代码有特殊的颜色标记.
常量与变量
分类:
1.字符串 双引号扩住
2.整数常量
3.小数常量
4.字符常量 单引号扩住
5.布尔常量 分为true与false两种
6.空常量
1.对区域要有限定(用数据类型进行限定)
2.必须对区域有个名称(即变量名)
3.区域内必须有内容(初始化值)
4.定义格式:数据类型 变量名 = 初始化值
1.基本数据类型
A.整数
2.引用数据类型
- 变量只在它所属的范围有效(它所在的大括号)
- 变量未赋值不能使用
- 一行上可以定义多个变量,但是不建议
-
##

day02笔记:
----------
- Day02
-
* eclipse的基本使用

    1. 解压文件既可直接使用
    1. 选择工作空间,一般放到eclipse文件夹内
    1. 软件面包分为三大板块:1.项目列表;2.编写代码板块;3.控制台
    2. 进入软件,首先新建项目 File-new-project-java project-项目名-Finish
    1. 项目建好后创建包,src中创建包,切换视图为java 右击src-new-package-包名-Finish
    2. 在包中内创建类
    3. 类中写代码,保存后自动编译

----------

* 基本配置

    1. 修改字体:window-Preferences-Basic-Test Font-Edit-修改字体大小-确定-Apply-ok
    2. 单独打开控制台:window-show view-Console
    3. 窗口乱了怎么重置:window-perspective-REST
    4. 程序乱了怎么办:编程页面右键-Source-Format(shift+ctri+f)

----------

* 运算符

        对常量和变量进行操作的符合称为运算符

----------


* 表达式

        * 用运算符把常量或者变量连接起来的符合java语法的式子就可以称为表达式。
        * 不同运算符连接的式子体现的是不同类型的表达式。举例:定义两个Int类型的变量a,b,做加法即是(a+b)

----------

* 常用运算符
        * 算数运算符
        * 赋值运算符
        * 关系运算符
        * 逻辑运算符
        * 三元运算符

----------

* 常用算数运算符:*,+,—,/,%,++,--
   

        * 算数运算符取余和除法的区别 %:取余运算符。得到的是两个相除数据的余数。/:除法运算符。得到是两个相除数据的商。使用场景: %:判断两个数据是否整除。
        * 整数相除为整数,除非有浮点型参与运算


----------

* 字符和字符串参与加法操作

        *字符参与运算:其对应的字符数值来操作
     * 'a' = 97 依次往后递增
     * 'A'= 65    依次往后递增
     * '0'= 48    依次往后递增到‘9’

* ++,--的用法要点

    * `++`: 自增, 用于对变量加一
* `--`: 自减, 用于对变量减一
* 运算符放在变量前和变量后的区别:
    * 单独使用时(即只有`i++;`或`++i;`), 没有区别, 都是自增
    * 参与其他操作时:
        * `int a = i++`:
            * 先使用i本身的值作为i++表达式的值
            * 然后i再自增(i自增后不影响之前i++表达式的值)
            * 最后将等号右边的值赋值给左边a
        * `int a = ++i`:
            * i先自增
            * 然后将自增后的值作为++i表达式的值
            * 最后将等号右边的值赋值给左边
    * `--`同理

----------


* 赋值运算

----------
* 关系运算

----------

* 逻辑运算

   * &:与,两边同为true则为true,否则false
   * |:或,有false则true
   * !:非,取反
   * ^ :异或,不同则为true
   * &&:短路与,具有短路效果,前面为false时则后面不执行
   * ||:短路或,具有短路效果,前面为true时后面不执行



----------
* 三元运算符

* 格式:(关系表达式)?表达式1:表达式2
* 执行流程:1.先计算关系表达式的布尔值;2.如果true,则表达式1是结果,否则表达式2结果,具有强制转换功能


* 键盘导入

* A:导包(位置放到class定义的上面)
    import java.util.Scanner;
* B:创建对象
    Scanner sc = new Scanner(System.in);
* C:接收数据
    int x = sc.nextInt();


在一个程序执行过程中,各条语句的执行顺序对程序的结果是有直接影响的。也就是说程序的流程对运行结果有直接影响。

是程序中最简单最基本的流程控制,没有特定的语法结构,按照代码的先后顺序,依次执行,程序中大多数的代码都是这样执行的
C:/Users/ZRH/AppData/Local/YNote/data/qq8CC2F1FA720F8A5393B7A67614B8C1E2/26cf4a4b915f4cf1b547fb104d373f5f/clipboard.png

语句体
}
判断表达式结果,true则执行语句体,false则不执行。
C:/Users/ZRH/AppData/Local/YNote/data/qq8CC2F1FA720F8A5393B7A67614B8C1E2/402dc7ee856945a4abace7dc283a4254/clipboard.png
2.  两种情况判断    if(关系表达式){
语句体1
}else{
语句体2
}
C:/Users/ZRH/AppData/Local/YNote/data/qq8CC2F1FA720F8A5393B7A67614B8C1E2/01483664b86c4a99bde3b0a67804e343/clipboard.png
3. 多种情况判断   if(关系表达式1) {
     语句体1;
}else  if (关系表达式2) {
     语句体2;
}
    …
else {
     语句体n+1;
}
C:/Users/ZRH/AppData/Local/YNote/data/qq8CC2F1FA720F8A5393B7A67614B8C1E2/5779f0007f5c4407bf571434cecd6b45/clipboard.png

case 值1;(值用来给表达式进行匹配的)
语句题1
break;(中断的意思)
.........
default:(所有值都不匹配)
语句体n+1;
break;

A:执行初始化语句
B:执行判断条件语句,看其结果是true还是false
如果是false,循环结束。
如果是true,继续执行。
C:执行循环体语句
D:执行控制条件语句
E:回到B继续
C:/Users/ZRH/AppData/Local/YNote/data/qq8CC2F1FA720F8A5393B7A67614B8C1E2/33e36a306ede4a95a5859a5ab96c2bbc/clipboard.png
         循环体语句;
    }        
   while(判断条件语句) {
         循环体语句;
   }
扩展格式:
   初始化语句;
   while(判断条件语句) {
         循环体语句;
         控制条件语句;
}
   do {
         循环体语句;
   }while((判断条件语句);
扩展格式
   初始化语句;
   do {
         循环体语句;
         控制条件语句;
} while((判断条件语句);


    for(;关系表达式;控制语句){
循环体
}




                                循环体
}
// 将for循环修改为死循环for (;;) {    // 死循环}for (;;);  // 连循环体都没有的死循环


Day05: 方法

提高代码复用性和可维护性
定义格式:
修饰符: 目前记住public static
返回值类型: 用于限定返回值的数据类型        
方法名: 方法的名字, 便于我们调用
参数类型: 用于限定调用方法时传入数据的类型
参数名: 用于接收调用方法时传入数据的变量,用于告诉方法的调用者, 调用该方法时需要传入何种数据
方法体: 完成我们需要的功能的代码
return语句: 结束方法, 并把返回值传递给调用者
单独调用: sum(10, 20);  没有返回值时单独调用
输出调用: System.out.println(sum(10, 20)); 有返回值时用
赋值调用: int result = sum(10, 20);有返回值时用


在同一个类中方法名相同
方法的参数列表不同
参数的个数不同
参数的数据类型不同(包括顺序不同)
与方法的返回值类型无关
和参数的参数名无关
和方法体无关


结论: 形参的值的改变不会影响实际参数
为什么? 形参是定义在调用方法中的一个单独变量, 实际参数是定义在main方法中的另一个单独变量, 两者内存区域不同, 所以互不影响
结论:



Day06: Eclipse断点调试 基础语法练习








// 定义一个变量接收索引
int index = -1;        // 遍历数组        for (int i = 0; i < arr.length; i++) {            // 获取数组中的每个元素值, 与传入的值进行比较是否相等            if (arr == value) {                // 如果相等, 则说明找到了, 将当前索引赋值给index              index = i;

// 结束循环
break;            }        }        // 如果能执行到这里, 说明没有找到, 返回index        return  index;    }

               


















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