Java基础 01 前言、入门程序、常量、变量

第一章 开发前言

1.1 Java语言概述

什么是Java语言

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

Java语言发展历史

1995年Sun公司发布Java1.0版本
2004年发布Java 1.5版本
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编码的方式

字节

字节是我们常见的计算机中最小存储单元。计算机存储任何的数据,都是以字节的形式存储,右键点击文件属性,我们可以查看文件的字节大小。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
在往上是PB、EB、ZB、YB、BB、NB、DB、CB。

常用DOS命令

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

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

    • 常用命令

      操作 命令
      进入文件夹 cd 文件夹名称
      进入多级文件夹 cd 文件夹1文件夹2文件夹3
      返回上一级 cd ..
      直接回根路径 cd
      查看当前内容 dir
      清屏 cls
      退出 exit
      盘符切换命令 盘符名:

第二章 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 JDK 安装

目前使用 JDK8,JDK8 使用 OpenJDK。
网站链接:

安装路径中,不要包含中文和空格。

2.4 JAVA_HOME环境变量的配置

配置环境变量作用
开发Java程序,需要使用JDK中提供的工具,工具在Java安装目录的bin目录下。在DOS命令行下使用这些工具,就要先进入到JDK的bin目录下,这个过程就会非常的麻烦。不进入JDK的bin目录,这些工具就不能使用,会报错。为了开发方便,想在任意的目录下都可以使用JDK的开发工具,则必须要配置环境变量,配置环境变量的意义在于告诉操作系统,使用的JDK开发工具在哪个目录下。
配置环境变量步骤

  1. 计算机鼠标右键,选择【属性】
  2. 选择【高级系统设置】
  3. 选中选项卡【高级】,点击【环境变量】
  4. 点击【新建】 ,创建新的环境变量
  5. 变量名输入【JAVA_HOME】 ,变量值输入JDK的安装目录 c:Java9jdk-9.0.1
  6. 选中【Path】环境变量,双击或者点击编辑
  7. 在变量值的前面,键入 %JAVA_HOME%in; 分号必须要写,必须是英文格式。
  8. 环境变量配置完成,重新开启DOS命令行,在任意目录下输入javac命令,运行成功。

第三章 HelloWorld 入门程序

3.1 程序开发步骤说明

Java程序开发三步骤:编写(.java)编译(.class)运行(JVM)

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

3.2 编写Java源程序

  1. 新建文本文件,完整的文件名为HelloWorld.java。
  2. 用记事本(notepad)打开。
  3. 在文件中键入文本并保存,代码如下:
//文件名必须是 HelloWorld ,保证文件名和类的名字是一致的,注意大小写。
public class HelloWorld {
    public static void main(String[] args) {
    System.out.println("Hello World!");
    }
}

3.3 编译Java源文件

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

javac Java源文件名.后缀名
javac HelloWorld.java

编译成功后,命令行没有任何提示。打开目录,产生了一个新的文件 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++中颜色特殊。 关键字比较多,不能死记硬背,学到哪里记到哪里即可。

3.8 标识符

标识符:是指在程序中,我们自己定义内容。比如类的名字、方法的名字和变量的名字等等,都是标识符。 HelloWorld案例中,出现的标识符有类名字 HelloWorld。
命名规则硬性要求

  • 标识符可以包含英文字母26个(区分大小写)、0-9数字、 $(美元符号)和 _(下划线)。
  • 标识符不能以数字开头。
  • 标识符不能是关键字。

命名规范软性建议

  • 类名规范:首字母大写,后面每个单词首字母大写(大驼峰式)。
  • 方法名规范:首字母小写,后面每个单词首字母大写(小驼峰式)。
  • 变量名规范:全部小写 (这个规范有待商榷)。

第四章 常量

4.1 概述

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

4.2 分类

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

基本数据类型

  • 整数型: byte short int long
  • 浮点型: float double
  • 字符型: char
  • 布尔型: boolean

引用数据类型

  • 字符串、数组、类、接口、Lambda

注意事项

  1. 字符串不是基本类型,而是引用类型。
  2. 浮点型可能只是一个近似值,并非精确的值。
  3. 数据范围与字节数不一定相关,例如float数据范围比long更加广泛,但是float是4字节,long是8字节。
  4. 浮点数当中默认类型是double。如果一定要使用float类型,需要加上一个后缀F
    如果是整数,默认为int类型,如果一定要使用long类型,需要加上一个后缀L
    推荐使用大写字母后缀。

4.3 练习

/*
常量:在程序运行期间,固定不变的量。
常量的分类:
1. 字符串常量:凡是用双引号引起来的部分,叫做字符串常量。例如:"abc"、"Hello"、"123"
2. 整数常量:直接写上的数字,没有小数点。例如:100、200、0、-250
3. 浮点数常量:直接写上的数字,有小数点。例如:2.5、-3.14、0.0
4. 字符常量:凡是用单引号引起来的单个字符,就做字符常量。例如:'A'、'b'、'9'、'中'
5. 布尔常量:只有两种取值。true、false。
6. 空常量:null。代表没有任何数据。
*/
public class Demo01Const {
	public static void main(String[] args) {
		// 字符串常量
		System.out.println("ABC");
		System.out.println(""); // 字符串两个双引号中间的内容为空
		System.out.println("XYZ");
		
		// 整数常量
		System.out.println(30);
		System.out.println(-500);
		
		// 浮点数常量(小数)
		System.out.println(3.14);
		System.out.println(-2.5);
		
		// 字符常量
		System.out.println('A');
		System.out.println('6');
		// System.out.println(''); // 两个单引号中间必须有且仅有一个字符,没有不行。
		// System.out.println('AB'); // 两个单引号中间必须有且仅有一个字符,有两个不行。
		
		// 布尔常量
		System.out.println(true);
		System.out.println(false);
		
		// 空常量。空常量不能直接用来打印输出。
		// System.out.println(null);
	}
}

第五章 变量和数据类型

5.1 变量概述

变量:常量是固定不变的数据,那么在程序中可以变化的量称为变量。
数学中,可以使用字母代替数字运算,例如 x=1+5 或者 6=x+5。
程序中,可以使用字母保存数字的方式进行运算,提高计算能力。Java 中要求一个变量每次只能保存一个数据,必须要明确保存(强类型)的数据类型。

5.2 数据类型

数据类型分类
Java的数据类型分为两大类:
基本数据类型:包括 整数、浮点数、字符、布尔。
引用数据类型:包括 类、数组、接口。
基本数据类型
四类八种基本数据类型:

数据类型 关键字 内存占用 取值范围
字节型 byte 1个字节 -128~127
短整型 short 2个字节 -32768~32767
整型 int (默认) 4个字节 -231次方~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

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

5.3 变量的定

变量定义的格式包括三个要素:数据类型、变量名、数据值。
格式
数据类型 变量名 = 数据值;
练习
定义所有基本数据类型的变量:

/*
变量:程序运行期间,内容可以发生改变的量。

创建一个变量并且使用的格式:

数据类型 变量名称; // 创建了一个变量
变量名称 = 数据值; // 赋值,将右边的数据值,赋值交给左边的变量

一步到位的格式:

数据类型 变量名称 = 数据值; // 在创建一个变量的同时,立刻放入指定的数据值
*/
public class Demo02Variable {
	public static void main(String[] args) {
		// 创建一个变量
		// 格式:数据类型 变量名称;
		int num1;
		// 向变量当中存入一个数据
		// 格式:变量名称 = 数据值;
		num1 = 10;
		// 当打印输出变量名称的时候,显示出来的是变量的内容
		System.out.println(num1); // 10
		
		// 改变变量当中本来的数字,变成新的数字
		num1 = 20;
		System.out.println(num1); // 20
		
		// 使用一步到位的格式来定义变量
		// 格式:数据类型 变量名称 = 数据值;
		int num2 = 25;
		System.out.println(num2); // 25
		
		num2 = 35;
		System.out.println(num2); // 35
		System.out.println("===============");
		
		byte num3 = 30; // 注意:右侧数值的范围不能超过左侧数据类型的取值范围
		System.out.println(num3); // 30
		
		// byte num4 = 400; // 右侧超出了byte数据范围,错误!
		
		short num5 = 50;
		System.out.println(num5); // 50
		
		long num6 = 3000000000L;
		System.out.println(num6); // 3000000000
		
		float num7 = 2.5F;
		System.out.println(num7); // 2.5
		
		double num8 = 1.2;
		System.out.println(num8); // 1.2
		
		char zifu1 = 'A';
		System.out.println(zifu1); // A
		
		zifu1 = '中';
		System.out.println(zifu1); // 中
		
		boolean var1 = true;
		System.out.println(var1); // true
		
		var1 = false;
		System.out.println(var1); // false
		
		// 将一个变量的数据内容,赋值交给另一个变量
		// 右侧的变量名称var1已经存在,里面装的是false布尔值
		// 将右侧变量里面的false值,向左交给var2变量进行存储
		boolean var2 = var1;
		System.out.println(var2); // false
	}
}
/*
使用变量的时候,有一些注意事项:

1. 如果创建多个变量,那么变量之间的名称不可以重复。
2. 对于float和long类型来说,字母后缀 F 和 L 不要丢掉。
3. 如果使用 byte 或者 short 类型的变量,那么右侧的数据值不能超过左侧类型的范围。
4. 没有进行赋值的变量,不能直接使用;一定要赋值之后,才能使用。
5. 变量使用不能超过作用域的范围。
【作用域】:从定义变量的一行开始,一直到直接所属的大括号结束为止。
6. 可以通过一个语句来创建多个变量,但是一般情况不推荐这么写。
*/
public class Demo03VariableNotice {
	public static void main(String[] args) {
		int num1 = 10; // 创建了一个新的变量,名叫num1
		// int num1 = 20; // 又创建了另一个新的变量,名字也叫num1,错误!
		
		int num2 = 20;
		
		int num3;
		num3 = 30;
		
		int num4; // 定义了一个变量,但是没有进行赋值
		// System.out.println(num4); // 直接使用打印输出就是错误的!
		
		// System.out.println(num5); // 在创建变量之前,不能使用这个变量
		
		int num5 = 500;
		System.out.println(num5); // 500
		
		{
			int num6 = 60;
			System.out.println(num6); // 60
		}
		// int num6;
		// System.out.println(num6); // 已经超出了大括号的范围,超出了作用域,变量不能再使用了
		
		// 同时创建了三个全都是int类型的变量
		int a, b, c;
		// 各自分别赋值
		a = 10;
		b = 20;
		c = 30;
		System.out.println(a); // 10
		System.out.println(b); // 20
		System.out.println(c); // 30
		
		// 同时创建三个int变量,并且同时各自赋值
		int x = 100, y = 200, z = 300;
		System.out.println(x); // 100
		System.out.println(y); // 200
		System.out.println(z); // 300
	}
}

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

5.4 注意事项

变量名称:在同一个大括号范围内,变量的名字不可以相同。
变量赋值:定义的变量,不赋值不能使用。

原文地址:https://www.cnblogs.com/wangluke/p/12651741.html