0-java基础

java基础

0.前言

java特性和优势

  • 简单性
  • 面向对象
  • 可移植性
  • 高性能
  • 分布式
  • 动态性
  • 多线程
  • 安全性
  • 健壮性

java三大版本

  • JavaSE :标准版(桌面程序,控制台开发…)
  • JavaME :嵌入式开发(手机,小家电…)
  • JavaEE :企业级开发(web端,服务器开发…)

JDK,JRE,JVM

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tFZDlI2Q-1621238022817)(assets/JdkJreJvm.webp)]

JDK安装

IDEA

IDEA官网

1.java

1.1.java基础

注释
  • 单行注释
  • 多行注释
  • 文档注释
标识符
  • 关键字
  • 自定义
数据类型
基本类型
	数值类型
		整数 byte (1B) -128~127
		    short (2B) -32,768~32,767
		    int (4B) -2,147,483,648~2,147,483,647
    		long (8B)
		浮点 float (4B)
    		double (8B)
		字符 char (2B)
	布尔类型 boolean
引用类型
	类
	接口
	数组

关于浮点

BigDecimal 数学工具类 (避免浮点数比较因误差而出错,应用场景:银行业务)

字符拓展

所有字符本质是数字

Unicode编码 2字节 0~65535

u0000~ uffff : char c = ‘\u0061’

转义字符 \t \n …

类型转换

自动转换:byte, short, char → int → long → float → double

强制转换:

byte b = 2;
int i = (int) b;

1.不能对布尔值转换

2.不能把对象类型转换为不相干类型

3.可能丢失精度

//JDK7 新特性,数字可用下划线分割
int i = 10_0000_0000;
变量,常量,作用域
//type varName [=value] [{,varName[=value]}];
int var;

//常量
final int v;


运算符
//算术
+  -  *  /  %  ++  --
//赋值
=
//关系
>  <  >=  <=  ==  !=  instanceof
//逻辑
&&  ||  !
//位
&  |  ^  ~  >>  <<  >>>
//条件
?:
//扩展
+=  -=  *=  /=
    
/**
*instanceof
*二元运算符,左边是对象,右边是类,当对象是右边类或子类所创建的对象时,返回true,否则返回false
*说明:
* 1.类的实例包含本身的实例,以及所有直接或间接子类的实例
* 2.instanceof 左边显示声明的类型与右边操作元必须是同种类或存在继承关系,也就是说需要位于同一个继承树,否则会编译错误
*
*用法:
* 1.左边的对象实例不能是基础数据类型
* 2.左边对象实例和右边类需在同一个继承树上
* 3.null instanceof 任何类 结果都是false 
*/

取余运算符

//整数 小数 正负数 均满足:
a % b = a - ((int)(a/b))*b  //(int) 准确来说是除去小数部分

移位

a<<1  a*2
a>>1  a/2
包机制
javadoc

1.2.java流程控制

//java 标签

labelName: while(1){
	//...
	labelName2:while(1){
		//...
		break labelName; //将跳出外层循环
	}
}
Scanner
Scanner scanner = new Scanner(System.in);
顺序结构
选择结构
循环

1.3.方法

1.4.数组

//数组工具类
Arrays 

1.5.面向对象

父类,子类同名成员变量

public class SuperClass {
    public String name="super";
}

public class SubClass extends SuperClass{
    public String name="sub";
//    public String superName = super.name;

    public static void main(String[] args) {
        SubClass sub = new SubClass();
        SuperClass sub2 = new SubClass();

        System.out.println(sub.name);
        System.out.println(sub2.name);

        sub2.name = "hello";
        System.out.println(sub2.name);
    }
}

//程序输出为
sub
super
hello

1.6.异常 Exception

  • 检查性异常
  • 运行时异常
  • ERROR
//异常处理五个关键字
// try catch finally throw throws
//自定义异常
//继承Exception类
class MyException extends Exception{
	public MyException(){
		super();
	}
	
	@Override
	public Stirng toString(){
		return "your message";
	}
}

1.7.常用类和集合框架

常用类
    Object
    Math
    Random
    File
    包装类
    Date SimpleDateFormat Calendar
    String
    StringBuffer   //多线程数据量大,效率低,安全
    StringBuilder  //单线程数据量大,效率高,不安全
集合框架  //Iterator 迭代器类
    Collection	
    	List
    		ArrayList
    		LinkedList
    		Vector
    		Stack
    	Set
    		HashSet
    		TreeSet
    	Iterator
    Map
    	HashMap //重点,面试高频问点 JDK1.7:数组+链表,JDK1.8:hash表=数组+链表+红黑树
    	TreeMap
    Collection工具类
IO流
    字节流
    	OutputStream
    	InputStream
    字符流
    	Reader
    	Writer
    节点流
    	CharArrayReader
    	CharArrayWriter
    	
    	StringReader
    	StringWriter
    
    	PipedOutputStream
    Object流
    处理流
    	BufferedInputStream //buffer
    	BufferedOutputStream
    	BufferedReader
    	BufferedWriter
    
    	DataInputStream  //data
    	DataOutputStream
    
    	InputStreamReader  //转换流
    	OutputStreamWriter
    
    	Filter
    
    	PrintWriter  //print
    	PrintStream

utputStream
Object流
处理流
BufferedInputStream //buffer
BufferedOutputStream
BufferedReader
BufferedWriter

	DataInputStream  //data
	DataOutputStream

	InputStreamReader  //转换流
	OutputStreamWriter

	Filter

	PrintWriter  //print
	PrintStream



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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值