java用途
java 是一种广泛使用的编程语言,应用领域包括:
1.企业级应用开发
-
使用 Spring、Hibernate 等框架开发大型企业系统
-
银行、金融行业的后台系统
-
ERP、CRM 等管理系统
2.Android 应用开发
-
Android SDK 主要使用 Java 语言
-
移动应用和游戏开发
3.Web 应用开发
-
服务器端开发 (Servlet/JSP)
-
使用 Spring Boot 等框架开发 RESTful API
4.大数据技术
- Hadoop、Spark 等大数据处理框架
- 数据分析与处理
5.嵌入式系统
- 智能卡、传感器等嵌入式设备
- IoT (物联网) 应用
6.科学计算
- 数学建模和科学计算应用
- 高性能计算
7.桌面应用
- Swing/JavaFX 开发的 GUI 程序
- 跨平台桌面工具
java特性
java 是一种广泛使用的面向对象编程语言,以其 跨平台性、健壮性、安全性 和 丰富的生态系统 著称。以下是java 的主要特性:
1. 跨平台性
-
JVM(Java Virtual Machine):Java 代码编译为字节码,由 JVM 解释执行,实现跨平台兼容性(Windows、Linux、macOS 等)。
-
"一次编写,到处运行":开发者无需针对不同操作系统修改代码。
2.强类型与静态类型
-
强类型:变量必须显式声明类型,类型转换需严格。
-
静态类型:编译时检查类型错误,提升代码安全性。
3.应用场景
-
企业级开发:Spring、Jakarta EE。
-
Android 开发(历史上主要语言,现逐步被 Kotlin 替代)。
-
大数据:Hadoop、Spark 等框架基于 Java。
-
嵌入式系统:java ME(微型版)。
4. 版本演进与新特性
-
java 8(2014):
-
Lambda 表达式、函数式接口。
-
Stream API(集合操作)。
-
默认方法(default method) in 接口。
-
-
java 11(LTS):
-
HTTP Client API(标准化)。
-
局部变量类型推断(var)。
-
-
java 17(2021, LTS):
-
密封类(sealed class)限制继承。
-
模式匹配(instance of增强)。
-
javabase变量和数据类型
1.变量
java变量是存储数据的基本单元,在程序中用于保存各种类型的信息,基本语法为:数据类型 变量名;
-
必须以字母、下划线(_)或美元符号($)开头
-
后续字符可以是字母、数字、下划线或美元符号
-
不能使用Java关键字
-
区分大小写
2.数据类型
java 的数据类型分为基本数据类型和引用数据类型两大类
基本数据类型:
java 有 8 种 基本数据类型,直接存储数据值,不属于对象,但可以自动装箱为对应的包装类。
类型 | 关键字 | 大小(字节) | 取值范围 | 默认值 |
---|---|---|---|---|
整数型 | byte | 1 | -128 ~ 127 | 0 |
short | 2 | -32,768 ~ 32,767 | 0 | |
int | 4 | -2³¹ ~ 2³¹-1(约 ±21 亿) | 0 | |
long | 8 | -2⁶³ ~ 2⁶³-1 | 0L | |
浮点型 | float | 4 | ±3.4E38(约 6-7 位有效数字) | 0.0f |
double | 8 | ±1.7E308(约 15 位有效数字) | 0.0d | |
字符型 | char | 2 | Unicode 字符(0 ~ 65,535) | '\u0000' |
布尔型 | boolean | 1(JVM 实现) | true/false | false |
引用数据类型:
引用类型存储的是 对象的地址(堆内存引用),默认值为 null。
-
类(Class):如 String、自定义类(person)。
-
接口(Interface):如 List、Runnable。
-
数组(Array):如 int
[]
、String[]。 -
枚举(Enum):如 enum Color {RED,GREEN}。
java 基础运算符
java 提供了多种运算符,用于执行算术、逻辑、比较、位运算等操作。以下是 java 中主要的运算符分类及用法:
1. 算术运算符
用于数学计算:假设a=10,b=3
运算符 | 描述 | 示例 | 结果 |
---|---|---|---|
+ | 加法 | a + b | 13 |
- | 减法 | a - b | 7 |
* | 乘法 | a * b | 30 |
/ | 除法 | a / b | 3(整数除法,舍去小数) |
% | 取模(余数) | a % b | 1(10 % 3 = 3 余1) |
++ | 自增 | a++ | a变为11 |
-- | 自减 | a-- | a变为9 |
2. 关系运算符(比较运算符)
用于比较两个值,返回 boolean(true/false):
运算符 | 描述 | 示例 | 结果(a=10 , b=3 ) |
---|---|---|---|
== | 等于 | a == b | false |
!= | 不等于 | a!= b | true |
> | 大于 | a > b | true |
< | 小于 | a < b | false |
>= | 大于等于 | a >= b | true |
<= | 小于等于 | a <= b | false |
3. 逻辑运算符
用于组合多个条件,返回 boolean:
运算符 | 描述 | 示例 | 结果(a= true, b= false) |
---|---|---|---|
&& | 逻辑与 | a && b | false(全真才真) |
|| | 逻辑或 | a || b | true(一真即真) |
! | 逻辑非 | !a | false |
短路特性
-
&&:如果第一个条件为 false,不再计算第二个条件。
-
||:如果第一个条件为 true,不再计算第二个条件。
4. 赋值运算符
用于简化赋值操作:
运算符 | 示例 | 等价于 |
---|---|---|
= | a = 5 | a = 5 |
+= | a += 3 | a = a + 3 |
-= | a -= 2 | a = a - 2 |
*= | a *= 4 | a = a * 4 |
/= | a /= 2 | a = a / 2 |
%= | a %= 3 | a = a % 3 |
5. 三元运算符(条件运算符)
语法:条件 ?
表达式1 :
表达式2
如果条件为 true,返回 表达式1,否则返回 表达式2。
示例:
int a = 10; int b = 20; int max = (a > b) ? a : b; // max=20
java输入器
在 Java 中,有多种方式可以实现从用户获取输入的功能。
Scanner类是 Java 5 引入的一个实用工具类,位于java.util包中,可以方便地从不同输入源读取数据。
Scanner 常用方法:
方法 | 描述 |
---|---|
next() | 读取下一个字符串(以空格分隔) |
nextLine() | 读取一行文本 |
nextInt() | 读取一个整数 |
nextDouble() | 读取一个双精度浮点数 |
nextBoolean() | 读取一个布尔值 |
hesNext() | 检查是否还有输入 |
注意事项
-
在读取数值后如果要读取字符串,需要额外调用一次nextLine()来消耗换行符
-
使用完毕后应该调用close()方法关闭 Scanner
java条件结构
Java 提供了多种条件控制结构,用于根据不同的条件执行不同的代码块。
条件结构 | 适用场景 | 示例 |
---|---|---|
if | 单条件判断 | if(a<=10){......} |
if-else | 二选一 | if(a<=10){......}else{......} |
if-else if-else.... | 多条件判断 | if(a<=10){......}else if(a<=5){......}else{......} |
switch-case | 多分支固定值匹配 | switch(day){case 1: ......} |
三元运算符 | 简化单行条件赋值 | max = (a > b) ? a : b; |
java随机数
Random类位于java.util.Random,提供丰富的随机数生成方法。可以生成整数、浮点数、布尔值等。
方法 | 返回值 | 范围 | 示例 |
---|---|---|---|
nextInt() | int | 所有可能的int值(含负数) | int a = random.nextInt(); |
nextLong() | Long | 所有可能的long值 | long b= randomLong(); |
nextDouble() | Double | [0.0,1.0) | double c = random.nextDouble(); |
nextFloat() | Float | [0.0,1.0) | float d = random.nextFloat(); |
nextBoolean() | Boolean | true或 false | boolean e = random.nextBoolean(); |
java循环
1.While循环
While循环是 Java 中最基本的循环结构之一,用于 在条件为真时重复执行代码块。它适用于不确定循环次数的场景。
-
while:先判断条件,再执行循环体。
-
do - while:先执行一次循环体,再判断条件。
-
避免死循环:确保循环条件能变为false。
2.for 循环
for循环是 Java 中最常用的循环结构之一,用于 在已知循环次数的情况下重复执行代码块。它比while循环更紧凑,适合遍历数组、集合或执行固定次数的操作。
执行流程:
-
初始化:循环开始时执行一次(通常用于声明计数器变量)。
-
检查条件:如果为true,执行循环体;否则退出循环。
-
执行迭代语句:每次循环体执行后运行(通常用于更新计数器)。
-
重复步骤2和3,直到条件为false。
for vs while 循环
循环类型 | 特点 | 适用场景 |
---|---|---|
for | 自动管理计数器,代码紧凑 | 已知循环次数(如遍历数组) |
while | 条件控制,灵活性高 | 不确定循环次数(如文件读取) |
do - while | 至少执行一次 | 菜单交互、输入验证 |
java数组
数组是java中用于存储 固定数量同类型数据 的数据结构,通过索引访问元素。
数组基本概念
-
长度固定(创建后不能修改)。
-
索引从
0
开始,到 length - l结束。 -
可以存储基本类型或对象类型。
操作 | 方法/语法 |
---|---|
声明数组 | int [ ] arr; |
静态初始化 | int [ ] arr = {1,2,3,4,5}; |
动态初始化 | int [ ] arr = new int [5]; |
获取长度 | arr.length |
遍历数组 | for循环或增强 for |