Java 随缘杂谈

Java 随缘杂谈

小猿排版大升级!

CPT 105 第一周的课时已经差不多结束了,小猿根据一些同学提的问题写了这篇杂谈。这个系列是根据 CPT105 的教学进度以及同学提问而写的技术向杂谈,一到两周一更,比较随性,不成系统。以后的更新将以专题为主。

在阅读本文之前请先仔细阅读 CPT105 Tutorial以及课件, 并且观看课程视频。

JDK, JRE, JVM

你可能会对这三个名词感到有些糊涂,先给结论: JDK 包含 JRE ,JRE 包含 JVM

JDK: Java Development Kit Java开发工具包,提供了Java运行环境和Java开发工具

JRE: Java Runtime Environment Java运行时环境,安装了JavaRE 的设备可以运行Java程序

JVM: Java Virtual Machine Java虚拟机,Java代码事实上运行在JVM中。JVM是Java跨平台特性实现的载体,Java的核心竞争力所在,这里不铺开讲。有兴趣的自行百度。

Java 程序的组织结构

Java中的源文件以 项目(project) - 包(package) - 源文件(.java文件) 的层级结构组织起来,我们就是在源文件里敲代码。

类 (class) 和 .java 文件的关系

现阶段可以暂时认为一个.java 文件就是一个 class

作为一门面向对象编程 (OOP) 的语言,Java中的一切依托于类存在

方法 method

方法分为数个部分:修饰符,返回类型,方法签名 (method signature) 和方法体

1
2
3
4
访问权限修饰符 是否为静态方法 返回值类型 方法名称(参数表)
{
方法体
}
1
2
3
4
public static void myMethod()
{
System.out.println("Hello\nWorld");
}

其中方法签名包含了方法名称和参数表。方法的创建和调用应该会在下周学到,不用操之过急,这里只给一个基本的概念。

变量 (variable)

可执行Java程序 & 主类 (main class)

1
2
3
4
5
public class MyClass{
public static void main(String[] args){
//my code
}
}

main()方法 (method) 是java程序执行的起点,所有含有main()方法的java源文件都是可执行(run)的。

NetBeans 提供两种执行模式,一是单独执行当前源文件( 前提是当前源文件中含有main()方法 ):

另一种是执行当前项目:

项目的执行从当前项目的主类 (main class) 的 main()方法开始,Run Project之后的括号里就注明了当前的主类(Lab_01).

所有含有main()方法的源文件都有资格成为主类,而相应的,在执行项目时,只有主类的 main() 方法会被执行。

NetBeans 中如何修改主类:

点击Browse便可以查看所有有资格成为主类的类,并自定义主类

Java中变量有八个基本类型:

整数类型:int (整型), long(长整型), short(短整型), byte (字节)

字符类型:char

布尔量:boolean

浮点数(小数): float(单精度浮点类型), double(双精度浮点类型)

数据类型属于编程基础,但是内容又比较多,过两天专门写一篇文章讲吧(咕咕咕)。

变量需要定义,定义后的变量可以赋值,同名变量不可以重复定义,变量有生存期和作用域。

1
2
3
4
int num1 = 2;//定义
int num2 = 3;//定义
num1 = 10; //赋值
num1 = num2; //赋值

生存期作用域以及相关的变量类型过两天专门写一篇文章讲(咕咕咕)。

System.out.println()

System.out.println()是标准输出家族中常用的方法之一。其作用是在output console中输出括号中的内容并换行,如果要输出文本内容,记得加双引号。

System.out.print()一样会输出括号中的内容,但是不会自动换行。

手动换行的方式是在文本中插入 \n , 有兴趣的可以百度逃逸字符自行了解。

可以运行 System.out.print("Hello\nWorld");

用 + 连接文本

加号是Java唯一的重载运算符, 可以用来链接文本内容,在Java中,我们称文本内容为字符串 (String),当加号和字符串相邻出现时,会自动调用重载后的功能。

可以运行下面的语句体会与字符串一起使用时+号的功能

1
2
3
System.out.println("6" + "3");
System.out.println("6" + 3);
System.out.println(6 + 3);

从源文件到可执行文件

本周 CPT105 的教案中提及了.java 文件和 .class 文件。编程语言更接近人类的自然语言,计算机是无法”理解”的,计算机 (cpu) 只能”理解”二进制指令。编程语言发展至今,已经在二进制语言的基础上进行了多层抽象,全然见不到二进制指令的影子了,因此人机之间需要”翻译者”,这个”翻译者”就是编译器,而翻译的过程就称为编译 (compile)。.class 文件可以简单理解为 .java 文件经过翻译后的产物。

而事实上,.class文件被称作字节码(byte code),是提供给JVM执行的。

运算

编程语言中的运算符分为单目运算符,双目运算符,以及三元运算符

基本的: + 加 - 减 *乘 /除 %取余

自增自减运算符(单目): ++ ,–

a++ 等价于 a = a+1a-- 等价于 a = a-1

逻辑运算符: >, <, >=, <=, &&, ||

按位运算: << 左移 >> 右移 ^ 按位异或 &按位与 | 按位或

独自探索java

https://docs.oracle.com/en/java/javase/12/docs/api/index.html

这是Java官方的API文档,可能你现在看不懂他,但是在未来他必然会成为你的良师益友。想要自主学习Java的同学可以选择 《Java核心技术 卷 1》,或者观看B站,Mooc等平台的课程。

马上百粉啦,小猿正在给各位老粉整理 pdf 教材作为福利,现在关注你也是老粉!

有任何问题可以在后台给小猿留言。