JAVA根底

概述

发展史

Sun公司于1995年推出

1991年sun公司James Gosling等人开始开发Oak语言

1994年,将Oak语言更名为Java

1996年取得第一笔投资1亿元

1998年提出jdk1.2,更名为java2

之后推出jdk1.3 jdk1.4

2005年更名为jdk5.0,进行了大幅的版本改良

2006年sun公司发表将Java作为免费软件对外公布

2007年3月起,全世界所有的开发人员均可对Java源代码进行批改

2007年推出jdk6.0

2009年4月Oracle以74亿美元收买了sun公司

2011年7月由Oracle正式公布jdk7

2014年3月正式公布了java8

Java版本

J2SE(Java 2 Platform Standard Edition)标准版

是为开发一般桌面和商务应用程序提供的解决方案,该技术体系是其余两者的根底,能够实现一些桌面应用程序的开发。

J2ME(Java 2 Platform Micro Edition)小型版

是为开发挪动设施和嵌入式设施(电器、机器人、机顶盒…)提供的解决方案。

J2EE(Java 2 Platform Enterprise Edition)企业版

是为开发企业环境下的应用程序提供的一套解决方案,该技术体系中蕴含的技术如 Servlet、Jsp等,次要针对于Web利用程序开发。

Java之父:詹姆斯·高斯林

计算机根底

计算机组成

输出设施:将人们相熟的信息转换为机器辨认的信息,如键盘 运算器:实现算术运算和逻辑运算并将的两头后果暂存在运算器内 存储器:存放数据和程序,如内存 控制器:管制,指挥程序和数据的输出,运行以及解决运行后果,如CPU 输出设备:将机器运算后果转为人相熟的信息模式,如打印机

冯诺依曼结构

人机交互形式

图形化界面:这种形式简略直观,使用者易于承受,容易上手操作。

命令行形式:须要有一个控制台,输出特定的指令,让计算机实现一些操作。较为麻烦,须要记录住一些命令。

根底语法

关键字

  • 53个关键字

    • 51不能用作标识符

      abstract, assert, boolean, break, byte, case, catch, char, class, const, continue, default, do, double, else, enum, extends, final, finally, float, for, if, implements, import, instanceof, int, interface, long, native, new, package, private, protected, public, return, short, static, strictfp, super, switch, synchronized, this, throw, throws, transient, try, void, volatile, while

    • 两个保留字:const和goto

标识符

  • 给类、接口、办法、变量等起的名字
  • 命名规定

    • 由字母,数字,_,$组成,数字不能结尾
    • 见名知意,严格辨别大小写
    • 不能和关键字以及保留字抵触
    • 驼峰命名规定

      • 类名每个首字母大写
      • 变量和办法名从第二个单词开始首字母大写
      • 命名常量全大写,多个单词用下划线隔开

运算符

  • 算数运算符

        • / 根本运算 % 取余数,求模,算整除 ++ -- 自增 自减
  • 比拟运算符

    == 相等比拟 != 不等比拟

  • 连贯运算符

    • 字符串连贯 “abc”+”xyz”=”abcxyz”
  • 逻辑运算符

    && & 逻辑与(短路与),两边同为真后果才为真 || | 逻辑或(短路或),两边只有有一个真后果就是真 ! 非,非真是假,非假是真

  • 三元运算符

    c ? x : y 三项运算 c?x:y c是真取返回x,是假返回y

  • 赋值运算符

    = 赋值运算 +=、-=、*=、/= 复合的赋值运算 a+=2; 等价于 a=a+2 写法简洁

字面量

  • 整形字面量:100、100L
  • 浮点型字面量:3.5、3.5F
  • 字符字面量:‘a’、‘\t’、'\123'
  • 布尔型字面量:true、false
  • 援用型字面量:null
  • 类型字面量:String.class、int.class

数据类型

  • 根本类型

    • 整数

      • byte

        1

        -27到27-1 或者 -128到127

      • short

        2

        -215到215-1

      • int

        4

        -231到231-1

      • long

        8

        -263到263-1

    • 小数

      • float

        4

        单精度,对小数局部的精度要求不高

      • double

        double

        8

        双精度,准确的小数局部并操作值很大时

    • char

      2

      0到65535

    • boolean

      boolean

      1

      真true 假false

  • 枚举类型

    • emum
  • 援用类型

    • String
    • 数组
    • 自定义的类或接口

数组

根本用法

  • 定义

    数组Array是用于贮存多个雷同类型数据的汇合。

  • 初始化

    • 动静初始化

      int[] a = new int[5];

    • 动态初始化

      动态初始化1:int[] a ={1,2,3,4,5,6,7,8}; 动态初始化2:int[] a =new int[]{1,2,3,4,5};

  • length属性

    • 数组的长度

      Ø length属性获取数组长度

      Ø 数组一旦创立,长度不可变

      Ø 容许0长度的数组

  • 数组的遍历

    • for

      for(int i=0;i<a.length;i++){

        syso(a[i]);

      }

    • for each

      for(int i:arr){ system.out.println(i); }

Arrays工具类

  • toString:将数组变为字符串
  • sort:排序
  • copyOf:拷贝、数组扩容
  • equals:比拟数组元素是否相等

流程管制

循环构造

  • 分类

    • while循环

      先判断在执行

    • do...while循环

      先执行在判断,至多执行一次

    • for循环/for-each循环

      for(…){

        for(…){

      }

      }

  • 关键字

    • break

      • 跳出循环
    • continue

      • 跳过循环

分支构造

  • if...else

    单分支:

    if(判断条件){

      代码。。。

    }

    多分支:

    if(判断条件){

      代码1。。。

    }else{

      代码2。。。

    }

    嵌套分支:

    if(判断条件1){

      代码1。。。

    }else if(条件2){

      代码2。。。

    } else if(判断条件3){

      代码3。。。

    }else{

    代码4。。。

    }

  • switch..case..default

    当一个case成立,从这个case向后穿透所有case,包含default,直到程序完结或者遇到break程序才完结。

程序构造

办法

概述

被命名的代码块,办法能够含参数能够不含参数

能够进步代码的复用性

模式

修饰符 返回值 办法名(【参数】){

办法体;

}

调用

  • 静态方法:类名。办法名.(实参列表)
  • 非静态方法:对象.办法名(实参列表)

拜访修饰符返回类型([参数列表])[异样申明]

拜访修饰符

  • public
  • protected
  • default
  • private

修饰符

  • static

    • 静态方法
  • abstract

    • 抽象类
  • final

    • 润饰变量:变量成常量
    • 润饰类:类不能被继承
    • 润饰办法:办法不能被重写
  • native

    • 与java环境外交互
  • synchronized

    • 对类的以后实例进行加锁

java基本知识

特点

  • 面向对象
  • 跨平台

    什么是跨平台性?

    通过Java语言编写的应用程序在不同的零碎平台上都能够运行。

    原理是什么?

    只有在须要运行java应用程序的操作系统上,先装置一个Java虚拟机(JVM Java Virtual Machine)即可。由JVM来负责Java程序在该零碎中的运行。

    因为有了JVM,所以同一个Java程序在三个不同的操作系统中都能够执行。这样就实现了Java程序的跨平台性。也称为Java具备良好的可移植性。

    • 外围劣势
  • 分布式
  • 多线程
  • 安全性

工作形式

  • 编译

    通过javac命令将java的源文件也就是.java文件编译成.class文件。

  • 执行

    先启动java虚拟机,不同的操作系统有不同的jvm,因而java跨平台。

    再通过JVM加载HelloWorld.class字节码文件。并加载main办法执行程序。

开发工具

  • JDK

    • javac
    • java
    • javadoc
  • IDE

    • Eclipse
    • Intellij

重要术语

  • JDK

    Java Development Kit是针对Java开发员的产品,是整个Java的外围,包含了Java运行环境JRE、Java工具和Java根底类库。

  • JRE

    Java Runtime Environment是运行JAVA的运行时环境,蕴含JVM和Java外围类库。

    • 分割

      JDK 蕴含JRE,JRE蕴含JVM。

  • JVM

    Java Virtual Machine,Java虚拟机的缩写,是整个java实现跨平台的最外围的局部,可能运行以Java语言写作的软件程序。

  • 一次编写到处执行

    Java程序会被编译成字节码组成的class文件,这些字节码能够运行在任何平台,因而Java是平台独立的。

源程序构造

  • package

    • 治理类
    • 解决命名抵触
  • import
  • class

正文

  • 单行正文

    • //
  • 块正文

    • /_......._/
  • 文档正文

    • /_*....._/

      • @auther
      • @param
      • @return
      • @throws

XMind: ZEN - Trial Version
Xmind图: