跟黑马程序员开始,200个视频,开学,学习的经验慢慢总结。因为平时还要干活,所以每天学的东西可能不会太多。
day1
简介:Java是一种高级编程语言,常用于企业的应用开发。
使用:搭建Java开发环境,安装JDK,(想到炉石的JK和DK)。
Java是执行工具,Javac是编译工具 。和大学学的C语言差不多,编写编译运行。
注意:1.文件名与文件内名称一致
2.符号使用英文
day2
1.原来JDK11可以直接java 文件.java了...
2.今天学path,配置环境变量,学这个有什么用?原来是方便公司老版本Java在任意目录运行。
3.配置Java_home,同样是环境变量配置。
4.使用IDEA。类似pycharm。
day3
1.idea果然跟pycharm差不多,因为是一个全家桶的...这感觉才对了,pycharm我还是挺熟的。
2.IDEA需要project,module, package, class来进行管理,要建好几个,感觉有点麻烦,不知道有什么用。
3.写函数能缩写???牛,不知道pycharm能不能。
快捷键:ctrl alt t 召唤保包围方式
4.开始学语法
/ /一行注释
/* */多行注释,和C语言差不多。
/** */文档注释,还没讲是干啥的,以后补充
day4
1.字面量,还可以,没什么需要注意的。
2.\n换行,\t tab
变量,果然C语言是基础,学到现在,Java感觉跟c语言差不了多少。
3.一个变量只能在一个大括号内定义一次。
和C语言一模一样啊,这些基础的东西逻辑都一样,只是代码不太一样而已...
开始倍速观看...
4.
C语言我记得是BODX代表这四个,Java八进制和十进制还不一样。
day5
1.今天学自动类型转换,首先,类型范围小的变量可以直接赋值给类型大的变量。
2.表达式中三个不同类型进行计算时,最终结果类型由表达式的最高类型确定。byte,short,char直接转换成int。
3.强制类型转换,把强行转换的前边加上(类型);另外浮点型转换为整型会直接丢掉小数保留整数。
day6
1.运算符计算时,两个int类型计算得到的结果是int,所以5/2=2,这里容易出错。
2.+号可以连接字符串和变量
秘籍:能算就算,不能算就加起来。
注意第四个,这里有点绕。
3.逻辑运算符,条件运算符等等没什么好说的,跟C一样。
4.三元运算符,格式:判断条件?结果A:结果B 跟if差不多。
5.运算符的优先级:这一部分是需要经验的,我现在功力不够。
day6 程序流程:顺序,循环,分支
1.if 跟C语言一样,if()后边不带;
2.switch (1)表达式类型只能是byte、short、int、 char、string,不支持long、float、double。浮点数和long是因为范围太大了,占用的字节太多,double是因为在计算中会出现精度问题。
(2)case的值不能重复,而且只能说字面量,一眼能看出来的,不能是变量,例如a=1,case a 。
(3)不要忘记加break 。
(4)利用case的穿透性可以简化代码,例如有大量重复的分支时。
3.for循环,基本结构和C语言一样,不多赘述。
4.while循环,同上,记得加i++。
5.do while 先执行后判断。
6.for循环一般用于知道循环几次,while循环一般用于不知道循环几次,然后计数。for循环更灵活一点。for循环中定义的变量在全局中不能使用,while可以使用,因为while是定义在外边的。
7.跳转关键字,break continue,两个只能用在循环。
8.随机数
Random r = new Random();
int data = r.nextInt(10);//生成0~9随机数,包前不包后。
day7
数组
1.简易格式int ages[] = {12,13,18};
2.定义什么类型的数组就放什么数据。数组里边存放的是地址不是数据。也可将数组看为一种引用。
3.遍历数组快捷键ages.fori,但首先要创建ages这个数组。
4.动态数组int[] ages = new int[3]。方括号里边放的是长度,大括号里放的是数据。
int ages[] = new int[5]{1,2,3,5,4};
这是错的,动态数组方括号里边不放数。
5.下面为了进一步理解数组,介绍了Java内存分配,有点指针的味道。
6.案例,找出数组最大值,数组反转,随机排名,后两个都是使用交换索引位置的思想。
7.二维数组没讲,以后补充。
8.注意事项:访问不要超过数组长度,空指针的话输出不了长度。
day8
方法:封装,就是函数,
1.void代表无返回值,也不用加return。
2.对于方法的运用要注意有没有形参,有没有返回值。
3.main也是方法,所以定义的方法不能在main中。也就是方法不能包含方法。
4.方法调用是在栈里,最后清空栈内存。
5.调用的是局部变量,不改变全局的变量。要实下边的例子是数组,那么就会变,因为数组指向的是地址。
public class test {
public static void main(String[] args) {
int a = 10;
change(a);
System.out.println(a);//10
}
public static int change(int a){
System.out.println(a);//10
a = 20; // 局部变量
System.out.println(a);// 这里的a是局部变量,并不是方法参数 20
return a;//这个return没有用,所以前边可以改成void
}
}
6.方法重载,名称相同,形参的个数、类型、顺序不同,就称为方法重载。
7.当public和static组合使用时,表示该成员是公开的,并且属于类本身,而不是某个实例。这样,其他类可以直接通过类名来访问该成员,而不需要创建类的实例。