一、目前用的JDK版本为 JDK 8.0

之前JDK的版本号是1.0,  1.1,  1.2,1.3, 1.4,  1.5

之后就变成了 5.0  ,6.0,   7.0, 8.0······

二、JAVA的三个平台版本

JAVASE   (Standard Edition)  标准版 --开发普通桌面和商务应用程序

JAVAME  (Micro Edition)  小型版--开发移动设备和嵌入式设备(电器、机器人、机顶盒…)

JAVAEE  (Enterprise Edition)企业版 --开发企业环境下的应用程序,主要针对于Web应用程序开发

三、特点

简单性     高效性     编译性     解释性     面向对象    分布式处理     健壮性     安全性     开源     跨平台    

跨平台性:Java程序是由JVM负责运行。在不同的操作系统上,只要安装不同版本的JVM,相同的JAVA程序即可完美的移植到不同的平台,不需要再次编译,节省了时间和人力。

 

四、安装JDK

 

JDK   有3部分:

 

1.Java开发工具(jdk\bin)

 

2.基础开发库(jdk\jre\lib\rt.jar)

 

3.基础开发库的源码(jdk\src.zip)

 

 

安装到半道时会让你选择JRE的安装文件夹,记得提前新建好。

 

安装完设置:

 

 

JAVA_HOME  (D:\java\jdk)

PATH  (D:\java\jdk\bin)

CLASSPATH 不用配置

五、JDK,JRE,JVM的关系

1.JDK---是整个Java的核心,包括了Java运行环境JRE、Java工具和Java基础类库。

2.JRE---运行JAVA的运行时环境,包含JVM和Java核心类库。

3.JVM---虚拟机,运行以Java语言写作的软件程序。

 

六、验证是否安装成功

dos下    java   -version

成功显示版本号 就成功了。

七、Eclipse命名

先手动建个workspace

包名:全小写  建议公司域名倒着写     例:cn.badu.day01

类名:驼峰规则  见名知意   例:HelloWorld

八、数据类型

1.标识符:给类,方法,变量等起名字时用的,可以有(  字母    数字   _     $   )不能以数字开头。

2.关键字  不能被用作标识符,共有53个(其中const和goto先保留着)。

3.基本类型(8种) 

 

 

 

  • 类型转换  (小 -> 大  直接转) (大 -> 小  强制转换)    小数转成整数时,小数部分直接舍弃

 

  • Java中直接用浮点运算时会不精确,需用API中的BigDecimal工具。

 

九、运算符

 

十、自增自减

 

十一、分支结构

  •     if ( 条件判断  ){

                       代码块

                  }else if{

             代码块

                  }

 

  •     switch ( 变量/表达式 )  {  //JDK 7.0以后还可以写String

    case  1 :               //想要从哪句跳出循环,就在哪句后面加个break。否则会依次向下穿透执行后面所有的语句

              case  2 :

              case  3 :

    default :

    }

 

十二、循环结构

  •   for循环

  •  foreach循环

 

 

 

  •   while循环   ---先判断,再执行

             while( 执行条件 )  {//当执行条件判断的结果为true时,就开始执行代码

    代码······

    } 

 

  •  do-while循环   先执行一次代码,再进行判断

  do {

    代码

    }  while (执行条件);

 

十三、局部变量

定义在方法里,或者局部代码块中。必须手动初始化,来分配内存,等方法运行完内存就释放了。

十四、成员变量

定义在类里,方法外。不用初始化,会自动被初始化成默认值。作用域是整个类,类消失了,变量才释放。

十五、方法的调用

  • 无参数 无返回值

  • 有参数  无返回值

 

 

  •  有参数   有返回值

 

 

十六、方法的重载 Overload

 注意  在参数类型不同的情况下,参数的个数相同,但位置不同,也算重载。IDE不报错。

     但  如果参数类型相同 ,参数个数也相同,只有位置不同时,就不算重载。IDE报错。

重不重载可以用IDE试一下就知道了。

 

 

 十七、数组Array

是用于存储多个   相同类型数据   的集合。下标从0开始。数组一旦创建好了,其长度(length)不可改变。

初始化数组的3种形式:

 

 

 数组的遍历:

 

 

 练习1:把[1,10]之间的整数 存入数组arr1中,最后用Arrays工具类中的toString方法将存入的元素用字符串表示出来(会提示导包-util包)

 

 

 练习2: 在[1,100]以内随机取5个整数,放入长度为5的数组arr1中 (会提示导包 .util.Random)

 

十八、数组工具类

Arrays.to String( 数组名称 )       把数组中的元素,用逗号连接成一个字符串

Arrays.sort( 数组名称 )      给数组中的元素排序

      对于基本类型的数组,使用优化后的快速排序算法。

      对引用类型数组,使用优化后的合并排序算法。

Arrays.copyOf( 数组名称,新的长度 )     把数组复制成一个指定长度的新数组

      新数组长度  大于  原数组  时  ,相当于把原数组复制,并增加位置,多出来的位置会自动用0补充。----数组的扩容

      新数组长度  小于  原数组  时  ,相当于把原数组从头开始截取,截取一部分数据。 ----数组的缩容

 

---综合测试:

 

十九、冒泡排序

 

图解