一、回顾
alt shift + o 自动接收对象
- static 关键字(静态的)
-
- 修饰属性:类变量,全局变量(类名.属性名)
- 修饰方法:类方法(类名.方法名)
只要是加了static修饰的属性或者方法,都会在调用主方法之前就会加载到内存中
-
- 代码块
- 静态代码块
- 实例变量:是创建的类里面的,成员变量:是放在主方法里面的
- 实例方法:就是没有加static修饰的方法(类名.方法名),加了static就是类方法 (对象.方法名)
- 对象级别的才可以被重写,而static是类级别的,所以静态方法不可以被重写
- final修饰方法 :最终的
-
- 内部类:
-
-
- 静态内部类:
- 成员内部类:放在方法外
- 局部内部类:放在方法内
- 匿名内部类:创建接口对象或抽象类对象,减少设计中间子类
-
- ctrl alt M 快速抽取选中代码
- 代码块
-
- 静态代码块 构造代码块:父类静态代码块 子类静态代码块 父类构造方法 父类构造代码块 子类构造代码块 子类构造方法
- 枚举
-
- 写法和类一样
- final:没有子类不能被继承
二、常用类
- System类(不能被实例化,因为构造方法使用了Private修饰私有化了,他是final类不能被继承 )
-
- err:错误输出,输出的信息字体默认为红色;
System.err.prinrln("错误信息输出")
-
- out:基本信息输出
System.err.prinrln("信息输出")
-
- in:信息输入,在控制台输入数据
System.in
例如
Scanner sc = new Scanner(System.in)
- currentTimeMillis:获取当前时间的毫秒数
- exit(0):终止当前的java虚拟机
- arraycopy(Object src ,int srcPos, Object dest , int destPost, int length);
-
- 设计时使用了多态的特性向上转型,提高了通用性
- src:被复制的数组
- srcPos:从这个下标开始赋值
- dest:赋值到目标数组
- destPost:目标数组开始放入的下标
- length:赋值的长度(元素个)
- 从src数组中从srcPos下标开始赋值元素,赋值dest数组,从destPos下标开始放入总共赋值length个元素
- Scanner类:简单文本扫描器 (final修饰不能被继承)
-
- 作用:用来获取控制台输入的信息
- 常用方法
-
-
- next 获取单个字符串数据(不能有空格,否则只会获取空格之前的)
- nextLine 获取多个字符串(可以包含空格)
-
-
- 获取整数
- 获取浮点型:
- 获取布尔型:
- 使用方式:
-
-
- 1.创建文本扫描器
Scanner sc = new Scanner(System.in);
- 2.提示用户输入
System.out.println("请输入xxx");
- 3.获取输入的数据
String name = sc.nextLine();
- ...............
-
- Math类(类方法,私有的)
-
- 封装很多的数学需要的方法
- 常用的属性
-
-
- E:2.71
- PI:3.14
-
-
- 常用的方法
-
-
- 1.四舍五入:
-
-
-
-
- ceil (小数):向上取值,返回值类型是double,只要小数点后有大于0的就会向上取值
Math.ceil(3.01) // 4.0
- floar(小数):向下取值,返回值类型是double,只要小数点后有值直接抹去
- ceil (小数):向上取值,返回值类型是double,只要小数点后有大于0的就会向上取值
-
-
Math.floar(3.999) //3.0
-
-
-
- round(小数):小数后第一位大于等于5向上取值,否则向下取,返回值类型如果参数double,返回值类型是long参数,float返回值类型是int
Math.round(4) // 4
-
-
-
-
- 2.获取两个数中最大值或最小值
-
-
-
-
- max(int a,int b)
- min(int a,int b)
-
-
-
-
- 3.pow(int a , int b):a 的 b 次方
- 4.random():产生0-1之间的随机数
-
- 讲解包装类
-
- 概念:java中每一个基本类型对应一个引用类型(类),这个类就是包装类
- 基本数据类型 :
-
-
- 整型
-
-
-
-
- byte --> Byte:是byte类型的包装类
- short -->Short:是short类型的包装类
- int --> Integer:是int类型的包装类
- long --> Long:是long类型的包装类
-
-
-
-
- 浮点型
-
-
-
-
- float -->Float:是float的包装类
- double -->Double:是double的包装类
-
-
-
-
- 字符型
-
-
-
-
- char -->Character:是char类型的包装类
-
-
-
-
- 布尔型
-
-
-
-
- boolean -->Boolean:是boolean类型的包装类
-
-
-
- 包装类的作用:
-
-
- 统一所有属性的默认值
- 将字符串(纯数字)转换为对应的基本类型
-
-
- 包装类的用法:
-
-
- 装箱:将基本类型变为包装类(1.手动装箱,2.自动装箱)
-
-
-
- 拆箱:将包装类转为基本数据类型(1.手动装箱,2.自动装箱)
-
-
-
- 将字符串转为int类型Integer.parseInt(String s)
- 将字符串转为包装类integer.valueof(s)
- Character
-
-
-
-
- isDigit
-
-
-
-
- 方法 数组 循环
-
/*
* 回顾
* 包装类:每一个基本类型对应一个类
* int - Integer
* char - Character
* 其他六个把首字母变为大写
*
* 作用:1、将属性的默认值统一null 2、将字符串转换为对应基本类型
*
* 装箱和拆箱
* 装箱:把基本类变为包装类
* new Integer(10); Integer.valueOf(10);手动装箱
* Integer in = 10;
* Java中整型(byte short int long)采用自动装箱,并且值是在-128--127之间,使用的对象是JVM给我们创建好
* Byte:在缓存区中创建256个对象
* Short:在缓存区中创建256个对象(-128 -- 127)
* Integer:在缓存区中创建256个对象(-128 -- 127)
* Long:在缓存区中创建256个对象(-128 -- 127)
* 享元模式:整型在采用自动装箱,并且值在-128 -- 127
*
* Integer.parseInt()
*
* 拆箱:把包装类转为基本类型
* in1.intValue():手动拆箱
* int a = in1; 自动拆箱
*
* Character:char的包装类
* 常用的方法:
* 1)、isDigit(char ch):判断一个字符是不是数字,返回值类型boolean
* 2)、isLetter(char ch) :判断一个字符是否是一个字母
*/
- String字符串
-
- String:不可修改的字符串(常量);
- StringBuilder:可以修改的字符串(线程不安全);
- StringBuffer:可以修改的字符串(线程安全)
- 创建String对象的方法
-
- 底层使用一个常量的字节(byte) 数组来完成
String s1 = new String("abc")
-
-
- 1.在堆里面开辟空间
- 2.“abc”s是放在常量池的
- 3.将常量池的地址交给堆里面
- 4.在堆里面的地址给s1
-
- String 常用的方法
-
- char charAt(int index) 返回char指定索引处的字符,不能超过下标范围
- codePointAt(int index) 返回指定索引处的Ascll码值
- concat(srt):将指定的字符拼接到字符串的末尾返回一个新的String字符串
- CharSequence(一个接口),也可以传入String
- 例:
- String t1 = "abcdef";
- t1.contains("abc") // t1包含abc,所以为true
-
- contains(CharSequence s):检测字符串内是否存在这个str,如果包含就是true不包含就是fales
- StarWith(String suffx):判断是否以xxx开头
- endsWith(String suffix):判断是否是以xxx结尾
- equals:字符串与指定对象比较值
- getBytes():将字符串转为字节数组
- getChar():将字符串中的字符复制到目标数组中
- indexOf():返回第一次出现的字符串内的索引
- lastIndexOf():返回最后一次出现的字符串内的索引
- length():获取字符的个数
- replace(char oldChar(要替换的字符),char newChar(替换的字符)):替换指定的字符
- replaceAll()替换所有字符
- split(regex):分割字符串,返回的是字符串数组
- subSequence():截取字符串(很少用)
- subString (Start index):截取字符串从下标开始到结束
- subString (Start index,End index):从开始下标到结束(含头不含尾)
- toCharArray();将字符串转为字符数组,返回的是char类型数组
- toLowerCase():将大写字母全部转为小写字母
- toUpperCase():将小写字母全部转为大写字母
- deleteCharAt((int index )删除 char在这个序列中的指定位置。
- delete(int start, int end)
- trim():清除字符串前后的空格
- toString > valueof >+