jre system library
2:包名都习惯用公司的反域名
Com.zhiyou.demo
Com.baidu.map.demo
反域名为了排序
3:scanner 扫描器,主要用于键盘的输入
Nextint :是scanner扫描到输入的是数字的时候,获取到这个数字。
Nextline:总是以enter为结束。
next()一定要读取到有效字符后才可以结束输入
之前遇到的空格键、Tab键或Enter键等结束符,next()方法会自动将其去掉
就输入的内容而言:只有在输入有效字符之后,next()方法才将其后输入的空格键、Tab键或Enter键等视为分隔符或结束符
next方法不能得到带空格的字符串
nextLine()方法的结束符只是Enter键
返回的是Enter键之前的所有字符,它是可以得到带空格的字符串的
问题:nextLine()自动读取了被next()去掉的Enter作为他的结束符
解决:在每一个 next()、nextDouble() 、 nextFloat()、nextInt() 等语句之后加一个nextLine()语句,将被next()去掉的Enter结束符过滤掉。
4:判断两个字符串是否相等用equals
忽略两个字符串大小写用:equalsignorecase
1:system.out
System.in
2:random
Random.nextint(100)+1
3:for
4:while
5:char类型可以使用++--运算,是因为使用的字符的ascii值来计算的
6:int 大范围赋值给byte小范围,需要强制转换
格式:(要转换的类型)需要类型转换的变量名
Int 默认整数类型
Double 默认小数类型
Double d=1.123
Float f=1.123f
7:类型转换
整型,浮点型,字符型 可以类型转换,但是不能与引用类型进行类型转换,比如int转换string
- 隐世转换 对于不同类型而言,大范围能容纳小范围。比如:byte类型的变量赋值给int类型的变量 long>int>short>byte
- 显氏转换(强制类型转换)
- 对于同类型而言,小范围不得已容纳大范围,比如int类型的变量要赋值给byte类型的变量 int a=1; byte b=(byte)a
- 对于不同类型,当然要进行类型的强制转换
- Float a=1.321f;int b=(int)a;
8:数组
- 静态数组方式:Int[]array={1,2,3};
- Int []array=new array[10];
- 数据类型 [] 数组名=new 数据类型[数据长度];
- 取 通过索引 index
- Intarr[0] 代表取数组中第一个元素
- Intarr.Length()
9:jvm的内存划分
- 程序计数器:CPU与内存的通信
- 本地方法栈(stack):jvm调用系统的方法 比如copy
- 方法栈:执行方法,保存局部变量
- 方法区:存储类的信息(比如累的名字等等),静态变量,常量以及编译器编译后的代码等等
- 堆(heap):存放对象 以及数组
- 二维数组
- Int[][]intarr=new int[2][3]
- Int[][]intarr={{1,2},{2,3},{4,5,6}}
- Arrarys.tostring(arr)
类:
- 属性
- 方法
- 继承
- 封装
- 多态
{
属性
构造方法
Setter,getter方法
Override重写方法
普通方法
}
/*1:arrays.tostring()
2:arrays.Sort()
3:arrays.binarysearch();
4:递归
5:重写
重载*/
1:抽象类 & 接口
接口文档
Server后端工程师与client 前端工程师的一个桥梁。
1.1:抽象类abstract
1.2抽象类可以有抽象方法也可以有非抽象方法
1.3抽象类无法实例化,抽象类不能创建对象,只能使用其子类(如果子类不是抽象类)
1.4:子类使用父类的抽象方法
1.5:抽象类也是类,仍然可以有自己的属性方法
抽象类的子类也可以是抽象类
总结:1:抽象类是类
2:抽象类都会涉及到继承
3:抽象类存在的方法不需要有任何实现,所以不需要使用。