小白的简单、免费Java基础教程,彻底简单、彻底免费、彻底零基础,彻底完整!!!!一整套Java基础教程将陆续发布!!!第1章    Java入门

1.1     Java语言概述

1.1.1   Java语言发展史(了解)

l  Java之父詹姆斯·高斯林(JamesGosling)和他的团队在SUN公司开发了Java语言.

l  SUN

      (Stanford University Network斯坦福大学网络公司

l  1995523日,Java语言诞生

l  19961       JDK1.0

l  19972       JDK1.1

l 199812JDK1.2(Java分成了J2SE,J2EE,J2ME)

l  20005       J2SE1.3

l 20022       J2SE1.4(1.4.2版本很多公司在使用)

l 200410 JDK1.5(改名JavaSE5.0,JavaEE,JavaME)

l  200612JavaSE6.0

l 20090420日,甲骨文(Oracle)74亿美元收购Sun

l 20117     JavaSE7.0(市场主流版本)

l  20143       JavaSE8.0

1.1.2   Java语言平台概述

l J2SE(Java 2 Platform StandardEdition)标准版

是为开发普通桌面和商务应用程序提供的解决方案,该技术体系是其他两者的基础,可以完成一些桌面应用程序的开发

Java基础 - 第一天  Java入门_常量

l J2ME J2ME(Java 2 Platform MicroEdition)小型版

是为开发电子消费产品和嵌入式设备提供的解决方案

Java基础 - 第一天  Java入门_数据类型_02

J2EE(Java 2 Platform Enterprise Edition)企业版

是为开发企业环境下的应用程序提供的一套解决方案,该技术体系中包含的技术如 ServletJsp等,主要针对于Web应用程序开发

Java基础 - 第一天  Java入门_变量_03Java基础 - 第一天  Java入门_常量_04

1.1.3   Java语言跨平台原理

l  平台:指的是操作系统(WindowsLinuxMac)

l  跨平台:Java程序可以在任意操作系统上运行,一次编写到处运行

java.class程序可以在不同操作系统上均可以运行。(java.class文件相当于Windows中的.exe文件,是可执行的程序)

l  原理:实现跨平台需要依赖Java的虚拟机 JVM Java VirtualMachine

Java基础 - 第一天  Java入门_常量_05

l  java语言是跨平台的,java虚拟机不是跨平台的。

1.1.4   JREJDK

Java基础 - 第一天  Java入门_入门_06

JDK : JRE+开发工具

JRE JVM+核心类库

JVM:保证语言的跨平台

1.2     常用DOS命令

l  打开控制台

按win + R,然后输入cmd,再按回车

Java基础 - 第一天  Java入门_变量_07

l  常用命令

: 回车      盘符切换 d:  c:

dir: 列出当前目录下的文件以及文件夹

Java基础 - 第一天  Java入门_数据类型_08

cd: (进入指定目录)

进入         cd 目录;cd 多级目录

回退         cd..   cd\

cls : (clear screen)清屏

exit : 退出dos命令行

运行应用程序:程序完整名称 参数

一个快捷方式,在目录上直接输入cmd就进入了当前目录的DOS界面

1.3     JDK的下载与安装

l  JDK的下载(不演示)

n  通过官方网站获取JDK

n  http://www.oracle.com

n  针对不同操作系统,下载不同的JDK版本

n  请参照(JDK下载安装文档.doc)回去练习

l  JDK的安装(演示)

n  傻瓜式安装,下一步即可。

n  建议:安装路径不要有中文或者特殊符号如空格等。开发工具最好安装目录统一。

1.4     HelloWorld案例

Java基础 - 第一天  Java入门_常量_09

 

第一步:创建Java程序的源文件,在里面编写符合java语法的代码;

第二步:使用javac.exe编译工具把.java文件编译成.class文件;

第三步:使用java.exe运行工具,解释执行.class程序;

1.4.1   HelloWorld案例的编写与运行

l 案例的代码编写

Java源代码编写只需要使用最普通的文本编辑器编写即可,例如Windows系统自带的notepad即可。

然后修改文件名称为HelloWorld.java,注意文件名称的大小写。以及是否已经修改了文件的扩展名。

n 首先定义一个类

    

        public class 类名

n 在类定义后加上一对大括号{}

n 在大括号中间添加一个主(main)方法/函数

      

        public static voidmain(String [] args){ }

n 在主方法的大括号中间添加一行输出语句

   

        System.out.println(“HelloWorld”);

n 完整代码:

        

        public class HelloWorld{
                public staticvoid main(String[] args){
                    System.out.println("HelloWorld");
                }
        }

 

l 案例的代码运行

n 编译

u 进行源文件所在目录:即进入D:\java目录;

u 我的JDK安装在D:\develop\Java\jdk1.7.0_51目录,那么编译器完整名称为:D:\develop\Java\jdk1.7.0_51\bin\javac.exe

u 我的源文件存放在:D:\java\HelloWorld.java

u 编译命令为:D:\java>D:\develop\Java\jdk1.7.0_51\bin\javac.exeHelloWorld.java

n 运行

u 进入字节码文件所在目录:即进入D:\java目录;

u D:\develop\Java\jdk1.7.0_51\bin\java.exeHelloWord

u 注意,在运行HelloWorld.class文件时不能给出“.class”,切记!!!

1.4.2   HelloWorld案例常见问题

l 后缀名问题

l 单词拼写问题

   正确的  错误的

n class   Class

n String  string

n System  system

n main    mian

l 中文符号问题

n 提示非法字符

1.5     NotePad++软件安装和配置

l 为了让我们写的程序错误看起来更直接,我们安装一款高级记事本软件。

    Notepad++

l Notepad软件的安装和配置

    设置 首选项 新建 默认语言(修改为java)和编码(修改为ANSI)

l 使用Notepad软件编写一个HelloWorld案例

1.6     Path环境变量配置

l 为什么要配置

 为了告诉操作系统,javac.exejava.exe工具文件在哪个目录下可以找到.

n 我们发现每次程序编译与运行都要输入D:\develop\Java\jdk1.7.0_51\bin后,才能使用javac.exejava.exe,这样的方式很麻烦,那么,能否不输入D:\develop\Java\jdk1.7.0_51\bin呢?是可以的,通过配置WindowsPATH环境变量来完成。

n 我们配置path的目的是让Javabin目录下的.exe命令可以在任意目录下执行,无需进入到javac所在的目录就可以找到javac.exe命令,方便完成程序。

l 如何配置

n 创建新的变量名称:JAVA_HOME

计算机-右键属性-高级系统设置-高级-环境变量-系统变量

n JAVA_HOME添加变量值:JDK安装目录

n path环境变量最前面添加如下内容

%JAVA_HOME%\bin;

1.7     注释

l 注释概述

n 用于解释说明程序的文字

l 注释分类

n 单行注释

    格式: //注释文字

n 多行注释

    格式: /*  注释文字  */

n 文档注释

  格式:/** 注释文字 */

l 注释作用

n 解释说明程序,提高程序的阅读性

    public class Demo02ZhuShi {
        /*
        这是main(主)方法,是程序执行的入口
        所有的代码执行都是从main方法开始的
        */
        publicstaticvoidmain(String[] args) {
            //这是输出语句,作用是吧()中的内容打印到控制台
            System.out.println("HelloWorld");
        }
    }

1.8     关键字

l 关键字概述

n 关键字是被Java语言赋予特殊含义,具有专门用途的单词,比如之前接触的classpublicstaticvoid均为Java已经预设好的。你可以先把Java关键字理解为“命令”!

l 关键字特点

n 组成关键字的字母全部小写

n 常用的代码编辑器,针对关键字有特殊的颜色标记,非常直观,所以我们不需要去死记硬背,在今后的学习中重要的关键字也会不断的出来。

l java中的所有关键字展示

Java基础 - 第一天  Java入门_数据类型_10

第2章     常量

l 常量概述

n 在程序执行的过程中,其值不可以发生改变的数据;

l 常量分类

n 字符串常量  用双引号括起来的内容(HelloWorld"123","a123","中国","","","5")

n 整数常量   所有整数(12,-23)

n 小数常量    所有小数(12.34)

n 字符常量   用单引号括起来的一个字符(a,A,5,' ','',' ')

n 布尔常量   较为特有,只有truefalse

n 空常量     null(数组部分讲解)

 示例代码:

    public  class Const {    
        publicstaticvoid main(String[] args) {
            //字符串常量
            System.out.println("HelloWorld");
           
            //整数常量
            System.out.println(12);
            System.out.println(-23);
           
            //小数常量
            System.out.println(12.34);
           
            //字符常量
            System.out.println('a');
            System.out.println('0');
           
            //布尔常量
            System.out.println(true);
            System.out.println(false);
        }
    }
第3章     变量

l 变量概述

n 在程序执行的过程中,在某个范围内其值可以发生改变的量

n 从本质上讲,变量是内存中储存数据的区域,你能用它来存数据和取数据,还可以改变这个数据。

n 图解:

Java基础 - 第一天  Java入门_变量_11

l 变量定义格式

n 数据类型变量名 = 初始化值;

n 注意:格式是固定的,记住格式,以不变应万变

3.1     计算机存储单元

l 变量是内存中的小容器,用来存储数据。那么计算机内存是怎么存储数据的呢?无论是内存还是硬盘,计算机存储设备的最小信息单元叫“位(bit)”,我们又称之为“比特位”,通常用小写的字母b表示。而计算机最小的存储单元叫“字节(byte)”,通常用大写字母B表示,字节是由连续的8个位组成。

l 除了字节外还有一些常用的存储单位,大家可能比较熟悉,我们一起来看看:

    1byte(B)(字节) = 8bit

    1KB = 1024B

    1MB = 1024KB

    1GB = 1024MB

    1TB = 1024GB

    1PB = 1024TB

3.2     数据类型概述

l 数据类型分类

        |-基本数据类型

          |-数值型

            |-整数类型byte,short,int,long

             |-浮点(小数)类型float,double

                  |-字符型char

                 |-布尔型boolean

        |-引用数据类型

          |-class

          |-接口interface

          |-数组[] 集合

        

l 基本数据类型(48)

四类

八种

字节数

数据表示范围

整型

(精确)

 

byte

1

-128~127   

short

2

-32768~32767

int(默认)

4

-2147483648~2147483647

long

8

-263~263-1

浮点型

(不精确)

float

4

-3.403E38~3.403E38

double(默认)

8

-1.798E308~1.798E308

字符型

char

2

表示一个字符,如('a','A','0','家')

布尔型

boolean

1

只有两个值true与false 

l 注意事项:

     A:整数默认是int类型,浮点数默认是double

     B:定义long类型数据的时候,要在数字的后面加L或者l,建议加L

     定义float类型数据的时候,要在小数的后面加F或者f,建议加F

     C:字符

       Java中的字符采用的是unicode编码,每一个字符占用两个字节,就可以存储一个汉字

     D:boolean类型适用于逻辑运算,一般用于流程控制

3.3     标识符

l 作用

    给包,,方法,变量等取的名字

l 组成规则

    由字符,下划线_,美元符$组成

    这里的字符采用的是unicode字符集,所以包括英文大小写字母,中文字符,数字字符等。

l 注意事项

    不能以数字开头

    不能是Java中的关键字

 

l 命名规则

n 基本要求

    见名知意

n 常见命名的规则

u  (其实就是文件夹,用于对类进行管理)

    全部小写,多级包用点隔开。公司域名的反写.

    jdguigu.com写成com.jdguigu    

u 

    一个单词首字母大写,如 Student,Car;

    多个单词,每个单词首字母大写,如HelloWorld

    这种命名方式叫大驼峰式命名.

u 变量或者方法

    一个单词首字母小写,如age,show()

  多个单词,从第二个单词开始每个单词首字母大写,如maxAge,getAge()

  这种命名方式叫小驼峰式命名.

      public class BiaoZhiFu {
        public static void main(String[] args) {
            //定义变量
            //数据类型变量名 = 初始化值;
            inta = 10;
           
            //正确
            intb2 = 20;
            //错误
            //int2b = 30;
           
            //不能是java中的关键字
            //错误
            //intpublic = 40;
        }
       }

3.4     基本数据类型变量的定义和使用

l 编写案例演示每种不同数据类型的变量定义

    publicclass Demo07Variable {

        publicstaticvoidmain(String[] args) {

            //定义byte类型的变量

            byte b = 99;

            System.out.println(99);

            System.out.println(b);

           

            //定义short类型的变量

            shorts = 10000;

            System.out.println(s);

           

            //定义int类型的变量

            inti = 1600000000;

            System.out.println(i);

           

            //定义long类型的变量

            longl = 6000000000L;

            System.out.println(l);

           

            //定义float类型的变量

            floatf = 12.34F;

            System.out.println(f);

           

            //定义double类型的变量

            doubled = 12.34;

            System.out.println(d);

           

            //定义char类型的变量

            charc = 'a';

            System.out.println(c);

           

            //定义boolean类型的变量

            booleanbb = false;

            System.out.println(bb);

    }

}

3.5     变量定义的注意事项

l 变量未赋值,不能直接使用

         引出变量的第二种使用格式

l 变量只在它所属的范围内有效。

         定义变量在哪对大括号内,变量就属于哪对大括号

l 如果定义的变量数据类型相同,一行上可以定义多个变量,但是不建议

   public class VariableDemo {

     public static void main(String[] args) {

            //定义变量

            inta = 10;

            System.out.println(a);

           

            //变量未赋值,不能使用

            intb;

            b =20; //变量在使用前赋值都是可以的

            System.out.println(b);

           

            //变量只在它所属的范围内有效

            {

                intc = 100;

                System.out.println(c);

            }

            //System.out.println(c);

           

            //一行上可以同时定义多个变量,但是不建议

            /*

            intaa,bb,cc;

            aa = 10;

            bb = 20;

            cc = 30;

            */

           

            int aa=10, bb=20, cc=30;

        }

}