Java基础:注释、关键字与数据类型详解

目录

1. 注释

1.1 什么是注释

1.2 为什么要写注释

1.3 三种注释的用法

1.3.1 单行注释 //

1.3.2 多行注释 /*...*/

 1.3.3 文档注释 /**...*/

1.4 注释的建议

2. 关键字

2.1 什么是关键字

2.2 常见关键字分类

2.3 常见问题解答

Q1:main 是关键字吗?

Q2:true 和 false 是关键字吗?

3. 标识符

3.1 什么是标识符?

3.2 标识符的命名规则(必须遵守)

3.3 标识符的命名规范(建议遵守)

3.4 代码示例对比

3.5 巩固练习

4. 数据类型

4.1 数据类型概述

4.2 基本数据类型

注意事项

4.3 引用数据类型

        示例

与基本类型的区别

4.4 类型转换

1. 自动类型转换(隐式转换)

2. 强制类型转换(显式转换)

4.5 常见问题

Q1:float和double如何选择?

Q2:char能存中文吗?

Q3:基本类型和包装类的区别?

4.6 实战练习


1. 注释

1.1 什么是注释

注释是程序员在代码中写的“说明文字”,不会被计算机执行。

Java支持三种注释:

1. 单行注释

2. 多行注释

3. 文档注释

常用的注释有单行注释和多行注释这两种,文档注释初学者只需了解即可。

1.2 为什么要写注释

1. 提高代码可读性:别人(或未来的你)能快速理解代码逻辑。

2. 方便调试:可以临时注释掉代码,排查问题。

3. 生成文档:用文档注释 (/** */) 可以直接生成 API 文档(如 JDK 官方文档)。

1.3 三种注释的用法

1.3.1 单行注释 //

作用:注释一行代码,适合简短说明

实例:

// 这是一个单行注释

1.3.2 多行注释 /*...*/

作用:注释多行代码,适合较长的解释或临时禁用代码块

/* 
    这是一个多行注释
    可以写很多行
    下面的代码被注释掉了,不会执行:
     System.out.println("这行不会运行");
*/

 1.3.3 文档注释 /**...*/

作用:用于生成JavaDoc文档

示例:

/**
 * 这是一个计算两数相加的方法
 * @param a 第一个数
 * @param b 第二个数
 * @return 返回 a + b 的结果
 */

1.4 注释的建议

1. 不要写无意义的注释(如 int a = 10; // 定义a为10

2. 注释要清晰简洁,解释 为什么 而不是 做什么(代码本身能看出做什么)。

2. 关键字

2.1 什么是关键字

关键字 是 Java 语言预定义的、有特殊含义的单词(如 classpublicif)。

特点:

1. 全部为小写(如 int,不是 INT)。

2. 不能用作变量名、方法名等(否则编译报错)。

2.2 常见关键字分类

类别示例关键字用途
数据类型intdoubleboolean定义变量类型
流程控制ifelseforwhile控制代码逻辑分支和循环
访问修饰符publicprivateprotected控制类、方法的访问权限
类与对象classnewthissuper面向对象编程
异常处理trycatchthrow处理程序错误

注意:String是类名不是关键字。

2.3 常见问题解答

Q1:main 是关键字吗?

        不是main 只是一个约定俗成的方法名,可以被重命名(但程序入口方法必须是 public static void main(String[] args))。

Q2:true 和 false 是关键字吗?

        它们是 字面量(Literal),不是关键字,但也不能作为标识符。

3. 标识符

3.1 什么是标识符?

标识符是程序员自定义的名称(如类名、变量名、方法名)。

示例:

public class Hello{
    public static void main(String[] args){    
        String name = "wei";  // String用来定义一个字符串变量,name是变量名,wei是字符串字面量 
        int age = 20;         // int用来定义一个整数变量  

    }
}

3.2 标识符的命名规则(必须遵守)

1. 组成字符:

        字母(A-Z/a-z)、数字(0-9)、下划线(_)、美元符($)。

        不能以数字开头(如 1name 错误,name1 正确)。

2. 区分大小写:age 和 Age是两个不同的标识符

3. 不能是关键字(如 int public = 10; 会报错)。

3.3 标识符的命名规范(建议遵守)

类型规范示例错误示例
类名StudentCarstudentCAR
方法名getName()calculateSum()GetName()CALCULATE()
变量名userNamemaxValueusernameMAX_VALUE
常量名MAX_SIZEPImaxSizepi

3.4 代码示例对比

// 合法的标识符
String userName = "Alice";  // 驼峰命名
final double PI = 3.14;     // 常量全大写

// 非法的标识符
int 2ndPlace;    // 错误:数字开头
String class;    // 错误:class 是关键字

注意:标识符最好不要用中文或者拼音

3.5 巩固练习

找出下面代码中的关键字和标识符:

public class Hello {
    public static void main(String[] args) {
        String message = "Hello World";
        System.out.println(message);
    }
}

答案

        关键字:publicclassstaticvoid

        标识符:Hellomainargsmessageprintln

4. 数据类型

4.1 数据类型概述

在 Java 中,数据类型用于定义变量可以存储的数据种类和大小。Java 的数据类型分为两大类:

        1. 基本数据类型(Primitive Types):存储简单的数据值

        2. 引用数据类型(Reference Types):存储对象的引用(地址)

4.2 基本数据类型

Java 有 8 种基本数据类型

数据类型关键字大小取值范围默认值示例
字节型byte1字节-128 ~ 1270byte b = 100;
短整型short2字节-32,768 ~ 32,7670short s = 5000;
整型int4字节-2³¹ ~ 2³¹-1 (约±21亿)0int i = 100000;
长整型long8字节-2⁶³ ~ 2⁶³-10Llong l = 100L;
单精度float4字节±3.4E+38 (约6-7位有效数字)0.0ffloat f = 3.14f;
双精度double8字节±1.7E+308 (约15位有效数字)0.0ddouble d = 3.14;
字符型char2字节Unicode字符(\u0000~\uffff)'\u0000'char c = 'A';
布尔型boolean1位true/falsefalseboolean flag=true;

注意事项

1. 整型默认是int,声明long需加L后缀(推荐大写,避免与1混淆)

long bigNum = 10000000000L;  // 不加L会报错

2. 浮点型默认是double,声明float需加f后缀

float pi = 3.14159f;  // 不加f会报错

3. char使用单引号,可存储Unicode字符

char ch1 = '中';       // 中文字符
char ch2 = '\u0041';  // Unicode编码(A)

4. boolean只有true/false,不能用0/1代替

boolean isJavaFun = true;  // 正确
// boolean flag = 1;      // 错误!

4.3 引用数据类型

引用类型存储的是对象的引用(内存地址),包括:

        类(如String、自定义类)

        接口

        数组

        枚举

        示例

String name = "张三";          // String是类
int[] numbers = {1, 2, 3};    // 数组
Scanner sc = new Scanner(System.in);  // 自定义类

与基本类型的区别

特性基本类型引用类型
存储内容实际数据值对象的引用(地址)
内存分配栈内存堆内存(对象在堆中)
默认值有(如int为0)null
比较方式==比较值==比较地址,equals()比较内容

4.4 类型转换

1. 自动类型转换(隐式转换)

小范围类型 → 大范围类型(编译器自动完成)

int i = 100;
long l = i;  // 自动转为long

double d = 3.14f;  // float自动转为double

2. 强制类型转换(显式转换)

大范围类型 → 小范围类型(可能丢失精度)

double d = 3.14;
int i = (int)d;  // 强制转为int,值为3(丢失小数部分)

char c = (char)65;  // 输出'A'

转换规则

4.5 常见问题

Q1:float和double如何选择?

        需要高精度计算(如货币)用 BigDecimal

        一般情况用 double(默认)

        内存敏感场景用 float

Q2:char能存中文吗?

        可以,Java的char是Unicode编码(2字节),支持中文

char ch = '中';  // 合法

Q3:基本类型和包装类的区别?

        基本类型:直接存储值,效率高

        包装类(如Integer):是对象,可用于泛型、集合

int num = 10;             // 基本类型
Integer objNum = 10;      // 包装类

4.6 实战练习

1. 指出以下代码的错误:

long phone = 13812345678;  // 错误:超出int范围,需加L
float price = 19.99;       // 错误:需加f后缀

2. 计算以下表达式的类型:

double result = 5 + 3.14f;  // 结果为float还是double?
// 答案:double(float自动提升为double)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值