之前发过一期简单的入门《 Java 上的HelloWorld,怎么这么多细节?》 ,接下来将会是系统地学习Java之旅~
JavaSE & JavaEE
Java Standard Edition | Java Enterprise Edition |
---|---|
开发桌面应用和简单服务器程序 | 用于开发大型、分布式企业应用和Web应用 |
核心语言特性和基本API(如I/O、网络、GUI) | 企业级API(如Servlet、JSP),特性更广泛、复杂 |
适合小型和中型应用 | 适合大型应用 |
可在标准JVM上运行 | 需要特定的应用服务器 |
Java的发展历史
Java之父 —— 詹姆斯·高斯林(James Gosling),Sun 公司(后被Oracle收购)
1995年PC互联网时代,5月时以Java名称发布,提出“Write once, run anywhere.”口号。
能实现跨平台的主要原因就是编译后的 *.class 文件,可以跨平台运行。
JDK安装和后续文章环境说明
- 环境:JDK安装路径不要有中文,以后装软件里面也不要有中文。如果是多个Java版本请设置PATH指定命令行中使用的开发环境版本(如果是IDE内,直接软件内切换即可)
- 集成开发环境IDE:IDEA Community 2022.1.4(社区版)免费,软件寻找:Bing搜索idea→IntelliJ IDEA→“下载”按钮→软件图片右下角“其他版本”→看第二列Community部分的,下拉找到2022.1.4中 2022.1.4 – Windows x64 (exe)
- 后续文章中的环境(如果没有特殊说明的话):
Windows 11、 JDK17(17.0.9)、IDEA Community 2022.1.4 - 如果向他人请教Java编程中的疑问,请先附上自己的环境~
PATH配置路径:(Windows 11)右键任务栏的开始选择设置→系统→下拉到最后找到设备信息→相关链接中的高级系统设置→高级选项卡中最下面的环境变量,双击其中的Path进入“编辑环境变量”窗口,新建 %JAVA_HOME%\bin;
(其中博主右多个Java版本所以加了数字进行区分方便切换环境,新建的这个路径格式应该是 %变量名%\bin
,还需在“环境变量”窗口下再点击一次“新建…”从而新建名为JAVA_HOME的变量,值为JDK安装的路径)

HelloWorld I/O
更多可以联系前文:《Java上的HelloWorld,怎么这么多细节?》
流程
① 写代码 → 保存为 HelloWorld.java
public class HelloWorld{
public static void main(String[] args) {
System.out.println("HelloWorld");
}
}
② cmd内编译 (javac.exe)→ 生成字节码文件 HelloWorld.class
javac HelloWorld.java
③ cmd内执行输出
java HelloWorld
运行在JVM(Java虚拟机)上,包含在JDK中。
【面试考法】JDK、JRE、JVM区别?
- JDK:Java开发⼯具包(Java Development Kit),提供给Java程序员使⽤,包含了JRE,同时还包含了编译器javac与⾃带的调试⼯具Jconsole、jstack等。
- JRE:Java运⾏时环境(Java Runtime Environment),包含了JVM,Java基础类库。是使⽤Java
语⾔编写程序运⾏的所需环境。 - JVM:Java虚拟机,运⾏Java代码

各部分概念带过
public 修饰符 | class 定义类的关键字 | Test 类名 | |
public | static 声明类的静态成员 | void main(String[] args) 方法 |
命令行参数 String[] args
用一个测试案例说明可以借助该参数输入一些值:
public class HelloWorld{
public static void main(String[] args) {
for (int i=0;i<args.length;i++){
System.out.println(args[i]);
}
}
}
java HelloWorld nibbles hello world!
// 输出:
// nibbles
// hello
// world
Java代码文件的层级

class
是类,在⼀个代码⽂件中只能有⼀个public修饰的类,⽽且代码⽂件名字必须与public修饰的类名字相同。- 方法即为函数,
main()
依然是程序的入口 - 代码规范:注意左花括号的位置
注释
//单行注释
/*多行注释*/
/** ⽂档注释 */
/**
文档注释:
@version v1.1.0
@author nibbles
HelloWorld practice
*/
//javadoc命令用于生成文档注释
javadoc -d myHello -author -version -encoding UTF-8 -charset UTF-8 HelloWorld.java
字符集不对的报错

如果说需要在注释中或输出中包含中文,需要保持文件编码和cmd命令行编码的统一,否则会在编译时候出现如上错误。比如都设置为GBK,见下:
如何查看cmd窗口的代码页编码?
右键cmd窗口标题栏,属性→当前代码页

不推荐更改代码页编码,其更改注册表比较繁琐。文件转编码其实更快。
如何按指定编码保存?
以VSCode编辑器为例,

或者在写编译命令时,加上encoding参数 (表示文件是以UTF-8保存的,那么编译时候解码就如此)
javac HelloWorld.java -encoding utf-8
使用IDE就可以避免这个情况。
注释规范
- 内容准确:注释内容要和代码一致匹配,并在代码修改时及时更新
- 篇幅合理:注释既不应该太精简,也不应该扯车轱辘话长篇大论
- 使用中文:一般中国公司都要求使用中文写注释,外企另当别论
- 积极向上:注释中不要包含负能量
标识符
给类名、⽅法名或者变量所取的名字。标识符中可以包含:字⺟、数字以及 下划线和 $ 、_ 符号等(不可以加冒号)。但不能以数字开头,也不能是关键字,且严格区分⼤⼩写。
驼峰命名建议
- 类名:每个单词的⾸字⺟⼤写(⼤驼峰) ,如
Test
- ⽅法名/变量名:⾸字⺟⼩写,后⾯每个单词的⾸字⺟⼤写(⼩驼峰),如
studentName
未来就业时候视入职公司的发的代码规范/浏览的之前的代码而定,一学代码规范二学业务。
关键字
由Java语言提前定义好的,有特殊含义的标识符或保留字。

IDEA高效开发
快捷补全语句(输入后按tab)
psvm
或main
→public static void main(String[] args){}
sout
→System.out.println()
运行 (点击框选的 ▶ 即可)

数据类型
打印语句和字面常量
public class Test {
public static void main(String[] args) {
// 输出123后自动换行,println或print可以接受任意类型
System.out.println(123);
// 去掉ln则输出末尾不换行
System.out.print(123);
// 类似于C语言中的printf("%d\n",123);格式化字符串的写法。【用得少】
System.out.printf("%d",123);
}
}
字面常量概念同其他语言,就是固定不变的量,分字符串常量(双引号””括起来的)、整型常量、浮点数常量、字符常量(单引号”括起来的)、布尔常量(true或false)、空常量(null)。
数据类型
字符串、整型、浮点型、字符型以及布尔型,在Java中都称为数据类型。

附注:
- 内存占用的字节数不因电脑操作系统的32位还是64位的改变而改变
- 没有像C语言一样分有符号还是无符号的概念,正负均可表示
变量
同C语言中的变量定义方法。
public class Test {
public static void main(String[] args) {
//<数据类型关键字> <变量名>=<值>
int num = 10;
System.out.println(num);
}
}
尤其注意要把局部变量(定义在方法内的变量叫局部变量)还要初始化,不能简单的一个 int num;
,否则会导致编译就报错
对于int类型的变量,四个字节中最高位是符号位(1bit),0为正,1为负。后面31个bit(位)才真正代表数值大小。所以如果对于1字节内7bit数值位的话,可以表示范围也就是 -2^7~(2^7-1)即-128~127。
则对于-128 转化为 二进制源码为 1 1000 0000;反码为 1 0111 1111(符号位不变);补码(=反码+1)为 1 1000 0000。
范围验证:
public class Test {
public static void main(String[] args) {
System.out.println(Integer.MAX_VALUE); // Integer属于包装类型,此语句可以输出int类型的最大值
System.out.println(Integer.MIN_VALUE); // 此语句可以输出int类型的最小值
}
}
在直接赋值常量值的情况下,如果给变量的值超出类型本身可接受的范围,也会在编译时候直接报错。
评论 (0)