目录
一,相关概念
JRE(Java Runtime Enviroment) 就是 Java 的运行环境。面向 的是Java 程序的使用者,而不是开发者。如果你仅下载并安装了JRE,那么你的系统只能运行 Java 程序。JRE 是运行 Java 程序所必须环境的集合,包含JVM标准实现及 Java 核心类库。它包括 Java 虚拟机、Java 平台核心类和支持文件。它不包含开发工具。
JDK(Java Development Kit) 是 Java 开发工具包,它提供了 Java 的开发环境(提供了编译器 javac 等工具,用于将 java 文件编译为 class 文件)和运行环境(提 供了 JVM 和 Runtime 辅助包,用于解析 class 文件使其得到运行)。如果你下载并安装了 JDK,那么你不仅可以开发 Java 程序,也同时拥有了运行 Java 程序的平台。JDK 是整个 Java 的核心,包括了Java 运行环境(JRE),一堆 Java 工具 tools.jar 和 Java 标准类库 (rt.jar)。
二,Hello World
首先我们通过分析 Hello World 的执行来了解java程序开发的基本步骤
1.编写.java源代码文件
public class HelloWorld {
/*
* 它将输出字符串 Hello World
*/
public static void main(String[] args) {
System.out.println("Hello World"); // 输出 Hello World
}
}
2.借助于javac.exe,编译.java源代码文件,生成.class字节码文件
表现为 Xxx.java
3.借助于java.exe,运行java程序
java Xxx
三,字面量
定义:字面量(Literal)在计算机科学和编程中是指在源代码中直接表示的固定值。这些值可以直接在程序中使用,而不需要通过变量或其他形式的存储来间接引用。字面量通常用来初始化变量或者作为函数参数传递。
字面量可以是以下几种类型:
整数或浮点数(数值字面量)
字符串(字符串字面量)
布尔值(true 或 false)
特殊值如 null 或 undefined (在某些语言中)
对象或数组(在像JavaScript这样的语言中,可以有对象和数组的字面量表示)
例如,在Java中,以下都是字面量:
数值字面量:123, 3.14
字符串字面量:"Hello, world!"
布尔字面量:true, false
特殊字面量:null
四,数据类型
数据类型在编程中是至关重要的概念,它定义了值的类别和可以对该值执行的操作。数据类型决定了数据在计算机内存中的存储方式以及可以对数据执行的合法操作。以下是几种常见的数据类型:
基本数据类型(Primitive Data Types)
这些是最基本的数据类型,不能进一步分解为其他类型。例如:
- 整型 (byte/short/int/long): 用来表示整型数据。,如 123。
- 浮点型 (float/double): 用来表示浮点数据类型,(实际以指数形式存储,有偏差)如 3.14。
- 布尔型 (boolean): 表示逻辑值,只有 true 和 false 两种状态。
- 字符型 (char): 表示单个字符,如 'a'。
基本数据类型 | 字节数 | 默认值 | 包装数据类型 | 备注 |
byte | 1 | 0 | Byte | |
short | 2 | 0 | Short | |
int | 4 | 0 | Integer | |
long | 8 | 0 | Long | |
float | 4 | 0.0f | Float | 数字后加 f |
double | 8 | 0.0 | Double | |
char | 2 | null | Character | 必须用单引号 |
boolean | 1 | flase | Bollean |
包装数据类型
均继承自 Number 抽象类,把基本类型数据封装成对象。基本类型和包装类型之间会自动进行转化。
- 转换基本数据类型到字符串或从字符串转换回来。
- 提供了常量和方法来处理特定数据类型。
- 允许基本数据类型与泛型一起使用,因为泛型要求使用引用类型。
- 支持序列化和反序列化。
- 可以被用作集合框架(如 List, Set, Map)的元素,因为集合只能持有对象,不能直接持有基本数据类型。
类型的转换
非上图顺序需要进行强制类型转换。超出范围会带来风险
引用数据类型(Reference Data Types)
在面向对象的语言中,对象是通过引用访问的,如:
- 类(Class):用户自定义的类型,可以包含属性和方法。
- 接口(Interface):定义行为规范的抽象类型。
- 数组(Array):存储相同类型数据元素的集合。
- 枚举(Enum):一组固定的命名常量。
- 注解(Annotation):用于元数据标记的类型。
- 字符串(String):虽然在 Java 中 String 类本质上是一个对象,但它经常被当作一种特殊的引用数据类型处理
五,变量
声明变量的基本格式:数据类型 + 变量名
Java中支持的变量类型有: 局部变量 ,实例变量 ,静态变量/类变量 ,参数变量
局部变量(Local Variables):局部变量是在方法、构造函数或块内部声明的变量,它们在声明的方法、构造函数或块执行结束后被销毁,局部变量在声明时需要初始化,否则会导致编译错误。
public void example() {
int a = 10; // 局部变量
//...
}
实例变量(Instance Variables):实例变量是在类中声明,但在方法、构造函数或块之外,它们属于类的实例,每个类的实例都有自己的副本,如果不明确初始化,实例变量会被赋予默认值(数值类型为0,boolean类型为false,对象引用类型为null)。
public class example {
int a; // 实例变量
}
静态变量或类变量(Class Variables):类变量是在类中用 static 关键字声明的变量,它们属于类而不是实例,所有该类的实例共享同一个类变量的值,类变量在类加载时被初始化,而且只初始化一次。
静态变量的命名规范:静态变量(也称为类变量)的命名规范通常遵循驼峰命名法,并且通常使用全大写字母,单词之间用下划线分隔,并且要用 static 关键字明确标识。
-
使用驼峰命名法: 静态变量的命名应该使用驼峰命名法,即首字母小写,后续每个单词的首字母大写。
-
全大写字母(大写蛇形命名法): 静态变量通常使用全大写字母,单词之间用下划线分隔。
public class example{
static int a; // 类变量
}
参数变量(Parameters):参数是方法或构造函数声明中的变量,用于接收调用该方法或构造函数时传递的值,参数变量的作用域只限于方法内部。
在调用方法时,必须要给变量传递值(可以是常量,变量,表达式...),参数变量传递值方式可以分为两种:值传递,引用传递
值传递:在方法调用时,传递的是实际参数的值的副本。
引用传递:在方法调用时,传递的是实际参数的引用(即内存地址)。
public void example(int a) {
// 参数变量
// ...
}
六,变量命名规则
命名方法:
-
使用有意义的名字: 变量名应该具有清晰的含义,能够准确地反映变量的用途。避免使用单个字符或无意义的缩写。
-
驼峰命名法: 即将每个单词的首字母大小写不一致的方法 例如:
myExample ,MyExample 约定:变量和方法命名为小驼峰,类的命名为大驼峰
-
避免关键字: 不能使用 关键字(例如,int、double等)作为变量名。
-
区分大小写: Java 是大小写敏感的,因此变量名中的大小写字母被视为不同的符号。
-
不以数字开头: 变量名不能以数字开头,但可以包含数字。
七,运算符
计算机最主要的功能就是计算 Java中的运算符有以下几组
- 算术运算符( + ,- ,* ,/ ,% ,+ + ,- - )
- 关系运算符( ==,!= ,> ,< ,>= , <=)
- 位运算符( & , | , ^ , ~ , << , >> , >>> )
- 逻辑运算符( && , || , ! )
- 赋值运算符( = , += , -= , *= , /= , %= , <<= , >>= , &= , ^= , |= )
- 条件运算符( 三元运算符(? :))
八,流程控制语句
由于顺序结构的程序语句只能被执行一次。
如果想要同样的操作执行多次,就需要使用循环结构。
Java中有三种主要的循环结构:
- while 循环
while( 布尔表达式 ) {
//循环内容
}
- do…while 循环
do {
//代码语句
}while(布尔表达式);
- for 循环
for(初始化; 布尔表达式; 更新运算) {
//代码语句
}
-
增强for循环
for(声明语句 : 表达式)
{
//代码句子
}
-
跳转关键字:break(立刻结束整个循环),continue(结束当次循环不再执行循环体后面的内容,继续下一次循环(执行条件控制语句))
九,知识补充
IDEA快捷键
- //psvm+回车: 快速生成主方法
- //sout+回车: 快速生成输出语句
- //ctrl+d: 快速复制当前行
- //ctrl+x: 剪切当前行
- //ctrl+z: 撤销
- //ctrl+shift+z: 前进
- //ctrl+shift+↑: 代码向上移动一行
- //ctrl+shift+↓: 代码向下移动一行
- //ctrl+alt+←: 回到光标上一次所在的位置
- //ctrl+alt+→: 光标移动到下一次的位置
- //alt+enter+根据提示回车: 解决错误
- //ctrl+alt+L: 快速的格式化代码