【Java基础语法入门】

该文章已生成可运行项目,

Java基础语法入门

Java是一种面向对象的编程语言,语法清晰且易于学习。以下从零基础角度介绍核心语法概念。

变量与数据类型

Java是强类型语言,变量需声明类型。基本数据类型包括:

  • 整型(整数)byteshortintlong
  • 浮点型(小数)floatdouble
  • 字符型(字母)char
  • 布尔型(true和false)boolean

整型(整数)
  1. byte(字节型)
    • 占用1个字节(8位)存储空间
    • 表示范围:-128 到 127
    • 典型应用场景:处理小型数据或节省内存空间时使用
    • 示例:byte age = 25;
  2. short(短整型)

    • 占用2个字节(16位)存储空间
    • 表示范围:-32,768 到 32,767
    • 典型应用场景:处理中等范围的整数,比int更节省内存
    • 示例:short temperature = -10;
  3. int(整型)
    • 占用4个字节(32位)存储空间
    • 表示范围:-2,147,483,648 到 2,147,483,647
    • 典型应用场景:最常用的整数类型,适用于大多数数值计算
    • 示例:int population = 1400000000;
  4. 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等语言中,这些类型的范围是固定的

浮点型(小数)
  1. float(单精度浮点数):
    • 占用4字节(32位)内存空间
    • 精度约为6-7位有效数字
    • 数值范围:±1.5×10^-45 到 ±3.4×10^38
    • 示例应用场景:游戏开发中的简单物理计算、温度测量等精度要求不高的场景
    • 示例声明:float price = 19.99f;
  2. 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')
  • 存储特殊符号(如:'@', '#', '$')
  • 作为字符串的基本组成单元
  1. 声明和初始化示例:
char grade = 'A';  // 存储字母
char digit = '7';  // 存储数字字符
char symbol = '$'; // 存储特殊符号

  1. 注意事项:
  • 使用单引号('')表示字符常量
  • 可以参与算术运算(实际是ASCII码值的运算)
  • 与整型数据兼容(可以相互转换)
  • 范围通常是-128到127(有符号)或0到255(无符号)
  1. 特殊字符表示

  • 转义字符:'\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)用 01 表示假和真,但严格布尔类型应使用 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程序。后续可深入学习类、继承、接口等面向对象高级特性。

    如果这篇文章对你有用,可以点个赞哦

    本文章已经生成可运行项目
    评论
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

    当前余额3.43前往充值 >
    需支付:10.00
    成就一亿技术人!
    领取后你会自动成为博主和红包主的粉丝 规则
    hope_wisdom
    发出的红包
    实付
    使用余额支付
    点击重新获取
    扫码支付
    钱包余额 0

    抵扣说明:

    1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
    2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

    余额充值