01-01 前言、入门程序、常量、变量

第一章 开发前言


1.1 Java语言概述


什么是Java语言

Java语言是美国Sun公司(Stanford University Network),在1995年推出的高级的编程语言。所谓编程语言,是计算机的语言,人们可以使用编程语言对计算机下达命令,让计算机完成人们需要的功能。

Java语言发展历史

1995年Sun公司发布Java1.0版本

1997年发布Java 1.1版本

1998年发布Java 1.2版本

2000年发布Java 1.3版本

2002年发布Java 1.4版本

2004年发布Java 1.5版本

2006年发布Java 1.6版本

2009年Oracle甲骨文公司收购Sun公司,并于2011发布Java 1.7版本

2014年发布Java 1.8版本

2017年发布Java 9.0版本

Java语言能做什么

Java语言主要应用在互联网程序的开发领域。常见的互联网程序比如天猫、京东、物流系统、网银系统等,以及服务器后台处理大数据的存储、查询、数据挖掘等也有很多应用。




1.2 计算机基础知识


二进制

计算机中的数据不同于人们生活中的数据,人们生活采用十进制数,而计算机中全部采用二进制数表示,它只包含0、1两个数,逢二进一,1+1=10。每一个0或者每一个1,叫做一个bit(比特)。
下面了解一下十进制和二进制数据之间的转换计算。

  • 十进制数据转成二进制数据:使用除以2获取余数的方式

  • 二进制数据转成十进制数据:使用8421编码的方式

小贴士:
二进制数系统中,每个0或1就是一个位,叫做bit(比特)。

字节

字节是我们常见的计算机中最小存储单元。计算机存储任何的数据,都是以字节的形式存储,右键点击文件属性,我们可以查看文件的字节大小。

8个bit(二进制位) 0000-0000表示为1个字节,写成1 byte或者1 B。

  • 8 bit = 1 B
  • 1024 B =1 KB
  • 1024 KB =1 MB
  • 1024 MB =1 GB
  • 1024 GB = 1 TB
常用DOS命令

Java语言的初学者,学习一些DOS命令,会非常有帮助。DOS是一个早期的操作系统,现在已经被Windows系统取代,对于我们开发人员,目前需要在DOS中完成一些事情,因此就需要掌握一些必要的命令。

  • 进入DOS操作窗口
  1. 开始---所有程序-----附件----命令提示符
  2. windows + R 输入cmd,回车(enter
  3. shift + 鼠标右键
  4. 打开指定路径的黑窗口
    清除指定路径后输入cmd
    然后输入回车(enter)

按下Windows+R键盘,打开运行窗口,输入cmd回车,进入到DOS的操作窗口。

  • 打开DOS命令行后,看到一个路径 c:\user 就表示我们现在操作的磁盘是c盘。
  • 常用命令
命令 操作符号
盘符切换命令 盘符名:
查看当前文件夹 dir
进入文件夹命令 cd 文件夹名
退出文件夹命令 cd..
退出到磁盘根目录 cd \
清屏 cls
追加重定向创建文件 echo *** >> fileName
查看文件内容 type fileName
创建文件夹 mkdir directoryName
创建文件夹 md direatoryName
删除指定文件 del fileName
删除空文件夹 rd directoryName
打开已经创建好的文本文件 notepad fileName.txt
创建空文件 cd pathDirectory >> filename
删除非空文件夹 rmdir /s directoryName

第二章Java语言开发环境搭建


2.1 Java虚拟机一一JVM


  • JVM(Java Virtual Machine): Java虚拟机,简称JVM,是运行所有Java程序的假想计算机,是Java程序的运行环境,是Java最具吸引力的特性之一。我们编写的Java代码,都运行在JVM之上。
  • 跨平台:任何软件的运行,都必须要运行在操作系统之上,而我们用Java编写的软件可以运行在任何的操作系 统上,这个特性称为Java语言的跨平台特性。该特性是由JVM实现的,我们编写的程序运行在JVM上,而JVM 运行在操作系统上。

    如图所示,Java的虚拟机本身不具备跨平台功能的,每个操作系统下都有不同版本的虚拟机。一次编写(编译),到处运行。在某个操作系统平台上,开发,编译出来的字节码文件,可以在其他的所有操作系统平台上运行。

2.2 JRE 和 JDK


  • JRE (Java Runtime Environment):是Java程序的运行时环境,包含JVM和运行时所需要的核心类库。
  • JDK (Java Development Kit):是Java程序开发工具包,包含JRE和开发人员使用的工具。
    我们想要运行一个已有的Java程序,那么只需安装JRE即可。
    我们想要开发一个全新的Java程序,那么必须安装JDK。

小贴士:
三者关系: JDK > JRE > JVM

2.3 JDK9安装图解




小贴士:
安装路径中,不要包含中文和空格。

2.4 JAVA_HOME环境变量的配置


配置环境变量作用

开发ava程序,需要使用JDK中提供的工具,工具在JDK9安装目录的bin目录下。


在DOS命令行下使用这些工具,就要先进入到JDK的bin目录下,这个过程就会非常的麻烦。

不进入JDK的bin目录,这些工具就不能使用,会报错。

为了开发方便,我们想在任意的目录下都可以使用JDK的开发工具,则必须要配置环境变量,配置环境变量的意义 在于告诉操作系统,我们使用的JDK开发工具在哪个目录下。

配置环境变量步骤
Windows 7,8版本
  1. 计算机鼠标右键,选择属性
  1. 选择高级系统设置
  1. 高级选项卡,点击环境变量
  1. 点击新建,创建新的环境变量
  1. 变量名输入JAVA_H0ME,变量值输入JDK9的安装目录,例如:c:\Java9\jdk-9.0.1


6.选中Path环境变量,双击或者点击编辑


7.在变量值的最前面,键入%JAVA_HOME%\bin;分号必须要写,必须是英文格式。


8.环境变量配置完成,重新开启DOS命令行,在任意目录下输入javac命令,运行成功。

Windows 10版本
  1. 文件资源管理器--> 此电脑鼠标右键--> 选择属性
  1. 选择高级系统设置--> 选择 环境变量
  1. 点击下方系统变量的新建,创建新的环境变量,变量名输入JAVA_HOME, 变量值输入JDK9的安装目录 ,例如:D:\02_DevelopTools\Java\jdk-9 .0.1

4.选中Path环境变量,双击或者点击编辑

  1. 点击新建,键入%JAVA_HOME%\bin ,必须是英文格式。选中该行,上移到最上方,点击确定。
  1. 环境变量配置完成,重新开启DOS命令行,在任意目录下输入javac命令。

第三章HelloWorld入门程序

3.1 程序开发步骤(开发流程)说明


开发环境已经搭建完毕,可以开发我们第一个Java程序了。
Java程序开发三步骤:编写、编译、运行。
Java程序开发的三个步骤

javac.exe :编译器 java.exe :解释器

3.2编写Java源程序


  1. d:\day01目录下新建文本文件,完整的文件名修改为HelloWorld.java ,其中文件名为HelloWorld , 后缀名必须为 .java
  2. 用记事本打开

使用notepad++记事本软件。

  1. 在文件中键入文本并保存,代码如下:
public class HelloWorld {

    public static void main(String[] args) {
        System.out.println("Hello World!");
    }
}

文件名必须是HelloWorld ,保证文件名和类的名字是一致的,注意大小写。

每个字母和符号必须与示例代码一模一样。

第一个HelloWord源程序就编写完成了,但是这个文件是程序员编写的,JVM是看不懂的,也就不能运行,因此我 们必须将编写好的Java源文件编译成JVM可以看懂的字节码文件

3.3 编译Java源文件


在DOS命令行中,进入Java源文件的目录,使用javac命令进行编译。 命令:

javac Java源文件名.后缀名

举例:

javac HelloWorld.java

编译成功后,命令行没有任何提示。打开d:\day01目录,发现产生了一个新的文件HelloWorld.class,该文件就是编译后的文件,是Java的可运行文件,称为字节码文件,有了字节码文件,就可以运行程序了。

Java源文件的编译工具javac.exe,在JDK安装目录的bin目录下。但是由于配置了环境变量,可以再任意目录下使用。

3.4 运行Java程序


在DOS命令行中,进入Java源文件的目录,使用java命令进行运行。
命令:

java 类名字

举例:

java HelloWorld

java HelloWord 不要写 不要写 不要写 .class

Java程序.class文件的运行工具java.exe ,在JDK安装目录的bin目录下。但是由于配置了环境变量,可以再任意目录下使用。

3.5 入门程序说明


编译和运行是两回事
  • 编译:是指将我们编写的Java源文件翻译成JVM认识的class文件,在这个过程中,javac编译器会检查我们所写的程序是否有错误,有错误就会提示出来,如果没有错误就会编译成功。

  • 运行:是指将class文件交给JVM去运行,此时JVM就会去执行我们编写的程序了。

关于main方法
  • main方法:称为主方法。写法是固定格式不可以更改。main方法是程序的入口点或起始点,无论我们编写多少程序,JVM在运行的时候,都会从main方法这里开始执行。

3.6 添加注释comment


  • 注释:就是对代码的解释和说明。其目的是让人们能够更加轻松地了解代码。为代码添加注释,是十分必须要的,它不影响程序的编译和运行。

  • Java中有单行注释和多行注释

    单行注释以//开头 换行结束

    多行注释以/* 开头以*/ 结束

注意:多行注释中,/** 注释内容 */ 表示文档注释。

3.7 关键字 keywords


  • 关键字:是指在程序中,Java已经定义好的单词,具有特殊含义。
    • HelloWorld案例中,出现的关键字有public、class、 static、 void等,这些单词已经被Java定义好,全部都是小写字母,notepad++中颜色特殊。
    • 关键字比较多,不能死记硬背,学到哪里记到哪里即可。
  • 特点
    • 全部小写
    • 自己在命名类名,方法名,变量名,接口名等不要和关键字重名
    • 有两个保留字:goto,const,目前还未使用,将来是否使用还未知。

3.8标识符


  • 标识符:是指在程序中,我们自己定义内容。比如类的名字、方法的名字和变量的名字等等,都是标识符。

    • HelloWorld案例中,出现的标识符有类名字HelloWorld
  • 命名规则:硬性要求

    • 标识符可以包含英文字母26个(区分大小写)0-9数字$ (美元符号)_(下划线)

    • 标识符不能以数字开头。

    • 标识符不能是关键字。

  • 命名规范:软性建议

    • 类名规范:首字母大写,后面每个单词首字母大写(大驼峰式)。

    • 方法名规范:首字母小写,后面每个单词首字母大写(小驼峰式)。

    • 变量名规范:全部小写。不建议使用中文。不建议使用$。

第四章 常量


4.1 概述


常量:是指在Java程序中固定不变的数据。

4.1 分类


常量按照表示形式的分类:

  • 字面值常量:看到常量的值就知道该常量所能表示数的大小,eg: 3,4,1.2,-90
  • 符号常量:给常量起一个名字,看到名字知道该常量所代表的含义,但是不知道常量的值

常量根据数据类型的分类

类型 含义 数据举例
整数常量 所有整数 0,1,567,-9
小数常量 所有的小数 0.0,-0.1,2.55
字符常量 单引号引起来,只能写一个字符,必须有内容 'a','好'
字符串常量 双引号引起来,可以写多个字符,也可以不写 "A","Hello","你好"
布尔常量 只有两个值(流程控制中讲解) true, false
空常量 只有一个值(引用数据类型中讲解) null

4.3 练习


需求:输出各种类型的常量。

public class ConstantDemo {
    public static void main(String[] args){ 
        // 输出整数常量 
        System.out.println(111);
        // 输出小数常量 
        System.out.println(1.2);
        // 输出字符常量 ,必须用单引号括起来,
        // 单引号中必须有内容,切为单个字符
        System.out.println('A');
        //System.out.println('');//程序报错
        // 输出布尔常量 
        System.out.println(true);
        // 输出字符串常量 字符串常量可以为空窜
        System.out.println (" Hello Java ");
        //空常量  输出会报错
        //System.out.println(null);
    }
}

注意:空常量不能直接输出,由于许多常量都可以拥有空常量,所以当输出空常量时,输出语句并不知道要输出的是字符串的空常量还是Object对象的空常量或者其他数据类型的空常量,因此程序执行到此处会报错。

第五章 变量和数据类型


5.1 变量概述


  • 变量:常量是固定不变的数据,那么在程序中可以变化的量称为变量。

数学中,可以使用字母代替数字运算,例如 x=1+5 或者 6=x+5。

程序中,可以使用字母保存数字的方式进行运算,提高计算能力,可以解决更多的问题。比如X保存5, x也可以保存6,这样x保存的数据是可以改变的,也就是我们所讲解的变量。

Java中要求一个变量每次只能保存一个数据,必须要明确保存的数据类型。

5.2 数据类型


java是一个强类型的语言:需要显示的说明数据所占用内存的大小。声明变量的时候,就需要说明变量的数据类型,以此来表示内存的大小。

数据类型分类

Java的数据类型分为两大类:

  • 基本数据类型:包括整数浮点数字符布尔

  • 引用数据类型:包括数组接口

基本数据类型

四类八种基本数据类型:

数据类型 关键字 内存占用 取值范围
字节型 byte 1个字节 -128~127
短整型 short 2个字节 -32768~32767
整型 int (默认) 4个字节 -2^31次方 ~ 2^31-1
长整型 long 8个字节 -2^63次方 ~ 2^63-1
单精度浮点数 float 4个字节 1.4013E-45~3.4028E+38
双精度浮点数 double (默认) 8个字节 4.9E-324~1.7977E+308
字符型 char 2个字节 0-65535
布尔类型 boolean 1个字节 true,false
class DataTypeDemo {
    public static void main(String[] args) {
        //数据类型

        //整数类型
        byte b = 127;
        System.out.println(b);
        short s = -32768;
        System.out.println(s);
        int i = 2147483647;
        System.out.println(i);
        long l = 83838383838L;//常量的默认类型是int,如果超过int所能表示的范围就要在后面加上L
        System.out.println(l);

        //小数类型  32 位,最高位符号位,中间八位,阶码,后23位,尾数
        //float  4字节  > 8个字节的long类型 IEEE754标准 单精度浮点型数据
        float f = 3.14f;
        System.out.println(f);
        //double 8字节  > 4个字节的float类型            双精度浮点型
        double d = 9.38388383838;
        System.out.println(d);
        
        //布尔类型
        //boolean  未知
        boolean  boo = true;
        System.out.println(boo);

        //字符类型
        //char  2个字节 0 - 65535 共能表示65536个字符
        char ch = 'a';
        System.out.println(ch);
    }
}

Java中的默认类型:整数类型是int 、浮点类型是double

5.3 变量的定义


变量定义的格式包括三个要素:数据类型变量名数据值

格式

数据类型 变量名 = 数据值;

练习

定义所有基本数据类型的变量,代码如下:

public class Variable {
    public static void main(String[] args){ 
        // 定义字节型变量 
        byte b = 100; System.out.println(b);
        // 定义短整型变量 
        short s = 1000; System.out.println(s);
        //定义整型变量 
        int i = 123456; System.out.println(i);
        // 定义长整型变量 
        long l = 12345678900L; 
        System.out.println(l); 
        //定义单精度浮点型变量
        float f = 5.5F;
        System.out.println(f); 
        //定义双精度浮点型变量 
        double d = 8.5;
        System.out.println(d);
        // 定义布尔型变量 
        boolean bool = false;
        System.out.println(bool);
         // 定义字符型变量  
        char c = 'A'; 
        System.out.println(c);
    }
}

long类型:建议数据后加L表示。
float类型:建议数据后加F表示。

  • 整数常量的默认类型是int,随意写出的整数常量就必须在int所能表示的范围之中。
    -2147483648--- 2147483647
    说明:如果想要表示超过int类型范围的数字,就需要使用long类型的常量,在数字的后面加上一个字母L或者l
  • 小数常量的默认类型,是double
    如果想要表示float类型的小数,就需要在float小数类型的后面加上一个f或者F

5.4 注意事项


  • 变量名称:在同一个大括号范围内,变量的名字不可以相同。
  • 变量赋值:在方法中定义的变量,必须进行初始化之后,才能使用。
  • 变量作用域:变量在哪个大括号内定义,就只能在被定义的大括号内使用。
  • 多个变量声明:变量可以在同一行同时声明多个相同的数据变量,并且完成初始化操作。

例子:

class VariableDemo {
    public static void main(String[] args) {
        //变量的定义及作用域
        int age = 18;// 定义一个变量
        //int age = 80;//重复定义,变量是不能在同一个作用域中重复定义的
        age = 20;//变量定义后可以重复赋值
        System.out.println(age);
        {
            //变量是有作用域的,它在那对大括号中定义,那么起作用的范围就在那对大括号中
            int c = 100;
            System.out.println(c);
            System.out.println(age);
        }
        //出了大括号就不能访问到了
        //System.out.println(c);

        //变量初始化
        System.out.println("------------------------------------");
        //变量在方法中定义时,必须先进行初始化,才能使用
        //int high;//变量的声明,变量的定义,没有进行初始化的
        //int high = 10;//对变量high进行初始化
        //对变量进行初始的时候,变量的声明和变量的初始化可以分开的
        int high;
        high = 30;
        System.out.println(high);

        //同时声明多个变量
        System.out.println("--------------------------------");
        int a = 10,b = 20,d = 30; //不建议这些写
        // int a = 10; int b = 20;int d = 30;
        System.out.println(a);
        System.out.println(b);
        System.out.println(d);
    }
}

补充:

字符类型

  • 使用单引号括号的一个字符。使用的关键字char
  • 在计算机中,所有的数据都是使用数字来进行表示的,字符也不例外
  • 看到的字符,和计算机中的数字,都有一个对应的关系:
    从字符到数字的过程,叫做【编码】
    从数字到字符的过程,叫做【解码】
    在转换过程中的对应关系,就叫做编码表
  • 编码表:最开始老美发明的,最开始的只有英文字母,数字,一些符号,定义在ASCII码表中
    ASCII American Standard Information Interchange美国信息交换标准码表
    规律:数字,大写字母,小写字母本身连续的,数字到大写字母,大写字母到小写字母,不连续
  • 各个国家都有自己字符,所有都要有自己的编码表,其中中国的编码表GB2312,GBK,其中都是中国的汉字,GBK编码表前面的数字都是和ASCII表中的内容相同,GBK编码表中,英文使用的是一个字节表示,中文使用的两个字节
  • 各个国家都有自己的编码表。出现了一个统一码,Unicode,使用2个字节来表示一个字符,共能表示65536个,可以表示世界上所有的字符,java语言在内存中表示字符,使用的就是Unicode编码
  • UTF-8编码形式,可变长编码,使用1个字节表示英文字母,3个字节表示一个汉字
  • 总结:
    在内存中一般使用Unicode编码,在磁盘或者网络中使用GBK或者UTF-8,无论是GBK还是UTF-8还是Unicode统统都是兼容ASCII码表,在任意一个码表中,对应的英文字符,都是相同的。
  • java中表示字符使用的Unicode编码,所以可以使用Unicode码值去表示一个字符,表示格式‘\uxxxx’
    \u代表的是Unicode中字符的一种形式,xxxx表示使用的4个16进制的数字。
举例:
class CharTypeDemo {
    public static void main(String[] args) {
        //ASCII码表
        //字符和数字的对应关系
        //根据数字打印ASCII中的字符
        System.out.println((char)3);
        //根据字符获取一下ASCII码表中对应的数字
        System.out.println((int)'a');//直接进行强制类型转换,将char类型转为int型
        System.out.println('a' + 0);//进行运算时char类型数据进行向上转换为
                                    //int类型后再与0进行加法操作
        //unicode码值,使用\u跟上四个十六进制数的表示
        System.out.println('\u7788');
    }
}

你可能感兴趣的:(01-01 前言、入门程序、常量、变量)