【Java】java的认识
ja va的认识初识Ja va的main方法,是一切入门的起点。很多新手第一次看到那段“Hello World”代码时,心里可能满是问号——这怎么比C语言、Python的入口长了一大截?别急,我们先拆开来看。1.1 main方法示例 public class HelloWorld{ public s
ja va的认识
初识Ja va的main方法,是一切入门的起点。很多新手第一次看到那段“Hello World”代码时,心里可能满是问号——这怎么比C语言、Python的入口长了一大截?别急,我们先拆开来看。
1.1 main方法示例
public class HelloWorld{
public static void main(String[] args){
System.out.println("Hello,world");
}
}
上面这段代码,可以说是Ja va世界中仪式感最强的起手式。Ja va的main方法,在主流编程语言里确实算得上“最长”的——不是因为语法复杂,而是因为它把程序的结构意图交代得清清楚楚。
通过这段代码,我们能看到一个完整Ja va程序的骨架。它由三个部分层层嵌套而成:
- 源文件(扩展名为.ja va):源文件里放的是类的定义。小程序可能只有一个类,但所有代码都得用花括号包起来。
- 类:类里装着方法。方法必须在类的内部声明,不能跑出去。
- 方法:方法的花括号里才是真正干活的语句。
一句话概括:源文件里放类,类里放方法,方法里放语句。层级分明,像俄罗斯套娃。
注意一个硬性规定:一个源文件中只能有一个public修饰的类,而且源文件的名字必须和这个public类的名字一模一样。大小写都不能错。
好了,代码写完了,怎么让它跑起来?
运行Ja va程序
Ja va是一门“半编译半解释”的语言。先用ja vac编译器把源文件编译成.class文件——这个文件里装的是字节码,跟平台无关,是专门给JVM(Ja va虚拟机)看的。然后启动Ja va虚拟机(也就是ja va命令),让它去读取.class文件,把字节码翻译成当前操作系统能理解的指令。
所以,在运行之前,必须先装好JDK(Ja va开发工具包)。JDK里自带ja vac和ja va这两个工具。最终Ja va程序是在JVM里运行的——JVM就像一台虚拟的“Ja va计算机”。
这里穿插一道经典面试题:JDK、JRE、JVM三者是什么关系?
- JDK(Ja va Development Kit):给程序员用的开发工具包,里面包含了JRE,还附加了编译器
ja vac、调试工具jconsole、jstack等。 - JRE(Ja va Runtime Environment):Ja va运行时环境,里面包含了JVM和Ja va基础类库。只要运行Ja va程序,就得有JRE。
- JVM:Ja va虚拟机,负责把字节码翻译成机器码执行。是JRE的核心部件。
刚上手时,可能会碰上一堆奇奇怪怪的错误,这里列举几个最常见的:
- 源文件名后缀不是
.ja va(比如写成了.txt) - 类名和文件名不一致(大小写也算)
- main方法名字写成了
mian(手滑是常有的事) - 类没有用
public修饰 - 方法里的语句忘了加分号结尾
- 用了中文全角分号(看着一样,其实不认)
- JDK环境没配好,系统找不到
ja vac或ja va命令
再说一次main方法的完整样子:
public static void main(String[] args)
这是固定的入口格式,谁都不能改。
注释
注释是为了让代码更易读而加的说明文字,编译的时候会被忽略,但写好了能救你一命。
基本规则
Ja va里有三种注释:
- 单行注释:
// 注释内容(最常用) - 多行注释:
/* 注释内容 */(不太推荐,容易嵌套出错) - 文档注释:
/** 文档注释 */(一般放在类或方法上方,描述作用,还能被ja vadoc工具解析成网页文档)
注意两点:第一,多行注释不能嵌套;第二,所有注释都不参与编译,生成的.class文件里看不到注释。
举个例子:
/**
* 文档注释:@version v1.0.0 @author will
* 作用:HelloWorld类,入门第一个程序练习
*/
/*
多行注释:1. main方法是Ja va程序的入口方法
2. main函数的格式是固定的,必须为public static void main(String[] args)
*/
public static void main(String[] args){
// 单行注释:System.out.println是Ja va中标准输出,会将内容输出到控制台
System.out.println("Hello World");
}
在命令行里,可以用ja vadoc工具从源码里抽离注释,生成文档:
ja vadoc -d myHello -author -version -encoding UTF-8 -charset UTF-8 HelloWorld.ja va
注释规范
好的注释要满足几个要求:
- 内容准确:注释要和代码一致,改代码时必须同步更新注释。
- 篇幅合理:别太精简让人看不懂,也别长篇大论读不下去。
- 使用中文:一般国内公司都要求中文注释,外企另说。
- 积极向上:注释里不要带负面情绪(比如骂领导之类的),职业素养很重要。
标识符
上面程序里的HelloWorld(类名)、main(方法名)等,都是标识符——也就是程序员自己取的名字,给类、方法或变量用。
【硬性规则】
- 标识符可以包含:字母、数字、下划线(
_)、美元符号($)。 - 不能以数字开头。
- 不能是关键字。
- 严格区分大小写(
name和Name不一样)。
【软性建议】
- 类名:每个单词首字母大写(大驼峰),比如
HelloWorld、MyFirstApp。 - 方法名:首字母小写,后面每个单词首字母大写(小驼峰),比如
getName、setAge。 - 变量名:同方法名规则。
大工程都是多人协作,如果每个人随意取名——比如person、PERSON、Person、_person混着用,代码读起来会像天书。遵守命名规范,能让团队代码看起来像一个人写的。
考考大家:下面哪些标识符是合法的?
A:class B:HelloWorld C:main D:123abc E:ARRAY_SIZE F:$name G:name:jim
答案是B、E、F!class是关键字,123abc以数字开头,name:jim里冒号不合法。
关键字
在刚才的代码里,public、class、static这些词的颜色会和普通标识符不一样——它们被Ja va提前赋予了特殊含义,叫作关键字(也叫保留字)。
用户不能用关键字来定义自己的标识符。比如你不能定义一个叫class的变量,也不能叫public。
Ja va的关键字有很多,这里先列一部分,后面逐一详细解释:
abstract, assert, boolean, break, byte, case, catch, char, class, const, continue, default, do, double, else, enum, extends, final, finally, float, for, goto, if, implements, import, instanceof, int, interface, long, native, new, package, private, protected, public, return, short, static, strictfp, super, switch, synchronized, this, throw, throws, transient, try, void, volatile, while


































