复习巩固Java基础

1.Dos命令


1盘符切换


D:

2.查看当前目录下的所有文件


dir

3.切换目录


cd

2.Java数据类型分为两大类


1.基本类型


数值类型

整数类型

byte占1个字节范围:-128-127

short占2个 -32768-32767

int 占3个 -2147483648-2147483647

long占8个 long num=30L 后面要加L

浮点类型

float占4个字节 float num=50.1f 后面要加F或f

double 占8个

字符类型

char 占两个

boolean类型:

占1位 只有true/false

2.引用类型


类,接口,数组

3.拓展知识


String不是关键字,它是一个类

银行业务

最好避免完全使用浮点数进行比较 float(有限 离散 舍入误差 大约 接近但不等于)

银行业务用BigDecimal 一个数学工具类

字符本质是数字 编码Unicode表 \u0061 (a)

StringBuffer 可变长 append(),多线程数据量大时使用,效率低,安全

StringBuilder 单线程数据量大时使用,效率高,不安全

3.进制转换


1bit(位)表示1位

1Byte表示一个字节 1B(字节)=8b

1024B=1KB

1024KB=1M

1024M=1G

二进制用0b(零b)开头

八进制0(零)开头

十六进制 0x(零x)开头

4.变量


命名规范

类成员变量/局部变量/方法名:驼峰命名

常量:大写字母和下划线:MAX_VALUE

类名:首字母大写+驼峰命名:GoodMan Man

实例变量调用

publicclassTest {

inti;

publicstaticvoidmain(String[] args) {

Testtest=newTest();

System.out.println(test.i);

}

}

在类中加入static修饰符就可以直接调用

publicclassTest {

staticinti;

publicstaticvoidmain(String[] args) {

System.out.println(i);

}

}

常量 final

//修饰符不区分前后顺序

staticfinaldoublePI=3.14;

//final static double PI=3.14;

publicstaticvoidmain(String[] args) {

System.out.println(PI);

}

5.运算符


位运算符 & , | , ^ , ~, >> , << (效率极高)

A=0011 1100

B=0000 1101

A&B(A与B)=0000 1100 同1为1

A|B(A或B)=0011 1101 有1为1

A^B(异或运算)=0011 0001 相同为0不同为1

~B(取反) = 1111 0010

左移相当于 *2

右移相当于 /2

2<<3 (2左移3位) =16

0000 0010 2

0001 0000 16

很多运算用工具类Math

Math.pow( , )幂运算

Math.random()生成随机数

6.注释


javadoc命令用来生成自己API文档的

/**

* @author 作者名

* @version 版本号

* @since 指明需要最早使用的jdk版本

* @param 参数名

*

*/

在网上可以查找API

7.选择结构


switch(expression){

casevalue:

语句

break;

default:

语句

}

//continue

8.可变参数


JDK1.5开始支持

在方法声明中,在指定参数类型后加一个省略号(…)三个点

一个方法中只能指定一个可变参数,它必须是方法的最后一个参数。任何普通的参数必须在它之前声明。

publicclassDemo {

publicstaticvoidmain(String[] args) {

Demodemo=newDemo();

demo.test(1,5,9,5);

}

publicvoidtest(int... i){

for (inti1 : i) {

System.out.println(i1);

}

}

}

9.递归


递归会调用大量方法,占用内存,尽量不用。

5的阶乘

publicclassDemo {

publicstaticvoidmain(String[] args) {

Demodemo=newDemo();

//5!

System.out.println(demo.f(5));

}

publicintf(inti){

if(i==1){

return1;

}else {

returni*f(i-1);

}

}

}

10.数组


动态初始化int[] num=new int[10];

静态初始化 int[] num ={1,1,2}

数组变量属于引用型,可以看做对象,在堆中

越界报错:ArrayIndexOutofBounds

num[行][列]

Arrays工具类需要导包,java.util.Arrays

Arrays.sort(num) 排序从小到大

Arrays.toString(num) 打印

fill方法 填充

equals 判断元素是否相等

binarySearch方法能对排好序的数组进行二分查找

二维数组遍历

int[][] a=newint[3][3];

for (int[] ints : a) {

System.out.print(Arrays.toString(ints)+"\t\n");

}

System.out.println("\n====================================");

for (int[] ints : a) {

for (intanInt : ints) {

System.out.print(anInt+"\t");

}

System.out.println();

}

11.继承


instanceof 可以判断两者是否为父子关系

System.out.println(object1 instanceof object2)

12.代码块


publicclassDemo {

{

System.out.println("匿名代码块");

}

static {

System.out.println("静态代码块");

}

publicDemo(){

System.out.println("构造方法");

}

publicstaticvoidmain(String[] args) {

Demodemo1=newDemo();

Demodemo2=newDemo();

}

}

/**输出结果

静态代码块

匿名代码块

构造方法

=======

匿名代码块

构造方法

**/

创建对象时,通常情况下构造方法最先执行,在本案例中,静态代码块随类一起解析,第一个被执行,下来是匿名代码块,下来是构造方法。静态的只执行一次。

13.异常


inta=1;

intb=0;

try {

System.out.println(a/b);

}catch (ArithmeticExceptione){

System.out.println("出现异常");

}finally {

System.out.println("aa");

}

java.lang.Throwable作为异常的超类,分为Error和异常Exception

catch(想捕获的异常类型)

多个catch时,最大的异常要写在最下面。

finally 一般是善后工作,无论在什么情况下都会执行,在IO流中等,资源关闭使用。

假设这个方法中处理不了这个异常,可以throw主动抛出异常

throw使用在方法体中, throws在方法上使用

14.IO流


字节流


输出:OutputStream
输入:InputStream

字符流(中文一定要用)


输出:Reader
输入:Writer

节点流


CharArrayReader,Writer,inputstream,outputstream

StringReader,Writer

pipe(管道流),PipedOutputstream

File

处理流


buffer

bufferOutputStream

bufferInputStream

bufferReader

bufferWriter

data

DataOutputStream

DataInputStream

Object流

转换流

InputStreamReader

OutputStreamWriter

Filter

四个

print

PrintWriter

PrintStream

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值