java基础123

一 java介绍
1 程序员的工作 需求调研 需求评审 开发代码
2 常用的dos命令
Window+R,cmd 进入DOS窗口
默认是在c盘下,可以切换盘符。
e: 切换盘符,进入e盘
dir 列出当前目录下的目录和文件
cd java 进入java目录
cd … 退到上层目录
cd / 退到根目录
exit : 退出dos命令行
cls : (clear screen)清屏
3 java语言的开发者 詹姆斯·高斯林
4 java通过jvm实现跨平台性,jre为java运行时类库,包含jvm和java核心类库,jdk为java开发工具包
5 jdk与eclipse的安装,配置环境变量
6 helloworld

package helloWord;

public class hello {
public static void main(String[] args) {
	 System.out.println("helloworld");
}
}

二 java语言基础
1 数据类型
1.1 标识符
标识符可以由字母、数字、下划线(_)、美元符($)组成,但不能包含 @、%、空格等其它特殊字符。
不能以数字开头。
标识符是严格区分大小写的。
标识符的命名最好能反映出其作用,做到见名知意。
1.2 关键字 例:abstract
1.3 注释
//单行注释
/* 多行注释 /
/
* 文档注释 */
1.4 变量
1.5 基本类型(八种)
byte,short,int,long,float,duble,char,boolen
1.6 引用类型
1.7 字面值后缀

long a = 999999999999L;
float b = 3.0F;
double d = 3D;

1.8 类型转换
隐式转换(小转大)

byte  b = 5;
long a = b ;

显示转换(大转小)

float  d = 20;
  long c = (long)d ;

1.9 运算规则(5条)
计算结果的数据类型,与最大类型一致
byte,short,char三种比int小的整数,运算时会先自动转换成int
整数运算溢出
浮点数运算不精确
浮点数的特殊值
2 运算符
3 顺序结构,分支结构,循环结构
break: 中断当前循环,简单粗暴
continue:跳出本次循环,进入下一轮
4 变量
5 方法
6 数组
6.1 数组的初始化

int[] a = new int[5];
int[] b = new int[]{1,2,3,4,5};
int[] c = {1,2,3,4,5};

6.2 数组工具类arrays
Arrays.toString
Arrays.sort
Arrays.copyOf
三 面向对象程序设计
1 面向对象的三大特征
封装性,把相关的数据封装成一个“类”组件。
继承性,是子类自动共享父类属性和方法,这是类之间的一种关系。
多态,增强软件的灵活性和重用性。
2 类与对象
3 构造方法
利用构造方法为私有属性赋值

package helloWord;

public class guzao {
	public static void main(String[] args) {

		Person2 p = new Person2();

		Person2 p2 = new Person2("jack");

	}
}

class Person2 {

	private String name;

	public Person2() {

		System.out.println("无参构造");

	}

	public Person2(String n) {

		name = n;

		System.out.println(name);

	}

}

或者用封装的方法为私有属性赋值
4 封装

public class fenzhuang {
	public static void main(String[] args) {

		Student s = new Student();

		s.setName("王一博");

		System.out.println(s.getName());

	}
}

class Student {

	private String name;

	public void setName(String n) {

		name = n;

	}

	public String getName() {

		return name;

	}

}

5 继承
5.1 不能继承父类的私有成员
5.2 重写
父类中的私有方法不能被重写。
子类重写父类方法时,修饰符要大于等于父类修饰符的权限。
父类中的构造方法不能被子类继承。
6 多态
前提:继承+重写
静态资源不能重写
成员变量:使用的是父类的
成员方法:由于存在重写现象所以使用的是子类的
静态成员:随着对象而存在,谁调用的就返回谁的
7 this
7.1 当局部变量名 和 成员变量名 相同时,通过this调用本类的成员变量。
7.2 构造方法间的调用
this关键字,在构造方法中使用时,必须是第一条语句。
this代表本类对象的一个引用对象。

public class thistest {
	public static void main(String[] args) {

		Student2 s = new Student2();

		Student2 s2 = new Student2(10);

	}
}

class Student2 {

	public Student2() {

		this(20);

		System.out.println("无参构造");

	}

	public Student2(int age) {

		System.out.println("含参构造" + age);

	}

}

8 super
父类的变量super.count
父类的方法super.eat()
用super()调用父类的含参构造
super关键字使用在 构造方法中 ,位置上必须是第一条语句,类似于this,同一个构造方法中super和this只能出现一个
9 static
可以直接被类名调用
普通资源可以调用普通资源和静态资源
静态资源只可以调用静态资源不能调用普通资源
10 final
被final修饰的类,不能被继承
被final修饰的方法,不能被重写
被final修饰的变量是个常量,值不能被改变
常量的定义形式:final 数据类型 常量名 = 值
被final修饰的变量是个常量,必须在声明时初始化
11 静态代码块、构造代码块、局部代码块

public class Test6_Block {

    public static void main(String[] args) {

       //静态代码块 会优先 于对象 先加载进内存  ,第一时间执行静态代码块

       Teacher t = new Teacher();//先执行构造代码块再执行构造方法

       t.teach();//执行局部代码块

      

       Teacher t2= new Teacher();//先执行构造代码块再执行构造方法

    }

}

//创建Teacher类

class Teacher{

    //提供构造代码块

    {

       System.out.println("构造代码块");

    }

    //提供构造方法

    public Teacher() {

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

    }

    //提供局部代码块

    public void teach() {

       {

           System.out.println("局部代码块");

       }

    }

    //提供静态代码块:随着类的加载而加载。  而且只被加载1次。

    static{

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

    }

}

12 权限修饰符
public,protected,default,private
13 异常
14 抽象类
抽象类不能创建对象
15 接口
接口中不能有普通方法,如果你不写明是abstract的,那会自动补齐
接口中没有构造函数
接口中没有成员变量,都是常量,自动补齐public static final
四 面向接口编程(api)
1 object
所有对象的父类
常用方法
boolean equals(Object obj)
指示其他某个对象是否与此对象“相等”。
int hashCode()
返回该对象的哈希码值。
String toString()
返回该对象的字符串表示。
toString()方法的重写
2 string
常用方法
面试题:按照要求,利用string的常用方法操作一个字符串,从而得到一个新的字符串
3 StringBuilder/StringBuffer
StringBuffer线程安全,StringBuilder线程不安全
4 包装类
4.1 与基本类型对应的包装类
4.2 number
5 日期类Date
6 日期工具SimpleDateFormat
7 BigDecimal/BigInteger
五 io流
1 file文件流
2 字节流
2.1 读取
inputstream 抽象父类
fileinputstream子类
bufferedinputstream子类
2.2 写出
抽象父类 outputstream
fileoutputstream
bufferedoutputstream
3 字符流
3.1 读取
reader抽象父类
inputstreamreader子类
filereader子类
bufferedreader子类
3.2 写出
writer抽象父类
outputstreamwriter子类
filewriter子类
bufferedwriter子类
6 序列化与反序列化
ObjectOutputStream与ObjectInputStream
7 编码转换流
outputstreamwriter
inputstreamreader
字节流变字符流
六 集合
1 泛型
泛型的数据类型只能是引用类型,不能是基本类型
2 集合
collection
list linkedlist arraylist
set hashset
map hashmap
collections
七 多线程编程
1 一个进程中有多个线程
2 线程的生命周期
新建状态
就绪状态
运行状态
阻塞状态
死亡状态
3 线程的创建方式
继承thread类
实现runnable接口
4 同步锁
synchronized(对象){
需要同步的代码;
}
八 设计模式 注解 反射 内部类
1 单例设计模式 饿汉式 懒汉式
2 jdk注解,元注解,自定义注解
3 反射与暴力反射
4 内部类与匿名内部类
九 面向网络编程
服务器端 serversocket
客户端 socket

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值