前言

本文详细讲解Java注释、变量、数据类型、运算符、键盘输入输出、流程控制语句、数组七大基础内容。

一、注释

注释是用于对代码进行解释说明的文本,程序编译和运行时会自动忽略,不会影响程序执行,主要用于提升代码可读性,方便后期维护。

Java中分为三种注释方式。

1. 单行注释

使用 // 开头,仅对当前一行内容生效

// 定义整型变量存储年龄
int age = 18;

2. 多行注释

使用 /* */ 包裹,可以一次性注释多行内容

/*
  多行注释演示
  用于编写大段代码说明
  不参与程序运行
*/
String name = "Java学习";

3. 文档注释

使用/** */ 包裹,常用于类、方法上方,可生成官方API文档。

/**
 * Java基础测试类
 */
public class BasicTest {
}

二、变量

变量是程序中用于存储数据的内存空间,变量存储的数据在程序运行过程中可以随时修改。

1. 变量定义格式

数据类型 变量名 = 数据值;

2. 变量使用

public class Var {
    public static void main(String[] args) {
        // 定义变量并初始化
        String userName = "双栈小码哥";
        int studyDay = 30;

        // 修改变量值
        studyDay = 40;

        // 打印变量数据
        System.out.println("博主:" + userName);
        System.out.println("学习天数:" + studyDay);
    }
}

3. 变量命名规则

变量命名必须遵循规范,否则程序会编译报错:

  • 由字母、数字、下划线、$符号组成,不能以数字开头

  • 不能使用Java关键字,例如:int、class、public

  • 严格区分大小写,num和Num是两个不同变量

  • 统一使用小驼峰命名法:首字母小写,后续单词首字母大写


三、数据类型

Java是强类型语言,所有变量必须声明数据类型。数据类型决定了变量占用的内存空间和存储的数据范围,主要分为基本数据类型引用数据类型两大类。

1. 八大基本数据类型

public class DataType {
    public static void main(String[] args) {
        // 整数类型
        byte b = 10;
        short s = 99;
        int i = 1000;
        long l = 8888L;

        // 浮点类型
        float f = 3.14F;
        double d = 5.20;

        // 字符类型
        char c = 'J';

        // 布尔类型
        boolean flag = true;

        System.out.println("byte:" + b);
        System.out.println("double:" + d);
        System.out.println("字符:" + c);
        System.out.println("布尔值:" + flag);
    }
}

2. 引用数据类型

引用类型存储的是对象的内存地址,常用类型:字符串、数组、类、接口,最常用的String字符串类型示例:

String info = "Java零基础入门教程";

3. 数据类型转换

  • 自动类型转换:取值范围小的类型自动转换为取值范围大的类型

  • 强制类型转换:取值范围大的类型转小类型,需手动强转,可能丢失精度

// 自动转换
int num = 10;
double res = num;

// 强制转换
double score = 99.9;
int intScore = (int) score;

四、运算符

运算符是用于完成程序中数据运算、逻辑判断的核心语法,Java常用运算符分为五类:算术运算符、赋值运算符、关系运算符、逻辑运算符、三元运算符。

1. 算术运算符

包含:+、-、*、/、%、++、--,用于基础数值计算

public class Operate {
    public static void main(String[] args) {
        int a = 20;
        int b = 3;
        System.out.println(a + b);
        System.out.println(a - b);
        System.out.println(a * b);
        System.out.println(a / b);
        System.out.println(a % b);

        // 自增运算
        a++;
        System.out.println(a);
    }
}

2. 赋值运算符

包含:=、+=、-=、*=、/=、%=,用于给变量赋值、累加赋值

int num = 10;
num += 5;
System.out.println(num);

3. 关系运算符

包含:>、<、>=、<=、==、!=,运算结果为布尔值true/false

int x = 100;
int y = 80;
System.out.println(x > y);
System.out.println(x == y);
System.out.println(x != y);

4. 逻辑运算符

包含:&&、||、!,用于拼接多个条件判断,返回布尔结果

int score = 75;
boolean result = score > 60 && score < 90;
System.out.println(result);

5. 三元运算符

语法:条件 ? 结果1 : 结果2,条件成立返回结果1,不成立返回结果2

int age = 20;
String msg = age >= 18 ? "已成年" : "未成年";
System.out.println(msg);

五、输入输出

输入输出是Java实现人机交互的基础,输出用于打印程序数据,输入用于接收用户手动录入的数据。

1. 基础输出语句

public class Print {
    public static void main(String[] args) {
        // 换行输出
        System.out.println("Java基础教程");
        // 不换行输出
        System.out.print("双栈小码哥");
    }
}

2. Scanner键盘输入

通过Scanner工具类,接收用户控制台输入的字符串、数字等数据

import java.util.Scanner;

public class Input {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        System.out.print("请输入姓名:");
        String name = sc.next();

        System.out.print("请输入分数:");
        int score = sc.nextInt();

        System.out.println("姓名:" + name + ",分数:" + score);
        sc.close();
    }
}

六、流程控制

Java程序默认从上至下顺序执行,流程控制语句可以改变代码执行顺序,实现条件判断、循环执行等业务逻辑,分为分支语句和循环语句。

1. 分支流程

if-else条件判断
public class IfTest {
    public static void main(String[] args) {
        int score = 88;
        if (score >= 90) {
            System.out.println("优秀");
        } else if (score >= 60) {
            System.out.println("及格");
        } else {
            System.out.println("不及格");
        }
    }
}
switch选择判断
public class SwitchDemo {
    public static void main(String[] args) {
        int week = 2;
        switch (week) {
            case 1:
                System.out.println("星期一");
                break;
            case 2:
                System.out.println("星期二");
                break;
            default:
                System.out.println("未知日期");
        }
    }
}

2. 循环流程

for循环(已知循环次数)
// 循环打印1-5
for (int i = 1; i <= 5; i++) {
    System.out.println("循环次数:" + i);
}
while循环(未知循环次数)
int i = 1;
while (i <= 3) {
    System.out.println("Java循环练习");
    i++;
}
循环控制关键字

break:终止当前整个循环;continue:跳过本次循环,执行下一次循环


七、数组

数组是用于存储相同数据类型、固定长度数据的容器,可以批量管理一组同类型数据。

1. 数组定义与初始化

public class ArrayDemo {
    public static void main(String[] args) {
        // 静态初始化数组
        int[] numArr = {11,22,33,44,55};

        // 动态初始化数组
        String[] strArr = new String[3];
        strArr[0] = "Java";
        strArr[1] = "Python";
        strArr[2] = "编程";

        // 普通for循环遍历数组
        for (int i = 0; i < numArr.length; i++) {
            System.out.println(numArr[i]);
        }
    }
}

2. 增强for循环遍历

简化数组遍历写法,无需操作下标

for (String str : strArr) {
    System.out.println(str);
}

3. 数组核心特点

  • 数组长度初始化后不可修改

  • 数组下标从0开始,最大下标为 数组长度-1

  • 访问不存在的下标会抛出数组越界异常

4. 二维数组

二维数组可以理解为数组中嵌套数组,主要用于存储表格数据、矩阵数据。

(1)二维数组定义与初始化
public class TwoArrayDemo {
    public static void main(String[] args) {
        // 静态初始化二维数组
        int[][] arr1 = {{1,2,3},{4,5,6},{7,8,9}};

        // 动态初始化二维数组(确定行数、列数)
        int[][] arr2 = new int[2][3];
        arr2[0][0] = 10;
        arr2[0][1] = 20;
        arr2[1][0] = 30;
        arr2[1][1] = 40;

        // 不规则二维数组(行数固定,列数不固定)
        int[][] arr3 = new int[3][];
        arr3[0] = new int[]{1,2};
        arr3[1] = new int[]{3,4,5};
        arr3[2] = new int[]{6};
    }
}
(2)二维数组遍历方式

通过双层for循环遍历,外层循环遍历行,内层循环遍历列

// 遍历静态二维数组
int[][] arr = {{1,2,3},{4,5,6},{7,8,9}};
for (int i = 0; i < arr.length; i++) {
    for (int j = 0; j < arr[i].length; j++) {
        System.out.print(arr[i][j] + " ");
    }
    // 每行遍历完成后换行
    System.out.println();
}
(3)二维数组核心特点
  • 二维数组存储格式:行+列,通过数组名[行下标][列下标]访问元素

  • 支持规则二维数组(行列固定)和不规则二维数组(行列不统一)

  • 适合存储班级成绩、矩阵数据、多组批量数据等场景


点赞+收藏+关注,希望本文能对您的学习和工作有所帮助。

Logo

CANN开发者社区旨在汇聚广大开发者,围绕CANN架构重构、算子开发、部署应用优化等核心方向,展开深度交流与思想碰撞,携手共同促进CANN开放生态突破!

更多推荐