[0001]基础知识、JDK、HelloWorld、常量、变量

基础知识、JDK、HelloWorld、常量、变量

1. 计算机基础知识

1.1 二进制(binary)

每一个0或者1,叫做一个比特(bit),逢2进1

其他进制:八进制(octonary)、十进制(decimal)、十六进制(hexadecimal)

十进制-->二进制:

  • 使用除以2获取余数的方式

二进制-->十进制

  • 方式一:

  • 方式二:二进制数小数点左边,从右到左用每一位数乘以2的对应位的次方,小数点右边的,从左到右用每一位乘以2的对应位的负数次方

  • 方式三:

    • 对于多位数,处在某一位上的“1”所表示的数值的大小,称为该位的位权。

    • 上图中第二行即是二进制的位权,如小数点左边第一位的位权为2^0^,第二位的位权为2^1^,以此类推。

    • 所以完整的换算公式为:

      1*2^3^+1*2^2^+0*2^1^+1*2^0^+0*2^-1^+1*2^-2^=13.75

字节

  • 8个bit(二进制位)0000-0000 等于一个字节,写成 1byte 或者 1B
    • 8bit = 1B
    • 1024B=1KB
    • 1024KB=1MB
    • 1024MB=1GB
    • 1024GB=1TB

常用DOS命令

  • Win+R,输入cmd,进入DOS命令行窗口

  • 路径C:\Users表示当前操作的磁盘为C盘

  • 常用命令

    命令 操作符号
    盘符切换命令 盘符名:
    查看当前文件夹 dir
    进入文件夹 cd 文件夹名
    退出文件夹 cd..
    退出到磁盘根目录 cd\
    清屏 cls

2. Java语言开发环境搭建

2.1 Java虚拟机——JVM

  • JVM(Java Virtual Machine):Java虚拟机,是Java程序运行的载体。
  • 跨平台:软件是运行在操作系统上的,Java语言写的软件可以运行在所有操作系统上,称为Java语言的跨平台性。该特性是由JVM实现,因为所有操作系统都有对应的JVM,只要有JVM,Java程序就能运行。JVM本身不具有跨平台性。

2.2 JRE和JDK

  • JRE(Java Runtime Environment):Java运行环境,包含JVM和运行需要的核心类库
  • JDK(Java Development Kit):Java开发工具包,包含JRE和开发人员工具。

2.3 JDK8安装图解

  1. oracle官网下载JDK安装包

  1. 选择安装组件时,开发工具和源代码必选,公共JRE可选可不选

2.4 JAVA_HOME环境变量的配置

配置环境变量的作用

开发Java程序需要使用JDK中的工具,如java.exejavac.exe,在JDK安装目录下的bin中。

如果想在DOS命令行下使用这些工具,需要通过cd命令进入到bin目录下。

  • 没有在bin目录下

  • bin目录下

为了方便开发,我们想要在任意目录下都可以使用JDK开发工具,所以必须配置环境变量。


配置环境变量步骤

1.Win+Pause打开系统信息页面

2.4步操作如下图

注意:

1.Java_HOME配置好后,%JAVA_HOME%就等于C:\Java\jdk1.8.0_201,所以在path中通过%JAVA_HOME%来代替C:\Java\jdk1.8.0_201

2.path%JAVA_HOME%\bin必须上移到path的最上方,意思是输入DOS命令后最先去该路径寻找工具。

验证环境变量配置

打开控制台,输入java,如图

3. HelloWorld

3.1 Java开发三个步骤:编写、编译、运行

3.2 编写Java源代码

  1. D:\下新建文本,文件名修改为HelloWorld.java
  2. 记事本打开

除了记事本,还可以用Notepad++、EditPlus打开。

  1. 输入如下代码并保存
public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello World!");
    }
}

此时已经编写好了.java源代码文件。

3.3 编译Java源文件

  1. HelloWorld.java目录下的地址栏输入cmd,回车,进入DOS命令行窗口

  1. 输入编译命令:
javac Java源文件名.java

在本例子中,输入:

javac HelloWorld.java

编译成功DOS命令行没有任何提示:

D:\下生成了一个HelloWorld.class文件,该文件就是JVM可运行的字节码文件

3.4 运行Java程序

  1. HelloWorld.class目录下的地址栏输入cmd,回车,进入DOS命令行窗口
  2. 输入运行命令:
java 类名称

在本例中输入:

java HelloWorld

运行结果:

3.5 说明

  • 编译javac编译器将Java源文件转换成字节码文件,在这个过程中,编译器会检查Java源文件中的错误。
    • 如果有错误,编译失败,并给出错误信息;
    • 如果没有错误,则编译成功,并生成.class文件
  • 运行:是将.class文件交给JVM运行。
  • main方法:即主方法。main方法是程序的入口,JVM在运行程序时,都是从main方法开始执行。每个程序只有一个主方法。

3.6 注释(comment)

  • 注释:对代码的解释和说明。不影响程序的编译和运行。
  • 注释分类:
    • 单行注释:以//开始,//后的内容即为单行注释,如下图中第3行绿色字体部分

  • 多行注释:以/*开始,*/结束,中间的所有行都属于注释内容,如下图中第3行到第6行绿色字体部分

3.7 关键字(keyword)

  • 关键字:在Java中有特殊含义的单词,关键字的使用要符合Java规范。
    • 关键字都是全小写的英语单词
    • HelloWorld中出现的关键字有public,class,static,void
    • 在Notepad++/EditPlus等软件中颜色特殊。

3.8 标识符(identifier)

  • 标识符:程序中人为定义的名字,包括类名、变量名、方法名等。
    • HelloWorld中,出现的标识符为类名HelloWorld
  • 命名规则硬性规定
    • 可以使用英文字母26个(区分大小写)阿拉伯数字0-9$(美元符号)_(下划线)
    • 不能以数字开头
    • 不能是关键字
  • 命名规范软性要求
    • 类名:使用大驼峰式,首字母大写,后面所有单词首字母大写。
    • 方法名:使用小驼峰式,首字母小写,后面所有单词首字母大写。
    • 变量名:全部小写

4. 常量

4.1 概述

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

4.2 分类

类型 含义 举例
整数常量 所有整数 -2,0,2
小数常量 所有小数 2.0,-2.0
字符常量 单引号引起来的一个字符,可以为空格,不可以为空 'a','2',' '
字符串常量 s双引号引起来的任意个字符,可以为空 "a","Java",""
布尔常量 true,false,仅有这两个 true,false
空常量 只有一个 null

4.3 练习

  • 输出各种类型的常量
public class ConstantDemo {
    public static void main(String[] args) {
        // 整数常量
        System.out.println(2);
        // 小数常量
        System.out.println(2.0);
        // 字符常量
        System.out.println('a');
        // 字符串常量
        System.out.println("Hello");
        // 布尔常量
        System.out.println(true);
        // 空常量无法直接打印
        // System.out.println(null);
    }
}
  • 空常量直接打印会报错,编译不通过:

5. 变量和数据类型

5.1 变量概述

  • 变量:程序中可以变化的量称为变量,与常量概念相对
    • Java要求一个变量每次只能保存一个数据,这个数据可以是常量也可以是变量
    • 必须要明确保存的数据类型

5.2 数据类型

数据类型分类

  • 基本数据类型整数浮点数字符布尔
    • 基本数据类型在被创建时,在栈上给其划分一块内存,将数值直接存储在栈上
  • 引用数据类型数组接口枚举注解
    • 引用数据类型在被创建时,首先要在栈上给其引用(句柄)分配一块内存,而对象的具体信息都存储在堆内存上,然后由栈上面的引用指向堆中对象的地址

基本数据类型

数据类型 关键字 内存占用 取值范围 默认值
字节型 byte 1byte -2^7^~2^7^-1 0
短整型 short 2byte -2^15^~2^15^ -1 0
整型 int(整数默认) 4byte -2^31^~2^31^ -1 0
长整型 long 8byte -2^63^~2^63^ -1 0L
单精度浮点数 float 4byte -3.40E-38~3.40E+38 0.0F
双精度浮点数 double(浮点数默认) 8byte -1.79E-308~1.79E+308 0.0
字符型 char 2byte 0~2^16^ -1 '\u0000'
布尔类型 boolean 1byte true,false false

1byte=8bit

float的精度是6位有效数字

double的精度是15位有效数字

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 = 1234;
        System.out.println(i);
        // 定义长整型变量
        long l = 12345L;
        System.out.println(l);
        // 定义单精度浮点型变量
        float f = 2.5F;
        System.out.println(f);
        // 定义双精度浮点型变量
        double d = 3.5;
        System.out.println(d);
        // 定义字符型变量
        char c = 'a';
        System.out.println(c);
        // 定义布尔类型变量
        boolean boo = true;
        System.out.println(b);
    }
}

long类型:数据后面加L表示

float类型:数据后面加F表示

  • 运行结果

5.4 注意事项

  • 变量名称:在同一个作用域内,变量名不可重复
  • 变量赋值:定义的变量,不赋值不能使用

猜你喜欢

转载自www.cnblogs.com/cailinfeng/p/11016481.html
今日推荐