目录
📕今天我们开始学习java第一节课!
一、初识Java
📗1.Java语言概述
😇Java是一种优秀的程序设计语言,它具有令人赏心悦目的语法和易于理解的语义。
不仅如此Java还是一个有一系列计算机软件和规范形成的技术体系,这个技术体系提供了完整的用于软件开发和 跨平台部署的支持环境,并广泛应用于嵌入式系统、移动终端、企业服务器、大型机等各种场合。
📕2. 初识Java的main方法
2.1 main方法示例
🙈在我们学习java之初,我们不借助编译器来写代码,那我们该往哪写代码呢
🙉记事本
💡在这里大家可以使用电脑自带的记事本,也可以下载Sublime Text来写代码,个人建议使用Sublime Text,写出来的代码比较直观。
Sublime Text官方下载:https://www.sublimetext.com/
1️⃣第一步:首先我们新建一个文本文档,命名为HelloWorld.txt,把后缀改为.java
❗特别注意
有些老铁改成HelloWorld.java,但是类型依然是txt文件,这时候我们打开文件上边的查看,勾选文件扩展名和隐藏的项目就一目了然了
2️⃣接下来我们开始写学习java的第一个代码(写到刚刚下载的记事本中):
public class HelloWorld {
public static void main(String[] args) {
System.out.println("hello!");
}
}
🙈在这个补充一个知识点:对于一个.java文件,程序该如何运行起来
🙉第一步:编译————Javac 第二步:运行————java
对于这两个命令,在我们安装好JDK就已经有这个命令了
没有安装JDK的小伙伴,可以看看我上一节课的内容(安装JDK的教程)Windows下最简单的JDK和IDEA安装教程
3️⃣第三步:电脑win+r,输入cmd
✨这时候我们进入刚刚写代码的路径(cd C:\Users\Lenovo\Desktop\20221023——这是自己刚刚创建文本文档的路径)
👆执行完上述操作我们就进入到了文件夹,不妨我们来看一下在这个文件的目录有啥(输入dir————查看当前目录下的文件)
4️⃣第四步:这时候我们就可以编译我们的文件了(javac HelloWorld.java)
➡️此时代码没有报错,并且在刚刚创建的文件夹里生成了一个.class文件————字节码文件(二进制文件)
✅执行代码——java HelloWorld
👉综上:
1.使用记事本编写Java源程序
2.使用jacac.exe编译器编译Java源程序,生成xxx.class的字节码文件 语法格式:javac xxx.java
3.使用java运行xxx.class字节码文件 语法格式:java xxx
❗注意:在运行Java程序前,必须先安装好JDK(Java Development Kit即Java开发工具包),JDK里面就包含了javac和java工具,Java程序最终是在JVM(Java虚拟机)中运行的。
💯 DK(Java Development Kit):Java开发工具包,提供给Java程序员使用,包含了JRE,同时还包含了编译 器javac与自带的调试工具Jconsole、jstack等。JRE(Java Runtime Environment):Java运行时环境,包含了JVM,Java基础类库。是使用Java语言编写程序运行的所需环境。JVM:Java虚拟机,运行Java代
❗❗❗编写和运行第一个Java程序时,可能会遇到的一些错误:
7. JDK环境没有配置好,操作系统不能识别javac或者java命令
➡️我们再来看一个代码:
public class HelloWorld {
public static void main(String[] args) {
for(int i = 0; i < args.length; i++){
System.out.println("args[i]");
}
}
}
🙈在我们上边运行程序时,为什么里边什么都没有?其实本来就没有,那么到底该咋样才能出现自己想到的呢?
🙉我i们应该放入想要的,听我慢慢讲解
📙3. 注释
注释是为了让代码更容易被读懂而附加的描述信息. 不参与编译运行, 但是却非常重要. 时刻牢记! 代码写出来是为了给人看的, 更是为了给三个月后的你自己看的.
3.1 基本规则
👇Java中的注释主要分为以下三种
单行注释:// 注释内容(用的最多)多行注释:/* 注释内容*/(不推荐)文档注释: /** 文档注释 */(常见于方法和类之上描述方法和类的作用),可以被javadoc工具解析,生成一套以网页文件形式体现的程序说明文档❗❗❗注意:1. 多行注释不能嵌套使用2. 不论是单行还是多行注释,都不参与编译,即编译之后生成的.class文件中不包含注释信息。
/*
块注释
*/
public class HelloWorld {
// 行注释
public static void main(String[] args) {
for(int i = 0; i < args.length;i++) {
System.out.println(args[i]);
}
}
}
✨当我们写下这个代码时候,我们去运行
❓❓为什么会出现这个错误呢?
❗❗❗对于win电脑来说,默认文件的编码格式是UTF-8 ,有些电脑会默认是GBK
而javac执行的时候,是以GBK去编码的,与默认编码格式不匹配
❓❓该如何解决呢?
✅如果win也是以GBK编码,就解决问题了,或者以UTF-8去编码(javac -encoding utf-8 HelloWorld.java)
2️⃣文档注释
➡️ 在cmd中,使用javadoc工具从Java源码中抽离出注释-d 创建目录 myHello为目录名-author 显示作者-version 显示版本号-encoding UTF-8 -charset UTF-8 字符集修改为UTF-8javadoc -d myHello -author -version -encoding UTF-8 -charset UTF-8 HelloWorld.java
✨这个时候就会在原路径生成一个文件,双击打开相当于一个帮助手册。
📘4. 标识符
在上述程序中,Test称为类名,main称为方法名,也可以将其称为标识符,即:在程序中由用户给类名、方法名或者变量所取的名。
❗❗❗【 硬性规则】标识符中可以包含: 字母、数字以及 下划线和 $ 符号等等。注意: 标识符不能以数字开头,也不能是关键字,且严格区分大小写。【 软性建议】类名:每个单词的首字母大写(大驼峰)方法名:首字母小写,后面每个单词的首字母大写(小驼峰)变量名:与方法名规则相同
🙈下面那些标识符是合法的?
A:class B:HelloWorld C:main D:123abc E:ARRAY_SIZE F: $name G: name:ji
🙉答案是 BEF
📒5. 关键字
➡️通过观察上述程序可以发现,public、class以及static等颜色会发生变化,将这些具有特殊含义的标识符称为关键字。即:关键字是由Java语言提前定义好的,有特殊含义的标识符,或者保留字。
❗注意:用户不能使用关键字定义标识符。
👇在Java中关键字有很多,这里给大家列出来一部分,先了解下后序在逐一详细解释。
二、课后练习
📗1.下列有关JDK, JRE, JVM三者的叙述,正确的是:( )
A.JDK是Java开发工具包 ,包括了Java运行环境JRE(Java Runtime Envirnment)、一堆Java工具(javac/java/jdb等)和Java基础的类库(即Java API 包括rt.jar)。
B.JRE是运行基于Java语言编写的程序所不可缺少的运行环境。也是通过它,Java的开发者才得以将自己开发的程序发布到用户手中,让用户使用。
C.JVM是整个Java实现跨平台的最核心的部分,所有的Java程序会首先被编译为.class的类文件,这种类文件可以在虚拟机上执行。也就是说class并不直接与机器的操作系统相对应,而是经过虚拟机间接与操作系统交互,由虚拟机将程序解释给本地系统执行
D.JDK中包含了JRE,JRE又包含JVM
🙈大家觉得答案是什么呢
🙉答案是 ABCD 啦~
💡本题的解题关键:
答案中A,B,C是JDK,JRE,JVM三者的定义,另外JDK当中包含JRE,JRE包含JVM。故:A,B,C,D是正确的。
📕2.下列说法不正确的是( )
A.Java当中的注释有,单行注释,多行注释(块注释),文档注释。
B.注释可以提高代码可读性 ,方便后期代码维护 ,方便程序员间的交流沟通 ,生成帮助文档 。
C.注释不能长篇大论,也不要太过于简单,适度就好。
D.注释并不需要,只要变量等命名合理就行。
🙈大家觉得答案是什么呢
🙉答案是 D 啦~
💡本题的解题关键:
ABC均为正确的选择。
D错误,原因是注释非常重要,如果不加注释,有可能自己写的代码,在若干天后自己都不认识了。一个好的代码,需要好的注释,好的风格共同决定的。所以,注释很重要!
📙3.在java中,下列标识符不合法的有( )
A.new
B.$Usdollars
C.1234
D.car.taxi
🙈大家觉得答案是什么呢
🙉答案是 ACD 啦~
💡本题的解题关键:
Java中标识符由,数字,字母,下划线,美元符号组成。不能使用Java中的关键字作为标识符。
A:new是Java的关键字,故错误
B:正确,但是不建议美元符号开始。
C:不能数字开始或者都是数字
D:不能包含点号
故选择A,C,D
📘4.下列语句哪一个正确 ( )
A.Java程序经编译后会产生machine code
B.Java程序经编译后会产生byte code
C.Java程序编译使用命令javac 运行使用 java 命令
D.以上都不正确
🙈大家觉得答案是什么呢
🙉答案是 BC 啦~
💡本题的解题关键:
A选项:编译后产生的是字节码并不是机器码
B选项:由A得知,B正确
C选项:java源程序通过javac 编译生成字节码文件,通过java命令运行java程序,故C正确
D选项:错误