A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 小石姐姐 于 2017-11-30 10:55 编辑

黑马程序基础知识总结
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
##流程控制语句:
1.顺序结构
2.选择结构:if语句,switch语句
3.循环结构

#选择结构:if和switch两种结构
*if语句的第一种格式:if(关系表达式){
语句体
}


*if语句的第二种格式:if(关系表达式){
语句体1;
}else{
语句体2;
}


*if语句的第三种格式:if(关系表达式1){
语句体1;
}else if(关系表达式2){
语句体2;
}
...
else{
语句体n+1;
}

*导包快捷键:ctrl+shift+o

#switch语句表达式的取值:
switch(表达式){
case 值1:
语句体1;
break;
case 值2:
语句体2;
break;
case 值3:
语句体3;
break;
......

}

byte,short,int,char
case后跟的是要和表达式进行比较的值
break表示中断,可结束switch
default 表示情况不匹配执行的内容


*循环结构
1.初始化语句
2.判断条件语句
3.循环体语句
4.控制条件语句

*for(初始化语句;判断条件语句;控制条件语句){

循环体语句;
}

编程思维:


*水仙花数
一个三位数,其每位数字的立方和等于该数字本身
获取三位数:153=1*1*1+5*5*5+3*3*3
对数字取余

*while循环:
while循环语句的格式:
while(判断条件语句){
循环体语句:
控制条件语句;
}

*do...while循环语句格式:
do{
循环体语句;
控制条件语句;
}while(判断条件语句);
执行流程:
1.执行初始化语句
2.执行循环体语句
3.执行控制条件语句
4.执行判断条件语句,看是true,还是false,
如果是false,就结束循环
如果是true,就回到第二项继续执行

控制循环语句:

case穿透
Day04
##Java基础语法(下)
Random
数组
方法
Eclipse的断点调试

随机数Random和Scanner类似
*作用:
用于产生随机数的
*使用步骤:
1.导包
2.创建对象
3.获取随机数

#数组
数组是储存多个数据类型的容器
这多个变量的数据类型要一致
定义格式:
1.数据类型[ ] 数组名:(推荐方式)
2.数据类型 数组名[ ]:

int[ ] arr;定义了一个int类型的数组,数组名是arr
int arr[ ];定义了int类型的变量,变量名是arr

数组初始化:
是为数组开辟内存空间的,并为数组
中的每个元素赋予初始值
1.动态初始化:只给出长度,由系统给出初始化值
2.静态初始化:给出初始化值,由系统决定长度

动态初始化:
数据类型[ ] 数组名=new 数据类型[数组长度]

##Java中的内存分配:
*栈(储存的是局部变量)
*堆(储存的是new出来的东西)
*方法区(面向对象,进阶讲)
*本地方法区(和系统相关)
*寄存器(给CPU使用)
Day05
##方法:其实就是完成特定功能的代码块 //就是大括号
作用:提高代码复用的可维护性
*定义格式:
修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2...){
方法体;
return 返回值;
}
*格式解释
1.修饰符:目前记住public static
2.返回值类型用于限定返回值的数据类型
3.方法名:为了方便我们调用方法的名字
4.参数类型:用于限定调用方法时传入的数据类型
5.参数名:用于接收调用方法时传入的数据的变量
6.方法体:完成功能的代码
7.return:结束方法,并且把返回值带给调用者

写方法的两个明确:
1.返回值类型:明确功能结果的数据类型
2.参数列表:明确有几个参数,以及参数的数据类型

*方法的调用:
有明确返回值的方法调用
1.单独调用,没有意义sum(10,20)
2.输出调用:有意义,但是,不够好,因为我可能需要拿结果做进一步操作syso(sum(10,20));
3.赋值调用:推荐方式

如果一个方法没有返回值类型,也不能把返回值类型的地方
空出来,应该写void表示该方法无返回值类型

void输出的方法只能单独调用

##方法重载:在同一个类中,出现了方法名相同的情况
特点:1.方法名相同,参数列表不同,且与返回值无关
2.参数列表不同:
参数的个数不同,
参数对应的数据类型不同

**方法的参数如果是基本数据类型:形式参数的值不影响
实际参数
形式参数:用于接收实际参数的变量
实际参数:实际参与运算的变量
▲如果方法的参数是基本数据类型:形式参数的改变不影响实际参数
▲如果参数是引用数据类型:形式参数的改变直接影响实际参数
Day05
##断点调试的作用
1.查看程序的执行流程
2.调试程序

*断点:其实就是一个标记
在哪里加断点?
哪里不会就在哪里加断点
怎样加断点:在代码区域的左边双击即可

**如何运行加断点的区域?
代码区域--右键--Debug As--Java Application,弹出框让我们是否进入视图,选择Yes









基础知识总结.zip

9.59 KB, 下载次数: 54

1 个回复

倒序浏览
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马