栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java-review(自用)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java-review(自用)

基础语法 常量
System.out.println('h'); //output h

//需要记住的几个字符常量值
'0' = 48
'A' = 65
'a' = 97
原码 反码 补码
    (+)=0    (-)=1正数的反码与原码相同;负数的反码与原码符号位相同,数值位相反正数的补码与原码相同;负数的补码在反码的基础上加1
数据类型 基本数据类型
    整数

    byte 1short 2int 4 (default)long 8浮点数

    float 4double 8 (default)字符

    char 2布尔

    boolean 1

引用数据类型

类、接口、数组

类型转换

默认从小到大转换byte,short,char—int—long—float—double

byte b = (byte) 130; //-126
//130转换为补码(正数原码反码补码相同),截取byte一个字节八位数,再恢复为原码
运算符
//ex 1
int a = 4;
int b = ++a; //a=5, b=5
int c = a++; //a=6, c=5

//ex 2
short s = 1;
s = s + 1; //有问题,1为int类型
s += 1; //没有问题 等价于 s = (s的数据类型)(s + 1);

//^异或一个数据针对另一个数据位异或两次,该数不变
//ex 3: 交换两个变量
int a = 10;
int b = 20;
a = a^b; //30 20
b = a^b; //30 10
a = a^b; //20 10

//<< 把<<左边的数据乘以2的移动次幂,右边补0
//>> 把>>左边的数据除以2的移动次幂,左边补0/1看最高位是0/1
//>>>无论最高为是0还是1,左边补齐0
//ex 4
3<<2 = 3* 2^2 = 12 
24>>2 = 24/ 2^2 = 6
键盘输入
import java.util.Scanner;
Scanner sc = new Scanner(System.in);
int x = sc.nextInt();
String s = sc.nextLine();
流程控制语句
switch(week) { //byte short int char string
    case 1:
        System.out.println("星期一");
        break;
    default: //default后面的break可以省略
        System.out.println("你输入的数据有误");
        break;
}

break: 一个语句智能跳出一层循环continue: 跳出一次循环,进入下一次执行 数组

//动态静态不能同时进行
int[] arr = new int[3]; //动态初始化
int[] arr = new int[]{1,2,3}; //静态初始化
int[][] arr = new int[3][];
//arr[0]输出是null
arr[0] = new int[2]; //赋之后是地址值
Java的内存分配

栈:存储局部变量,数据使用完毕,就消失,作用在作用域堆:存储所有new出来的

每一个new出来的东西都有地址每一个变量都有默认值数据使用完毕后,在垃圾回收器空闲的时候回收

面向对象 类与对象 匿名对象
new Student().show();
抽象类
    在一个类中如果有抽象方法,该类必须定义为抽象类Example
      public abstract void eat(){} //错误 抽象方法不能有主体public abstract void eat(); //正确

abstract不能和哪些关键字共存?

    private        冲突final        冲突        static        无意义
接口

implements(继承是extends)特点

成员变量只能是常量没有构造方法成员方法只能是抽象的与类的区别

类与类:继承关系,只能单继承,可以多层继承类与接口:实现关系,可以单实现,也可以多实现接口与接口:继承关系,可以单继承,也可以多继承 内部类

局部内部类访问局部变量必须用final修饰 关键字

private:是封装的一种体现static:被类的所有对象共享

在静态方法中是没有this关键字的可以通过对象名调用,也可以通过类名调用final

修饰的类,不能被继承修饰的方法,不能被重写修饰的变量,是一个常量,不能被重新赋值被final修饰的变量只能赋值一次

 

代码块

执行顺序:静态代码块 -- 构造代码块 -- 构造方法静态代码块:只执行一次构造代码块:每次调用构造方法都执行 构造方法

可以有return语句:return; 继承

子类不能继承父类的构造方法

子类中所有的构造方法默认都会访问父类中空参数的构造方法子类每一个构造方法的第一条语句默认都是:super();this(...)或者super(...)必须出现在第一条语句上父子都有静态代码块、构造代码块、构造方法,优先执行静态代码块且先父后子 === 父的构造代码块 === 父的构造方法 === 子的构造代码块 === 子的构造方法 多态

前提

有继承或者实现关系有方法重写有父类或者父接口引用指向子类对象成员变量和成员方法都是编译看左边,运行看右边静态方法:编译和运行都看左边,因为静态算不上重写

API常用类 StringBuffer

append(...) / delete(...) / replace(...) //表示有参数反转功能:reverse()subString(...) //返回值是string String

String s7 = "abcde",如果s6和s7都是以这种方式命名,那两者的地址值是相等的,==为true字符串拼接用+,也可以用concat按字典顺序比较两个字符串:int compareTo(String str) Integer

Integer.parseInt("100", 2) 二进制到十进制 正则表达式

String regex ="[1-9][0-9]{4,14}";
boolean flag = qq.matches(regex);
Math

int round(float a) 四舍五入(Math.round(...)) Random

int nextInt(int n):返回的是[0,n)范围的内随机数 BigInteger

add() / subtract(...) / multiply(...) / divide(...) BigDecimal

不可变的、任意精度的有符号十进制数,可以解决数据丢失问题 Date/DateFormat

SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
String s = sdf.format(d); //格式化
Date dd = sdf2.parse(str); //去格式化

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/732746.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号