JAVA学习笔记
Day01 2021/8/8
一、注意
- 布尔常量是可以输出的
- null不可以输出
二、错误总结
- float f=13.14;
System.out.println("f");错误
应该(f);
Day02 2021/8/9
一、注意
- 类型转换可以是从小到大,强制类型转换是从大转小(不建议使用,有数据丢失)
- System.out.println(5.2 / a);//可以得到小数
- '0' Asics为48 ‘0--9’连续
- 算术表达式中包<含多个数据类型>的值的时候,整个算术表达式的类型会自动提升。
- System.out.println("黑马" + 6 + 66); ——黑马666
System.out.println(1 + 99 + "年黑马");———100黑马
总结: 从左到右运算 - +=包含了强制类型转换---(不建议)
short s=10;
s += 20; 正确 等同于s = (short)(s + 20)
s = s + 20; 错误 - b = a++; a值先给b,再++。一般单独使用++;
- 异或^ 相同为T,不同为F
- 短路与|| 左边为真右边不执行
短路或&& 左边为假右边不执行
二、错误总结
- c="A",为字符串(String), c='A',为单个字符;
Day03 2021/8/10
一、注意
- 测试数据:选择正确数据、边界数据、错误数据。
- for循环里的循环变量,出了循环不可使用。while循环里的变量,全局都可以使用。
- for( ; ; )为for的死循环 ctrl+c可以结束循环
Day04 2021/8/11
一、注意
- 反复练习idea操作
二、错误总结
- idea中一旦选定文件储存区域,不能对文件进行重命名。
idea里的快捷键
- 快速生成mian() psvm,
- 快速生成输出 sout
- 内容辅助 ctrl + Alt + space
- ctrl + Alt + l 修改代码标准格式
- ctrl + Alt + v 代码自动补全
Day05 2021/8/12
一、注意
- 方法重载
- 输出语句
- 从问题中提炼数据,从数据中寻找规律,从规律中程序化。
二、错误总结
- 该错误要一改都改,记得改了同样出现的地方。
Day06 2021/8/13
一、注意
- private 修饰成员变量
- this关键字,加载变量前,解决局部变量隐藏成员变量
- 构造方法,在类中 public Student() {};
- 构造方法就相当于方法 函数;
二、错误总结
- 给字符串(String)赋值要加引号,单引号、双引号;
Day07 2021/8/14
一,注意
二,错误总结
- System.out.println("输入的数据是:" + line); 正确----不能写成System.out.println("输入的数据是: + line");
Day08 2021/8/15
一、注意
-
[用==作比较: 基本类型:比较的是数据值是否相同 应用类型:比较的是地址值是否相同]
() -
比较字符串用方法:.equals() public boolen equals(Object and Obeject); s1.equals(s2)
-
获取字符串中单个字符 .charAt();
-
获取字符串的长度 .length();
-
String是可变的,StringBuilde是不可变的。
-
StringBulider中append添加数据并返回数据本身 reverse反转
B->S转换String s = sb.toString();
S->B转换StringBuilder sb = new StringBuilder(s); -
ArrayList方法:
删除--返回是否成功
array.remove("world");
删除指定位置--返回别删除元素
array.remove(1);
//修改指定位置索引,返回被修改元素
System.out.println(array.set(1,"nima"));//返回索引处的元素 System.out.println(array.get(1)); //返回集合中元素的个数 System.out.println(array.size()); //输出集合 System.out.println(array); //添加 add
二、错误总结
- 一般数组或者字符串的遍历用for()循环
- 定义变量必须初始化(与C语言不同)
- 字符串可以定义byte {97}输出字符,s.charAt(a) >= 97正确
- 数字不带引号,字符串带引号;
- 一开始写不能忘记main方法!!!
Day09/8/18
一.注意
-
快捷键 alt + insert 根据自己的需要进行选择。
-
字符串比较不能用 == 比较!!!!用equal!!!
-
多想!!多尝试!!把问题全面化,简单化!!一定可以!
二、错误总结
- System.exit(0); 退出程序.
- switch用String的好处,输入出错,程序不会报错,还可以继续运行下去,直到输入正确的选择。
- 输出特殊含义的方法 在sout里不能加引号。
- 用ArrayLiss中数据时,必学先取出对象,再调用对象的方法。
- 多思考!!!!!摆脱惯性思维!!!!!!
- while 和 for里定义的变量外界不能用,但在外界定义,在里面赋值操作,外界同样改变!
感悟:
程序没有最好,只有更好。只要你动脑筋想,无穷的巧妙方法!
相同问题,方法不唯一。不同问题尽管类似,但要找到起不同,用合适的方法!
d://StudentManger delete\update Student 里对学号不存在的判断
从问题根源解决: 想着修改、删除、重复学号怎么办 源头!!!控制添加方法----让其不要输入重复!!!
Day10/09/11
一、注意
- 继承格式 public class zi extends fu() {};
- 构造方法和成员方法:
1.构造方法 构造方法作用概述 给对象的数据进行初始化 构造方法格式 方法名与类名相同 没有返回值类型,连void都没有 没有具体的返回值 构造方法注意事项 如果你不提供构造方法,系统会给出默认构造方法 如果你...
2.成员方法 成员方法作用概述 表示对象所具有的功能(和行为)。 成员方法格式 有返回类型,可以为void类型,也可以是基本数据类型. - 继承中变量 、方法的访问特点:
先方法,再成员变量,再父类
想访问成员用this,想访问父类用super - @override
@Override这个标签有什么用呢。。。。。。
其实我也是比较迷茫,查了一下,三个作用吧
1.可以给你当作注释用,感觉这个也不能说明什么,注释也没什么用。
2.可以告诉读你代码的人,这是对它父类方法的重写,其实很多代码规范没有为什么,规范就是规范,代码的可读性还是很重要的。
3.编译器可以给你验证@Override下面的方法名称是否是你父类中所有的,如果没有就会报错。 - 访问权限:public > 默认 > privata
- 类只支持单继承,不支持多继承,但支持多层继承。
Day11/09/12
一、注意
- java se :标准版 用于开发桌面应用
- java ee: 企业版
- java me: 微型
Day11/09/26
一、注意
-
导包,文件直接创建,cmd java d . Hello.java
-
修饰符 (publick) (protected) (默认) (private)
-
状态修饰符
final 最终,修饰成员 1. 方法,2. 成员变量,3. 类,4. 局部变量,5. 引用变量(如 final Student s = new Student;)。- 最终方法,不能被重写;
- 变量为常量,不能再次被赋值;
- 最终类,不能被继承。
- 数据值不能变;
- 地址值不能变,但是地址值里的内容可以变。
static 静态,可以修饰成员方法,成员变量。
- 特点: 别类的所有对象共享;--------也是判断是否使用静态关键字的条件。
- 可以使用对象名调用,也可以使用类名调用。<推荐类名调用>
- 静态成员方法只能访问静态成员。
- 非静态都可以访问。
- main通常为静态 所以,类下面的方法一般也为静态。
Day12/2021/9/29
多态
一、 多态中成员访问特点
![e043f945ba7d7bd37ad0329bbe9bc4a](C:\Users\23694\AppData\Local\Temp\WeChat Files\e043f945ba7d7bd37ad0329bbe9bc4a.png)
- **多态的好处与弊端
![df065b619113d744a14b7e889e6837e](C:\Users\23694\AppData\Local\Temp\WeChat Files\df065b619113d744a14b7e889e6837e.png)
-
**多态的转型
//多态
Arimal a = new Cat();
//1.从子到父,父类引用指向子类对象、向上转型
a.eat();//2.从父到子,向下转型,父类引用转为子类对象 Cat c = (Cat)a; c.playGame(); //逆着看
Day13/2021/10/06
抽象类![55c0455d5b639de6d7782ba5329a00c](C:\Users\23694\AppData\Local\Temp\WeChat Files\55c0455d5b639de6d7782ba5329a00c.png)
成员特点
ERROR
- ![9ddca1064128fcc4f0de5b42eb43295](C:\Users\23694\AppData\Local\Temp\WeChat Files\9ddca1064128fcc4f0de5b42eb43295.png)String 定义的变量赋值要加 ”“;
接口
一、接口的特点
- 用关键字Interface修饰;
- 类实现接口用implement
- 接口不能实例化
*可用多态方式,通过实现对象实例化,这叫接口多态。 - 多态的形式
具体类多态、抽象类多态、接口多态 - 多态的前提
有继承或者实现关系; 有方法重写;有父类的(接口/类)引用指向(子/实现)类对象
二、接口的成员特点
![8b1956872eda32d7978c71682dcc980](C:\Users\23694\AppData\Local\Temp\WeChat Files\8b1956872eda32d7978c71682dcc980.png)
更多文章请关注《万象专栏》
转载请注明出处:https://www.wanxiangsucai.com/read/cv3966