java基础知识
java基础知识详细介绍
以下是Java的一些基础知识:
一、基本概念
1. Java平台和版本
- Java有三个主要平台:Java SE(标准版,用于桌面应用开发等)、Java EE(企业版,用于企业级应用开发)和Java ME(微型版,用于移动和嵌入式设备开发)。目前广泛使用的是Java 8、Java 11等版本。
2. Java程序运行机制
- Java是一种高级编程语言,采用先编译后解释的运行方式。代码先被编译成字节码( .class 文件),字节码再由Java虚拟机(JVM)解释执行,这种方式使得Java程序具有良好的跨平台性。
二、基本语法
1. 数据类型
- 基本数据类型
- 整数类型: byte (1字节,范围是 - 128到127)、 short (2字节)、 int (4字节,默认整数类型)、 long (8字节)。例如, int num = 10; 。
- 浮点类型: float (4字节)和 double (8字节,默认浮点类型)。如 double pi = 3.14; 。
- 字符类型: char (2字节),用于存储单个字符,用单引号表示,如 char ch = 'A'; 。
- 布尔类型: boolean ,只有 true 和 false 两个值,用于条件判断,如 boolean flag = true; 。
- 引用数据类型:包括类、接口、数组等。例如, String 是一个引用数据类型,用于存储字符串, String str = "Hello"; 。
2. 变量和常量
- 变量声明和初始化:先声明变量类型,再给变量赋值。例如, int age; age = 20; ,也可以在声明时初始化,如 int score = 90; 。
- 常量:使用 final 关键字定义,常量的值在初始化后不能被修改。如 final double PI = 3.14159; 。
3. 运算符和表达式
- 算术运算符:加( + )、减( - )、乘( * )、除( / )、取余( % )。例如, 5 + 3 结果为8, 7 % 3 结果为1。
- 关系运算符:用于比较两个值的大小,等于( == )、不等于( != )、大于( > )、小于( < )、大于等于( >= )、小于等于( <= )。如 4 > 2 结果为 true 。
- 逻辑运算符:与( && )、或( || )、非( ! ),用于组合多个条件判断。例如, (3 > 1) && (4 < 6) 结果为 true 。
- 赋值运算符:简单赋值( = )、复合赋值( += 、 -= 、 *= 、 /= 等)。如 a += 2 等价于 a = a + 2 。
三、控制结构
1. 条件语句
- if语句:根据条件执行代码块。例如, if (age >= 18) { System.out.println("你是成年人"); } 。
- if - else语句:提供两种选择。如 if (score >= 60) { System.out.println("及格"); } else { System.out.println("不及格"); } 。
- switch语句:用于多分支选择。例如:
int day = 3;
switch (day) {
case 1:
System.out.println("星期一");
break;
case 2:
System.out.println("星期二");
break;
case 3:
System.out.println("星期三");
break;
default:
System.out.println("其他");
}
2. 循环语句
- for循环:用于已知循环次数的情况。例如,打印1到10的数字:
for (int i = 1; i <= 10; i++) {
System.out.print(i + " ");
}
- while循环:先判断条件再执行循环体。如计算1到100的累加和:
int sum = 0;
int j = 1;
while (j <= 100) {
sum += j;
j++;
}
System.out.println(sum);
- do - while循环:先执行一次循环体再判断条件。例如:
int k = 1;
do {
System.out.println(k);
k++;
} while (k <= 5);
四、数组和集合
1. 数组
- 是一种存储同类型数据的容器。声明方式为数据类型[] 数组名,例如 int[] numbers = new int[5]; ,这创建了一个可以存储5个整数的数组。可以通过索引访问数组元素,如 numbers[0] = 1; 。
2. 集合框架
- List接口:常用的实现类有 ArrayList 和 LinkedList 。 ArrayList 基于数组实现,随机访问速度快; LinkedList 基于链表实现,插入和删除操作效率高。例如, ArrayList
list = new ArrayList<>(); list.add("苹果"); 。
- Set接口:代表无序、不可重复的集合,如 HashSet 。例如, HashSet
set = new HashSet<>(); set.add(1); 。
- Map接口:存储键 - 值对,如 HashMap 。例如, HashMap
map = new HashMap<>(); map.put("苹果", 5); 。