Java快速入门系列-3(Java基础)

news2025/1/13 14:00:33

第三章:Java基础

    • 3.1 Java语法基础
      • 3.1.1 Java程序入口点:`main`方法
      • 3.1.2 注释
      • 3.1.3 变量声明与赋值
      • 3.1.4 数据类型
      • 3.1.5 标识符与关键字
    • 3.2 数据类型与变量
      • 3.2.1 基本数据类型
      • 3.2.2 引用数据类型
    • 3.3 控制流程
      • 3.3.1 条件语句
      • 3.3.2 循环结构
    • 3.4 数组与集合
      • 3.4.1 数组
      • 3.4.2 集合框架
    • 3.5 异常处理
    • 3.6 泛型与枚举
      • 3.6.1 泛型
      • 3.6.2 枚举

开篇图

3.1 Java语法基础

Java作为一门面向对象的编程语言,其语法简洁且结构清晰。我们首先从Java程序的基本结构开始学习。

3.1.1 Java程序入口点:main方法

每个Java应用程序都必须包含一个主入口点,即public static void main(String[] args)方法。下面是一个最简单的Java程序示例:

public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello, World!"); // 输出语句
    }
}

这个程序定义了一个名为HelloWorld的公共类,并在其内部实现了main方法。System.out.println()是Java中用于输出到控制台的标准方法。

3.1.2 注释

Java提供了三种类型的注释:

  • 单行注释:
// 这是一个单行注释
  • 多行注释:
/*
这是
一个多行
注释
*/
  • 文档注释(Javadoc):
/**
 * 这是一个文档注释,通常用于生成API文档。
 * @author Your Name
 * @since Java 21
 */

3.1.3 变量声明与赋值

在Java中,变量需要先声明再使用,例如:

int age; // 声明一个整型变量age
age = 25; // 给age赋值为25

或者可以同时声明并初始化变量:

String name = "Alice"; // 声明并初始化一个字符串变量name

3.1.4 数据类型

Java支持多种数据类型,包括基本类型和引用类型。基本类型如int, float, boolean, char等;引用类型主要包括类、接口和数组。

int num = 10; // 基本类型:整型
String str = "Hello"; // 引用类型:字符串
double pi = 3.14; // 基本类型:浮点型
boolean isTrue = true; // 基本类型:布尔型
char letter = 'A'; // 基本类型:字符型

3.1.5 标识符与关键字

标识符是用来命名Java中的各种元素(如类名、方法名和变量名)的名称。它必须以字母、下划线_或美元符号$开始,后续部分可以包含字母、数字、下划线或美元符号。关键字是Java保留的具有特殊含义的单词,不能用作标识符。

3.2 数据类型与变量

3.2.1 基本数据类型

Java有8种基本数据类型,分别为:

  • 整形:byte, short, int, long
  • 浮点型:float, double
  • 字符型:char
  • 布尔型:boolean

3.2.2 引用数据类型

  • 类类型
  • 接口类型
  • 数组类型
String[] names = new String[3]; // 数组声明与初始化
names[0] = "Alice";
names[1] = "Bob";
names[2] = "Charlie";

3.3 控制流程

3.3.1 条件语句

  • if语句:
if (age >= 18) {
    System.out.println("Adult");
} else {
    System.out.println("Minor");
}
  • switch语句:
switch (dayOfWeek) {
    case "Monday":
        System.out.println("Start of the week!");
        break;
    case "Friday":
        System.out.println("End of the work week!");
        break;
    default:
        System.out.println("Enjoy your day!");
        break;
}

3.3.2 循环结构

  • for循环:
for (int i = 0; i < 10; i++) {
    System.out.println(i);
}
  • while循环:
int count = 0;
while (count < 5) {
    System.out.println(count);
    count++;
}
  • do-while循环:
do {
    System.out.println("This will execute at least once");
} while (condition); // condition为某个判断条件

3.4 数组与集合

3.4.1 数组

数组是一种固定大小的、存储相同类型元素的数据结构。在Java中,数组可以通过索引访问其元素。

int[] numbers = new int[]{1, 2, 3, 4, 5};
System.out.println(numbers[0]); // 输出: 1

3.4.2 集合框架

Java集合框架提供了丰富的类来处理动态大小的集、列表、队列、映射等数据结构,如ArrayList、LinkedList、HashSet、HashMap等。

import java.util.ArrayList;

ArrayList<String> namesList = new ArrayList<>();
namesList.add("Alice");
namesList.add("Bob");
System.out.println(namesList.get(0)); // 输出: Alice

3.5 异常处理

Java通过异常处理机制来捕获和处理程序运行时可能发生的错误或其他异常情况。

try {
    int divideByZero = 1 / 0; // 发生ArithmeticException
} catch (ArithmeticException e) {
    System.out.println("Cannot divide by zero!");
} finally {
    // 无论是否发生异常,此处代码都会执行
    System.out.println("Finished processing.");
}

3.6 泛型与枚举

3.6.1 泛型

泛型允许在编译时检查类型安全,并且所有的强制转换都是自动和隐式的,提高了代码的重用率和可读性。

List<String> names = new ArrayList<>();
names.add("Alice");
names.add("Bob");

3.6.2 枚举

枚举类型是一种特殊的类,用于定义一组预定义的常量。

public enum DayOfWeek {
    MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY
}
DayOfWeek today = DayOfWeek.MONDAY;

结前图
以上只是Java基础语法的一部分,后续章节将继续深入探讨更复杂的面向对象特性和高级特性。通过理解和掌握这些基础知识,读者将能够更加熟练地编写出结构良好、逻辑清晰的Java代码。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1569936.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

mbti,ESTP型人格的心理问题分析

什么是ESTP型人格 ESTP分别代表外向&#xff0c;实感&#xff0c;理智&#xff0c;依赖&#xff0c;而ESTP型人格则是一种性格上十分激进&#xff0c;喜欢冒险&#xff0c;并且总是因为情绪起伏过大&#xff0c;而一下子做出应激行为的相对冒险的人格。具有ESTP型人格的人一般…

页面刚加载的时候显示自己定义的{{***}}然后一闪而过

这时候别用插值表达式语法了&#xff0c;直接用v-text或者v-html就能解决这个问题 但是有个问题&#xff0c;如下图所示&#xff1a; 具体bind使用方式&#xff0c;如下图所示&#xff1a; 但是v-bind也可以进行简写&#xff0c;就是去掉v-bind&#xff0c;直接写&#xff1a…

提高空调压缩机能效的通用方法

压缩机的能效提高主要依靠技术改进而不是大幅度增加材料的消耗&#xff0c;这也是技术经济性最好的节能手段。 1、改进电机效率&#xff0c;电机效率的提高意味着压缩机电效率的提高和压缩机总体效率的提高&#xff1b; 1.1、降低定子铜耗 降低定子绕组中电流通过所产生的铜耗…

前端路径问题总结

1.相对路径 不以/开头 以当前资源的所在路径为出发点去找目标资源 语法: ./表示当前资源的路径 ../表示当前资源的上一层路径 缺点:不同位置,相对路径写法不同2.绝对路径 以固定的路径作为出发点作为目标资源,和当前资源所在路径没关系 语法:以/开头,不同的项目中,固定的路径…

Java零基础入门-java8新特性(完结篇)

一、概述 ​上几期&#xff0c;我们是完整的学完了java异常类的学习及实战演示、以及学习了线程进程等基础概念&#xff0c;而这一期&#xff0c;我们要来玩点好的东西&#xff0c;那就是java8&#xff0c;我们都知道java8是自2004年发布java5之后最重要且一次重大的版本更新&a…

4月4号总结

java学习 一.接口 1.介绍 定义接口需要使用到关键字interface去定义接口。 格式如下&#xff1a; 类与接口的关系不是继承&#xff0c;而是实现&#xff0c;用关键字 implements &#xff0c;格式如下&#xff1a; 这个类去实现接口&#xff0c;其中的关系就相当于&#xf…

Hadoop-Yarn

一、Yarn资源调度器 思考&#xff1a; 1&#xff09;如何管理集群资源&#xff1f; 2&#xff09;如何给任务合理分配资源&#xff1f; Yarn 是一个资源调度平台&#xff0c;负责为运算程序提供服务器运算资源&#xff0c;相当于一个分布式的操作系统平台。 而 MapReduce …

『python爬虫』巨量http代理使用 每天白嫖1000ip(保姆级图文)

目录 注册 实名得到API链接和账密 Python3requests调用Scpay总结 欢迎关注 『python爬虫』 专栏&#xff0c;持续更新中 欢迎关注 『python爬虫』 专栏&#xff0c;持续更新中 注册 实名 注册巨量http 用户概览中领取1000ip,在动态代理中使用.用来测试一下还是不错的 得到AP…

可视化大屏 - 项目1

文章目录 技术栈echarts 可视化需求分析代码实现 技术栈 flexible.js rem 实现不同终端下的响应式布局&#xff0c;根据不同屏幕宽度&#xff0c;自适配布局&#xff1b; html中引入index.js&#xff0c;可以改名为flexible.js&#xff1b;默认划分10份&#xff0c;可以自己修…

蓝桥杯 --- 日期问题模板

目录 1.如何判断闰年 2.如何遍历当前年份的每一天 3.如果想要输出某一年某一天到某一年某一天之间一共有多少天。 4.精确到具体周几到周几的问题分析 5.如何直接通过一层for循环枚举年月日 习题&#xff1a; 蓝桥杯竞赛特别喜欢考日期问题&#xff0c;今天给大家分享一下…

Linux云计算之网络基础8——IPV6和常用网络服务

目录 一、IPV6基础 IPV6详解 IPv6数据报的基本首部 IPv6数据报的扩展首部 IPv6地址的表示方法 IPv6地址分类 网际控制报文协议ICMPv6 二、cisco基于IPV6的配置 cisco基于IPV6的配置步骤 模拟配置 三、HTML基础介绍 文档的结构 动手操作一下 四、常用网络服务介绍…

基于单片机的测时仪系统设计

**单片机设计介绍&#xff0c;基于单片机的测时仪系统设计 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 基于单片机的测时仪系统设计是一个结合了单片机技术与测时技术的综合性项目。该设计的目标是创建一款精度高、稳定性强且…

软考109-上午题-【计算机网络】-网络设备

一、网络设备 1-1、物理层的互联设备 物理层的设备&#xff1a;中继器、集线器 1、中继器 中继器&#xff0c;可以使得两个链路在物理层上互联。 可以使得信号再生&#xff0c;信号增强。因此&#xff0c;中继器使得接受用户&#xff0c;收到衰减很小的原始信号 2、集线器&a…

55555555555555

欢迎关注博主 Mindtechnist 或加入【Linux C/C/Python社区】一起学习和分享Linux、C、C、Python、Matlab&#xff0c;机器人运动控制、多机器人协作&#xff0c;智能优化算法&#xff0c;滤波估计、多传感器信息融合&#xff0c;机器学习&#xff0c;人工智能等相关领域的知识和…

【二】Django小白三板斧

今日内容 静态文件配置 request对象方法初识 pycharm链接数据库&#xff08;MySQL&#xff09; django链接数据库&#xff08;MySQL&#xff09; Django ORM简介 利用ORM实现数据的增删查改 【一】Django小白三板斧 HttpResponse 返回字符串类型的数据 render 返回HTML文…

2012年认证杯SPSSPRO杯数学建模D题(第一阶段)人机游戏中的数学模型全过程文档及程序

2012年认证杯SPSSPRO杯数学建模 减缓热岛效应 D题 人机游戏中的数学模型 原题再现&#xff1a; 计算机游戏在社会和生活中享有特殊地位。游戏设计者主要考虑易学性、趣味性和界面友好性。趣味性是本质吸引力&#xff0c;使玩游戏者百玩不厌。网络游戏一般考虑如何搭建安全可…

C语言中的结构体:揭秘数据的魔法盒

前言 在C语言的广阔天地中&#xff0c;结构体无疑是一颗璀璨的明珠。它就像是一个魔法盒&#xff0c;能够容纳各种不同类型的数据&#xff0c;并按我们的意愿进行组合和排列。那么&#xff0c;这个魔法盒究竟有何神奇之处呢&#xff1f;让我们一探究竟。 一、结构体的诞生&…

C++指针与二维数组

按行顺序存放所有元素 二维数组与行 a代表二维数组的首地址&#xff0c;也是第0行的首地址&#xff1b; ai代表第i行&#xff08;个&#xff09;元素的地址&#xff0c;即&a[i]; ai或&a[i]表示行地址&#xff0c;每次加1会移动一行&#xff1b; *&#xff08;ai&#…

STM32CubeMX配置步骤详解五 —— 基础配置(2)

接前一篇文章&#xff1a;STM32CubeMX配置步骤详解四 —— 基础配置&#xff08;1&#xff09; 本文内容主要参考&#xff1a; STM32CUBEMX配置教程&#xff08;一&#xff09;基础配置-CSDN博客 特此致谢&#xff01; 三、STM32CubeMX基础配置 上一回讲解了STM32CubeMX基础…

ELA:深度卷积神经网络的高效局部注意力机制

文章目录 摘要1、引言2、相关工作3、方法3.1、重新审视坐标注意力3.1.1、坐标注意力3.1.2、坐标注意力的不足 3.2、高效局部注意力3.3、多个ELA版本设置3.4、可视化3.5、实现 4、实验4.1、实验细节4.2、ImageNet上的图像分类4.3、目标检测4.4、语义分割 5、结论 摘要 https://…