黑马程序员技术交流社区

标题: 【石家庄校区】基础学习六日总结 [打印本页]

作者: 石家庄付天恩    时间: 2017-11-29 17:55
标题: 【石家庄校区】基础学习六日总结
本帖最后由 小石姐姐 于 2017-11-30 09:41 编辑

day01
常量
        字符串常量: "hello"
        字符常量: 'a'
        整数常量: 12
        小数常量: 12.23
        布尔常量: true, false
        空常量: null
变量
        变量是内存中的一块区域, 保存着一个值.
        变量的定义格式: 数据类型 变量名 = 初始化值;
变量的数据类型:
        基本数据类型        字节数
        整数        byte        1
                        short        2
                        int         4
                        long        8
        小数        float        4
                        double        8
        字符        char        2
        布尔        boolean        1
        注意:整数默认int类型, 浮点数默认double类型
                 所以long类型要加L, float类型要加F
                 long l = 10L;float f = 1.0F;
变量定义的注意事项:
        变量未赋值时不能使用
                如:int a =10;
                    System.out.println(a);
        变量只在它所属的范围(所在的大括号)内有效
                如:{
                        int a = 10;
                    }
                    System.out.println(a);
        一行上可以定义多个变量, 但是不建议这样做 int a = 10,b=20;
数据类型转换:
        隐式转换:
                byte, short, char --> int --> long --> float --> double
        强制转换:
                目标类型 变量名 = (目标类型) (被转换的变量);
                int a = (int) 1.3;
        byte,short,char进行运算时,会转为int
               
day02
使用eclipse开发:
        java project -- package -- class
运算符
        A.算数运算符
                +,-,*,/,%,++,--
                        +:字符串参加加法 : 拼接
                          字符参与加法 : 字符对应的ASCII码参与运算
                        /:就是两个数相除后的商, 5 / 3.0 = 1
                        %:就是两个数相除后的余数, 5 % 3 = 2
                        ++
                                i++:先去i的值,后对i进行+1
                                ++i:先对i+1,再用i的值
        B.赋值运算符
                基本赋值运算符:int a = 10;//与==区分开
                扩展赋值运算符:+=,-=,*=,/=,%=
                        注意: 扩展赋值运算符隐含了强制类型转换
                                  a += 10; 相当于 a = (a的类型)(a + 10);
        C.关系运算符
                ==,!=,<,<=,>,>=
                关系运算符的结果是boolean类型
        D.逻辑运算符
                &,|,!,^,&&,||
                注意:&和&&的区别,&&有短路效果,只要左边是false, 则不判断右边, 直接false
                if(i++>10 && j--<10)
                     |和||的区别,||有短路效果,只要左边是true, 则不判断右边, 直接true
        E.三元运算符
                关系表达式? 表达式1 : 表达式2;
                三元运算符是有返回值的,需要一个变量来接收返回值
                String result = (i%2==0)?"偶数":"奇数";
                int max = (a>b)?a:b;
键盘录入
        步骤:
                a.导包 import java.util.Scanner;
                b.创建Scanner对象: Scanner sc = new Scanner(System.in);
                c.接收键盘输入数据: int i = sc.nextInt();

day03
选择结构
        if语句:三种格式
                if (关系表达式) {
                        语句体
                }
               
                if(关系表达式) {
                        语句体1
                } else {
                        语句体2
                }
               
                if(关系表达式1) {
                        语句体1
                } else if (关系表达式2) {
                        语句体2
                }...{

                } else {      // else {} 是可选的
                        语句体n
                }
               
        switch语句
                switch(表达式){
                case 值1:
                        语句体1;
                        break;
                case 值2:
                        语句体2;
                        break;
                ....
                default:
                        语句体 n+1;
                        break;                        
                }
循环控制语句
        for循环:
                for(初始化语句; 判断条件语句; 控制条件语句) { 循环体语句; }
        while循环:
                while(判断条件语句) { 循环体语句; }
        do...while循环:
                do { 循环体语句; } while(判断条件语句);
循环控制语句
        break: 直接结束循环, 或switch语句
        continue: 结束本次循环, 继续执行下一次.
        
day04
Random类:用于产生一个随机数
        使用步骤
                a.导包: import java.util.Random;
                b.创建对象: Random r = new Random();
                c.获取随机数: int number = r.nextInt(10);
                注意:nextInt(y)表示产生的数据在0到y之间, 包括0, 但不包括y
数组
        数组是存储同一种数据类型的多个元素的容器.
        两种定义格式:
                a.数据类型[] 数组名;: int[] arr;
                b.数据类型 数组名[];: int arr[];
        两种初始化方式:
                a.动态初始化:
                        初始化时只指定数组长度,由系统为数组分配初始值
                        int[] arr = new int[3];
                b.静态初始化:
                        初始化时指定每个数组元素的初始值,由系统决定数组长度
                        int[] arr = {1,2,3};
        数组元素的访问
                一维数组的访问
        数组的两个常见异常
                ArrayIndexOutOfBoundsException: 数组索引越界异常
                NullPointerException: 空指针异常
        数组的常见操作:
                遍历数组
                获取数组中的最值
        day5
方法:
其实就是完成特定功能的代码块

定义格式:
修饰符 返回值类型 方法名 (参数类型 参数名1, 参数类型 参数名2..){
方法体
return 返回值;
}

写一个方法有两个明确:
A:返回值类型 (如果没有返回值类型,使用void代替)
B:参数列表


方法的调用:
有明确返回值的方法调用
A:单独调用,没有意义(void 方法只能单独调用)
B:输出调用,有意义. syso/ (sum(1,2))
C:赋值调用   int result =sum(10,20).

方法重载
:在同一个类中,出现了方法名相同的情况.
特点:
方法名相同,:
参数列表不同:.参数个数不同,参数定义的类型不同

注意:在调用方法的时候,java虚拟机会通过参数列表的不同来区别
day6
Eclipse的断点调试可以查看程序的执行流程和解决程序中的bug
A:什么是断点:
                 就是一个标记,从哪里开始。
         B:如何设置断点:
                 你想看哪里的程序,你就在那个有效程序的左边双击即可。
         C:在哪里设置断点:
                 哪里不会点哪里。
                 目前:我们就在每个方法的第一条有效语句上都加。
         D:如何运行设置断点后的程序:
                 右键 -- Debug as -- Java Application
         E:看哪些地方:
                 Debug:断点测试的地方
                         在这个地方,记住F6,或者点击也可以。一次看一行的执行过程。
                 Variables:查看程序的变量变化
                 ForDemo:被查看的源文件
                 Console:控制台
         F:如何去断点:
                 再次双击即可
                 找到Debug视图,Variables界面,找到Breakpoints,并点击,然后看到所有的断点,最后点击那个双叉。





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