Java基础语法入门
Java是一种面向对象的编程语言,语法清晰且易于学习。以下从零基础角度介绍核心语法概念。
变量与数据类型
Java是强类型语言,变量需声明类型。基本数据类型包括:
- 整型(整数):
byte、short、int、long - 浮点型(小数):
float、double - 字符型(字母):
char - 布尔型(true和false):
boolean
整型(整数)
-
byte(字节型):
- 占用1个字节(8位)存储空间
- 表示范围:-128 到 127
- 典型应用场景:处理小型数据或节省内存空间时使用
- 示例:byte age = 25;
-
short(短整型):
- 占用2个字节(16位)存储空间
- 表示范围:-32,768 到 32,767
- 典型应用场景:处理中等范围的整数,比int更节省内存
- 示例:short temperature = -10;
-
int(整型):
- 占用4个字节(32位)存储空间
- 表示范围:-2,147,483,648 到 2,147,483,647
- 典型应用场景:最常用的整数类型,适用于大多数数值计算
- 示例:int population = 1400000000;
-
long(长整型):
- 占用8个字节(64位)存储空间
- 表示范围:-9,223,372,036,854,775,808 到 9,223,372,036,854,775,807
- 典型应用场景:处理极大整数时使用,需要在数字后加L或l后缀
- 示例:long worldPopulation = 8000000000L;
这些整型变量类型的选择应根据实际需求来决定:
- 当数值范围较小时优先使用byte或short以节省内存
- 一般情况下使用int
- 处理极大整数时才使用long
- 在Java等语言中,这些类型的范围是固定的
浮点型(小数)
-
float(单精度浮点数):
- 占用4字节(32位)内存空间
- 精度约为6-7位有效数字
- 数值范围:±1.5×10^-45 到 ±3.4×10^38
- 示例应用场景:游戏开发中的简单物理计算、温度测量等精度要求不高的场景
- 示例声明:float price = 19.99f;
-
double(双精度浮点数):
- 占用8字节(64位)内存空间
- 精度约为15-16位有效数字
- 数值范围:±5.0×10^-324 到 ±1.7×10^308
- 示例应用场景:科学计算、金融计算、高精度测量等需要更高精度的场景
- 示例声明:double pi = 3.141592653589793;
注意事项:
- 浮点数计算可能存在精度误差(如0.1+0.2≠0.3)
- 在需要精确计算的场合(如金融)应考虑使用浮点类型
- 不同编程语言中浮点数的实现可能略有差异
- 在内存有限的嵌入式系统中,通常优先使用float节省空间
字符型(字母):char
char是C/C++等编程语言中用于存储单个字符的基本数据类型。它的特点包括:
存储特性:
- 占用1字节(8位)的内存空间
- 可以存储ASCII字符集中的任意字符(共128个)
- 实际上存储的是字符对应的ASCII码值
1.常见用途:
- 存储单个字母(如:'A', 'b', 'z')
- 存储数字字符(如:'0', '9')
- 存储特殊符号(如:'@', '#', '$')
- 作为字符串的基本组成单元
- 声明和初始化示例:
char grade = 'A'; // 存储字母
char digit = '7'; // 存储数字字符
char symbol = '$'; // 存储特殊符号
- 注意事项:
- 使用单引号('')表示字符常量
- 可以参与算术运算(实际是ASCII码值的运算)
- 与整型数据兼容(可以相互转换)
- 范围通常是-128到127(有符号)或0到255(无符号)
-
特殊字符表示:
- 转义字符:'\n'(换行), '\t'(制表符), '\'(反斜杠)
- 空字符:'\0'(ASCII值为0,常用于字符串终止符)
在实际应用中,char类型常用于处理用户输入、文本处理和底层数据操作等场景。
布尔型(boolean)的基本概念
布尔型是编程中表示逻辑值的数据类型,仅有两个可能的值:true(真)或 false(假)。常用于条件判断、循环控制等场景。
布尔变量的声明与赋值
在多数编程语言中,布尔变量可通过直接赋值或表达式结果获得:
// Java 示例
boolean isActive = true;
boolean isGreater = (5 > 3); // 结果为 true
布尔运算
常见的布尔运算包括逻辑与(AND)、或(OR)、非(NOT):
- 与运算(AND):
&&或and - 或运算(OR):
||或or - 非运算(NOT):
!或not - 异或运算(XOR)
// JavaScript 示例
let a = true;
let b = false;
console.log(a && b); // 输出 false(逻辑与)
console.log(a || b); // 输出 true(逻辑或)
console.log(!a); // 输出 false(逻辑非)
console.log()是往控制台输出
a && b (a和b都为true时才输出true否则输出false)
a || b (a和b不管哪一个只要有true就输出true,只有当a和b都为false时才输出flase)
布尔型在条件语句中的应用
布尔值常用于控制程序流程:
// C 语言示例
int age = 18;
if (age >= 18) {
printf("Adult"); // 条件为 true 时执行
} else {
printf("Minor");
}
布尔型的隐式转换
某些语言会将其他类型自动转换为布尔值:
# Python 中非零、非空值为 True
if "hello":
print("非空字符串为 True")
if 0:
print("不会执行")
注意事项
- 部分语言(如 C)用
0和1表示假和真,但严格布尔类型应使用true/false。 - 比较运算(如
==、>)的结果为布尔值。
通过以上示例可快速掌握布尔型的基本用法。
示例:
int age = 25; // 整数
double price = 19.99; // 浮点数
char grade = 'A'; // 字符
boolean isJavaFun = true; // 布尔值
运算符
常用运算符:
- 算术运算符:
+、-、*、/、% - 比较运算符:
==、!=、>、< - 逻辑运算符:
&&(与)、||(或)、!(非)
示例:
int sum = 10 + 5; // 结果为15
boolean result = (10 > 5) && (3 < 4); // true
控制结构
条件语句:
if (age >= 18) {
System.out.println("成年人");
} else {
System.out.println("未成年人");
}
循环语句:
for循环:
for (int i = 0; i < 5; i++) {
System.out.println(i); // 输出0到4
}
-
while循环:
int count = 0;
while (count < 3) {
System.out.println(count);
count++;
}
方法(函数)
方法用于封装代码逻辑,需定义返回类型和参数:
public int addNumbers(int a, int b) {
return a + b;
}
// 调用方法
int sum = addNumbers(3, 4); // sum为7
数组
数组用于存储同类型数据集合:
int[] numbers = {1, 2, 3, 4};
System.out.println(numbers[0]); // 输出1
// 遍历数组
for (int num : numbers) {
System.out.println(num);
}
数组的索引从零开始
那为什么数组的索引不能从一开始呢?
因为数组在内存中是连续存储的。假设数组首元素地址为base,每个元素占用k字节,索引i对应的元素地址计算公式为: address = base + i * k
若索引从1开始,计算第n个元素的地址需调整为: address = base + (i - 1) * k 多出的减法操作会降低效率。零基索引消除了这种冗余计算。
CPU指令集(如x86)的寻址模式原生支持"基址+偏移量"访问方式,其中偏移量从0开始。零基索引能直接映射到硬件指令,减少编译后的机器码指令数量。
早期编程语言如B语言(C语言前身)使用零基索引,C语言继承这一特性后,后续语言为保持一致性延续该设计。零基索引已成为行业标准,改变会导致大量现有代码不兼容。
注释
注释用于解释代码,不会被编译:
- 单行注释:
// 注释内容 - 多行注释:
/* 这是
多行注释 */
通过以上基础语法,可以开始编写简单的Java程序。后续可深入学习类、继承、接口等面向对象高级特性。
如果这篇文章对你有用,可以点个赞哦


7700

被折叠的 条评论
为什么被折叠?



