写点什么

Java 基础(一)| Java 概述与基础语法案例

作者:timerring
  • 2022 年 9 月 12 日
    山东
  • 本文字数:4321 字

    阅读完需:约 14 分钟

Java基础(一)| Java概述与基础语法案例

⭐本专栏旨在对 JAVA 的基础语法及知识点进行全面且详细的讲解,完成从 0 到 1 的 java 学习,面向零基础及入门的学习者,通过专栏的学习可以熟练掌握 JAVA 编程,同时为后续的框架学习,进阶开发的代码能力打下坚实的基础。

🔥本文已收录于 JAVA 基础系列专栏: JAVA基础教程 免费订阅,持续更新。

1. Java 概述

1.1 Java 语言发展史

Java 语言是美国 Sun 公司(Stanford University Network)在 1995 年推出的计算机语言


Java 之父:詹姆斯·高斯林(James Gosling)


2009 年,Sun 公司被甲骨文公司收购,所以我们现在访问 oracle 官网即可:https://www.oracle.com



当前,我们使用的 JDK 版本:11.0

1.2 Java 语言跨平台原理

Java 程序并非是直接运行的,Java 编译器将 Java 源程序编译成与平台无关的字节码文件(class 文件),然后由 Java 虚拟机(JVM)对字节码文件解释执行。



所以在不同的操作系统下,只需安装不同的 Java 虚拟机即可实现 java 程序的跨平台。

1.3 JRE 和 JDK

  • JVM(Java Virtual Machine),Java 虚拟机

  • JRE(Java Runtime Environment),Java 运行环境,包含了 JVM 和 Java 的核心类库(Java API)

  • JDK(Java Development Kit)称为 Java 开发工具,包含了 JRE 和开发工具


总结:我们只需安装 JDK 即可,它包含了 java 的运行环境和虚拟机。


1.4 JDK 的下载和安装

1.4.1 下载

通过官方网站获取 JDK


http://www.oracle.com


注意:针对不同的操作系统,需要下载对应版本的 JDK。

1.4.2 安装

傻瓜式安装,下一步即可。但默认的安装路径是在 C:\Program Files 下,为方便统一管理建议修改安装路径,将与开发相关的软件都安装到一个目录下,例如:E:\develop。


注意:安装路径不要包含中文或者空格等特殊字符(使用纯英文目录)。

1.4.3 JDK 的安装目录介绍

2. 第一个演示程序

2.1 常用 DOS 命令(应用)

在接触集成开发环境之前,我们需要使用命令行窗口对 java 程序进行编译和运行,所以需要知道一些常用 DOS 命令。


1、打开命令行窗口的方式:win + r 打开运行窗口,输入 cmd,回车。


2、常用命令及其作用


2.2 Path 环境变量的配置

2.2.1 为什么配置环境变量

开发 Java 程序,需要使用 JDK 提供的开发工具(比如 javac.exe、java.exe 等命令),而这些工具在 JDK 的安装目录的 bin 目录下,如果不配置环境变量,那么这些命令只可以在该目录下执行。我们不可能把所有的 java 文件都放到 JDK 的 bin 目录下。


所以配置环境变量的作用就是可以使 bin 目录下的 java 相关命令可以在任意目录下使用

2.2.2 配置环境变量步骤

具体配置步骤请参见博主《Java JDK path 环境变量配置》文章。

2.3 HelloWorld 案例

2.3.1 Java 程序开发运行流程

开发 Java 程序,需要三个步骤:编写程序(记事本),编译程序(javac),运行程序(java)。

2.3.2 HelloWorld 案例的编写

1、新建文本文档文件,修改名称为 HelloWorld.java。


2、用记事本打开 HelloWorld.java 文件,输写程序内容。


public class HelloWorld {  public static void main(String[] args) {    System.out.println("HelloWorld");  }}
复制代码

2.3.3 HelloWorld 案例的编译和运行

存文件,打开命令行窗口,将目录切换至 java 文件所在目录,编译 java 文件生成 class 文件,运行 class 文件。


编译:javac 文件名.java

范例:javac HelloWorld.java

执行:java 类名

范例:java HelloWorld

2.4 HelloWorld 案例常见问题

2.4.1 BUG

在电脑系统或程序中,隐藏着的一些未被发现的缺陷或问题统称为 bug(漏洞)。

2.4.2 BUG 的解决

1、具备识别 BUG 的能力:多看


2、具备分析 BUG 的能力:多思考,多查资料


3、具备解决 BUG 的能力:多尝试,多总结

2.4.3 HelloWorld 案例常见问题

1、非法字符问题。Java 中的符号都是英文格式的。


2、大小写问题。Java 语言对大小写敏感(区分大小写)。


3、在系统中显示文件的扩展名,避免出现 HelloWorld.java.txt 文件。


4、编译命令后的 java 文件名需要带文件后缀.java


5、运行命令后的 class 文件名(类名)不带文件后缀.class


...

2.5 Notepad++软件的安装和使用

2.5.1 什么要使用 Notepad++软件

Notepad++功能比 windows 中的自带记事本功能强大,除了可以用来制作一般的纯文字说明文件,也十分适合编写计算机程序代码。Notepad++有行号,能够快速定位问题位置,还有语法高亮度显示、代码折叠等功能。而且它是免费的。

2.5.2 Notepad++软件安装

安装:一直下一步即可。建议也安装到统一的开发软件目录下,比如 E:\develop。

2.5.3Notepad++软件配置

安装完毕之后,为了使用方便,做一个简单的配置:修改默认语言和编码。

3. java 基础语法

3.1 注释

注释是对代码的解释和说明文字,可以提高程序的可读性,因此在程序中添加必要的注释文字十分重要。Java 中的注释分为三种:


单行注释。单行注释的格式是使用//,从//开始至本行结尾的文字将作为注释文字。


// 这是单行注释文字
复制代码


多行注释。多行注释的格式是使用/* 和 */将一段较长的注释括起来。


/*这是多行注释文字这是多行注释文字这是多行注释文字*/注意:多行注释不能嵌套使用。
复制代码


文档注释。文档注释以/**开始,以*/结束。

3.2 关键字

关键字是指被 java 语言赋予了特殊含义的单词。


关键字的特点:


​ 关键字的字母全部小写。


​ 常用的代码编辑器对关键字都有高亮显示,比如现在我们能看到的 public、class、static 等。

3.3 常量

常量:在程序运行过程中,其值不可以发生改变的量。


Java 中的常量分类:


​ 字符串常量 用双引号括起来的多个字符(可以包含 0 个、一个或多个),例如"a"、"abc"、"中国"等


​ 整数常量 整数,例如:-10、0、88 等


​ 小数常量 小数,例如:-5.5、1.0、88.88 等


​ 字符常量 用单引号括起来的一个字符,例如:'a'、'5'、'B'、'中'等


​ 布尔常量 布尔值,表示真假,只有两个值 true 和 false


​ 空常量 一个特殊的值,空值,值为 null


除空常量外,其他常量均可使用输出语句直接输出。


public class Demo {    public static void main(String[] args) {        System.out.println(10); // 输出一个整数        System.out.println(5.5); // 输出一个小数        System.out.println('a'); // 输出一个字符        System.out.println(true); // 输出boolean值true        System.out.println("欢迎订阅专栏"); // 输出字符串    }}
复制代码

3.4 数据类型

3.4.1 计算机存储单元

我们知道计算机是可以用来存储数据的,但是无论是内存还是硬盘,计算机存储设备的最小信息单元叫“位(bit)”,我们又称之为“比特位”,通常用小写的字母”b”表示。而计算机中最基本的存储单元叫“字节(byte)”,


通常用大写字母”B”表示,字节是由连续的 8 个位组成。


除了字节外还有一些常用的存储单位,其换算单位如下:


1B(字节) = 8bit


1KB = 1024B


1MB = 1024KB


1GB = 1024MB


1TB = 1024GB

3.4.2 Java 中的数据类型

Java 是一个强类型语言,Java 中的数据必须明确数据类型。在 Java 中的数据类型包括基本数据类型和引用数据类型两种。


Java 中的基本数据类型:



说明:


​ e+38 表示是乘以 10 的 38 次方,同样,e-45 表示乘以 10 的负 45 次方。


​ 在 java 中整数默认是 int 类型,浮点数默认是 double 类型。

3.5 变量

3.5.1 变量的定义

变量:在程序运行过程中,其值可以发生改变的量。


从本质上讲,变量是内存中的一小块区域,其值可以在一定范围内变化。


变量的定义格式:


数据类型 变量名 = 初始化值; // 声明变量并赋值int age = 18;System.out.println(age);
复制代码


或者


// 先声明,后赋值(使用前赋值即可)数据类型 变量名;变量名 = 初始化值;double money;money = 55.5;System.out.println(money);
复制代码


还可以在同一行定义多个同一种数据类型的变量,中间使用逗号隔开。但不建议使用这种方式,降低程序的可读性。


int a = 10, b = 20; // 定义int类型的变量a和b,中间使用逗号隔开System.out.println(a);System.out.println(b);
int c,d; // 声明int类型的变量c和d,中间使用逗号隔开c = 30;d = 40;System.out.println(c);System.out.println(d);
复制代码


变量的使用:通过变量名访问即可。

3.5.2 使用变量时的注意事项
  1. 在同一对花括号中(同一函数中),变量名不能重复。

  2. 变量在使用之前,必须初始化(赋值)。

  3. 定义 long 类型的变量时,需要在整数的后面加 L(大小写均可,建议大写)。因为整数默认是 int 类型,整数太大可能超出 int 范围。

  4. eg


   long l = 1000000000;   //会报错:整数太大。因为虽然是定义为long类型,但是实际处理过程中还是按照int处理的。   //要想不报错,需要在后面加L   long l = 1000000000L;
复制代码


  1. 定义 float 类型的变量时,需要在小数的后面加 F(大小写均可,建议大写)。因为浮点数的默认类型是 double, double 的取值范围是大于 float 的,类型不兼容。


   float f = 13.14;   System.out.println(f);
复制代码


错误:不兼容的类型:从 double 转换到 float 可能会有损失。


因为浮点数的默认类型是 double, double 的取值范围是大于 float 的,类型不兼容。


   float f = 13.14F;   System.out.println(f);
复制代码

3.6 标识符

标识符是用户编程时使用的名字,用于给类、方法、变量、常量等命名。


Java 中标识符的组成规则:


​ 由字母、数字、下划线“_”、美元符号“$”组成,第一个字符不能是数字。


​ 不能使用 java 中的关键字作为标识符。


标识符对大小写敏感(区分大小写)


Java 中标识符的命名约定:


​ 小驼峰式命名:变量名、方法名


​ 首字母小写,从第二个单词开始每个单词的首字母大写。


大驼峰式命名:类名


​ 每个单词的首字母都大写。


​ 另外,标识符的命名最好可以做到见名知意


​ 例如:username、studentNumber 等。

3.7 类型转换

在 Java 中,一些数据类型之间是可以相互转换的。分为两种情况:自动类型转换和强制类型转换。


自动类型转换:


​ 把一个表示数据范围小的数值或者变量赋值给另一个表示数据范围大的变量。这种转换方式是自动的,直接书写即可。例如:


double num = 10; // 将int类型的10直接赋值给double类型System.out.println(num); // 输出10.0
复制代码


强制类型转换:


​ 把一个表示数据范围大的数值或者变量赋值给另一个表示数据范围小的变量。


​ 强制类型转换格式:目标数据类型 变量名 = (目标数据类型)值或者变量;


​ 例如:


double num1 = 5.5;int num2 = (int) num1; // 将double类型的num1强制转换为int类型System.out.println(num2); // 输出5(小数位直接舍弃)
复制代码



说明:


  1. char 类型的数据转换为 int 类型是按照码表中对应的 int 值进行计算的。比如在 ASCII 码表中,'a'对应 97。


int a = 'a';System.out.println(a); // 将输出97
复制代码


  1. 整数默认是 int 类型,byte、short 和 char 类型数据参与运算均会自动转换为 int 类型。


byte b1 = 10;byte b2 = 20;byte b3 = b1 + b2; // 第三行代码会报错,b1和b2会自动转换为int类型,计算结果为int,int赋值给byte需要强制类型转换。// 修改为:int num = b1 + b2;// 或者:byte b3 = (byte) (b1 + b2);
复制代码


  1. boolean 类型不能与其他基本数据类型相互转换。

发布于: 刚刚阅读数: 5
用户头像

timerring

关注

还未添加个人签名 2022.07.14 加入

还未添加个人简介

评论

发布
暂无评论
Java基础(一)| Java概述与基础语法案例_Java core_timerring_InfoQ写作社区