当前位置: 首页 > news >正文

Java:基础语法

基础语法

  • 1. 基本结构
    • 类和方法
  • 2. 变量和数据类型
    • 基本数据类型
    • 引用数据类型
  • 3. 操作符
    • 算术操作符
    • 比较操作符
    • 逻辑操作符
  • 4. 控制结构
    • 条件语句
    • 循环语句
  • 5. 数组
  • 6. 方法
  • 7. 面向对象编程
    • 类和对象
    • 继承
    • 多态
  • 8. 异常处理
  • 9. 常用类库

1. 基本结构

类和方法

Java程序的基本单位是类,每个类包含一个或多个方法。类是对象的蓝图,定义了对象的属性和行为。方法是执行特定任务的代码块。

public class HelloWorld {public static void main(String[] args) {System.out.println("Hello, World!");}
}
  • public class HelloWorld: 定义一个公共类HelloWorld
  • public static void main(String[] args): 定义程序的入口方法main,它是Java程序的执行起点。
  • System.out.println("Hello, World!");: 输出字符串到控制台。

2. 变量和数据类型

基本数据类型

Java有八种基本数据类型,每种类型都有固定的大小和范围。

  • byte: 8位整数,范围-128到127。
  • short: 16位整数,范围-32,768到32,767。
  • int: 32位整数,范围-231到231-1。
  • long: 64位整数,范围-263到263-1。
  • float: 32位单精度浮点数。
  • double: 64位双精度浮点数。
  • char: 16位Unicode字符。
  • boolean: 布尔类型,只有两个值:truefalse
int age = 25;
double price = 19.99;
char grade = 'A';
boolean isJavaFun = true;

引用数据类型

引用数据类型包括类、接口和数组。

  • String: 代表字符串。
String name = "Alice";

3. 操作符

算术操作符

用于进行算术运算。

  • +: 加法。
  • -: 减法。
  • *: 乘法。
  • /: 除法。
  • %: 取模(余数)。
int a = 10;
int b = 5;
int sum = a + b; // 15
int diff = a - b; // 5
int product = a * b; // 50
int quotient = a / b; // 2
int remainder = a % b; // 0

比较操作符

用于比较两个值。

  • ==: 等于。
  • !=: 不等于。
  • >: 大于。
  • <: 小于。
  • >=: 大于等于。
  • <=: 小于等于。
int x = 10;
int y = 20;
boolean isEqual = (x == y); // false
boolean isNotEqual = (x != y); // true
boolean isGreater = (x > y); // false
boolean isLesser = (x < y); // true
boolean isGreaterOrEqual = (x >= y); // false
boolean isLesserOrEqual = (x <= y); // true

逻辑操作符

用于进行逻辑运算。

  • &&: 逻辑与。
  • ||: 逻辑或。
  • !: 逻辑非。
boolean a = true;
boolean b = false;
boolean andResult = (a && b); // false
boolean orResult = (a || b); // true
boolean notResult = !a; // false

4. 控制结构

条件语句

  • if语句:根据条件执行不同的代码块。
if (age > 18) {System.out.println("Adult");
} else {System.out.println("Not Adult");
}
  • switch语句:根据变量的值执行不同的代码块。
int day = 2;
switch (day) {case 1:System.out.println("Monday");break;case 2:System.out.println("Tuesday");break;// 其他casedefault:System.out.println("Invalid day");
}

循环语句

  • for循环:用于固定次数的循环。
for (int i = 0; i < 10; i++) {System.out.println(i);
}
  • while循环:用于基于条件的循环。
int i = 0;
while (i < 10) {System.out.println(i);i++;
}
  • do-while循环:类似于while循环,但至少执行一次。
int i = 0;
do {System.out.println(i);i++;
} while (i < 10);

5. 数组

数组是相同数据类型元素的集合。

int[] numbers = {1, 2, 3, 4, 5};
for (int number : numbers) {System.out.println(number);
}

6. 方法

方法是执行特定任务的代码块,可以传入参数并返回结果。

public int add(int a, int b) {return a + b;
}public static void main(String[] args) {HelloWorld hw = new HelloWorld();int sum = hw.add(5, 3);System.out.println(sum); // 输出8
}

7. 面向对象编程

类和对象

类是对象的蓝图,对象是类的实例。

public class Dog {String breed;int age;void bark() {System.out.println("Woof");}
}public class TestDog {public static void main(String[] args) {Dog myDog = new Dog();myDog.breed = "Labrador";myDog.age = 3;myDog.bark();}
}

继承

通过继承,一个类可以继承另一个类的属性和方法。

public class Animal {void eat() {System.out.println("This animal eats food.");}
}public class Dog extends Animal {void bark() {System.out.println("Woof");}
}public class TestInheritance {public static void main(String[] args) {Dog myDog = new Dog();myDog.eat(); // 输出"This animal eats food."myDog.bark(); // 输出"Woof"}
}

多态

多态允许不同类的对象通过相同的接口调用不同的方法实现。

public class Animal {void sound() {System.out.println("Animal makes a sound");}
}public class Dog extends Animal {void sound() {System.out.println("Woof");}
}public class Cat extends Animal {void sound() {System.out.println("Meow");}
}public class TestPolymorphism {public static void main(String[] args) {Animal myDog = new Dog();Animal myCat = new Cat();myDog.sound(); // 输出"Woof"myCat.sound(); // 输出"Meow"}
}

8. 异常处理

Java通过异常处理机制来处理运行时错误,确保程序的健壮性。

try {int division = 10 / 0;
} catch (ArithmeticException e) {System.out.println("Cannot divide by zero");
} finally {System.out.println("This block is always executed");
}
  • try块:包含可能抛出异常的代码。
  • catch块:捕获并处理异常。
  • finally块:无论是否发生异常,始终执行的代码块。

9. 常用类库

Java标准库提供了许多实用的类和方法,例如java.util包中的ArrayList类:

import java.util.ArrayList;public class TestArrayList {public static void main(String[] args) {ArrayList<String> list = new ArrayList<>();list.add("Apple");list.add("Banana");list.add("Cherry");for (String fruit : list) {System.out.println(fruit);}}
}
  • import java.util.ArrayList;: 导入ArrayList类。
  • ArrayList<String> list = new ArrayList<>();: 创建ArrayList对象。
  • list.add("Apple");: 向列表添加元素。
  • for (String fruit : list): 使用增强的for循环遍历列表。

相关文章:

Java:基础语法

基础语法 1. 基本结构类和方法 2. 变量和数据类型基本数据类型引用数据类型 3. 操作符算术操作符比较操作符逻辑操作符 4. 控制结构条件语句循环语句 5. 数组6. 方法7. 面向对象编程类和对象继承多态 8. 异常处理9. 常用类库 1. 基本结构 类和方法 Java程序的基本单位是类&am…...

安装bedtools详细步骤和详细介绍bedtools用法

安装bedtools详细步骤和详细介绍bedtools用法 一、安装bedtools详细步骤下载解压安装编译依赖编译设置环境变量激活环境变量执行命令查看版本二、详细介绍bedtools用法使用bedtools示例用法bedtools intersectbedtools bamtobedbedtools window一、安装bedtools详细步骤 下载 …...

21 - grace数据处理 - 补充 - 泄露误差改正 - Slepian局部谱分析法(一) - slepian分析法理论理解

21 - grace数据处理 - 泄露误差改正 - Slepian局部谱分析法 - slepian分析法理论理解 0 引言1 slepian谱分析法1.1 slepian谱分析法AI解释1.2 基于slepian谱分析法的GRACE数据处理应用2 slepian谱分析法关键过程实现2.1 求解正定特征方程2.2 计算slepian基函数2.3 计算Shannon数…...

WLAN国家码与信道顺从表

国家码和信道顺从表及信道功率限制 不同的国家和地区规定了在本国或本地区可以使用的信道、射频信号在信道中的最大发射功率。工作在不同信道的射频信号&#xff0c;信号强度可能会有差别。国家码和信道顺从表、各信道的功率限制值、信道编号和频率对照关系请参见国家码和信道…...

行为型设计模式1:状态/策略/命令

行为型设计模式&#xff1a;状态/策略/命令 (qq.com)...

【知识专栏丨python数分实战】天猫订单数据分析及可视化|taobao天猫订单接口

今天这篇文章将给大家介绍天猫订单数据分析及可视化案例。 import pandas as pdimport numpy as npfrom pyecharts.charts import Pie,Bar,Line,Map,Map3D,Funnelfrom pyecharts import options as optsimport matplotlib.pyplot as pltimport warningsimport seaborn as snsfr…...

[kimi笔记]为什么csc.exe不可以双击运行

csc.exe 是 C# 编译器的可执行文件&#xff0c;它是 .NET Framework 的一部分&#xff0c;用于编译 C# 源代码文件&#xff08; .cs 文件&#xff09;生成可执行文件&#xff08; .exe 文件&#xff09;或其他类型的程序集。 csc.exe 不能通过双击运行的原因有以下几点&…...

护眼大路灯哪个牌子好?2024学生护眼大路灯推荐

护眼大路灯哪个牌子好&#xff1f;护眼大路灯不仅能够提供日常的光线照明&#xff0c;还模拟了太阳光光线&#xff0c;使在室内用眼学习也能够有着自然光般的舒适感&#xff0c;但现在市场上有许多对产品质量把控不过关、光线效果欠佳、存有安全隐患的劣质护眼大路灯产品&#…...

Vue项目中手搓滑动校验模块-demo

实现代码 SliderCheck.vue <template><div class"drag" ref"dragDiv"><div class"drag_bg" ref"dragBg"></div><div class"drag_text" ref"dragText">{{ confirmWords }}</di…...

Socket如何实现客户端和服务器间的通信

Socket 是实现网络通信的一种机制&#xff0c;它允许在不同主机之间的进程通过网络进行数据交换。下面我将简要介绍如何使用 Socket 实现客户端和服务器间的通信。 客户端-服务器通信步骤&#xff1a; 服务器端&#xff1a; 创建服务器端 Socket&#xff1a; 服务器端通过创…...

基于Spring boot + Vue的校园论坛

作者的B站地址&#xff1a;程序员云翼的个人空间-程序员云翼个人主页-哔哩哔哩视频 csdn地址&#xff1a;程序员云翼-CSDN博客 1.项目技术栈&#xff1a; 前后端分离的项目 后端&#xff1a;Springboot MybatisPlus 前端&#xff1a;Vue ElementUI 数据库&#xff1a; …...

RabbitMQ高级特性 - 生产者消息确认机制

文章目录 生产者消息确认机制概述confirm 代码实现return 代码实现 生产者消息确认机制 概述 为了保证信息 从生产者 发送到 队列&#xff0c;因此引入了生产者的消息确认机制. RabbitMQ 提供了两种解决方案&#xff1a; 通过事务机制实现.通过发送确认机制&#xff08;confi…...

webpack的loader机制

webpack的loader机制 loader本质上就是导出函数的JavaScript模块。导出的函数&#xff0c;可以用来实现内容的转换。 /* * param{string|Buffer} content 源文件的内容 * param{object} [map] SourceMap数据 * param{any} [meta] meta数据&#xff0c;可以是任何数据 * */ fu…...

(STM32笔记)十一、通过EXTI外部中断实现 按键控制LED

我用的是正点的STM32F103来进行学习&#xff0c;板子和教程是野火的指南者。 之后的这个系列笔记开头未标明的话&#xff0c;用的也是这个板子和教程。 十一、通过EXTI外部中断实现 按键控制LED 十一、通过EXTI外部中断实现 按键控制LED1、按键模块按键原理图按键程序思路 2、中…...

假如家里太大了,wifi连不上了怎么办

最近有个土豪朋友抱怨&#xff0c;他家里太大了&#xff0c;一个路由器的Wi-Fi信号根本无法覆盖他们家的每个房间&#xff0c;都没办法上网看奥运会比赛了。&#xff08;还好我是穷人&#xff0c;就没有这种烦恼T_T&#xff09;。 然后我问他为何不用一个路由器作主路由器&…...

elementPlus 设置el-input文本域固定高度和禁止下拉

elementPlus 设置el-input文本域固定高度和禁止下拉 话不多说直接上代码 // resize"none" 禁止下拉<el-inputv-model"textarea"style"width: 240px"type"textarea"resize"none"placeholder"请输入"/>// 设…...

(转)领导人必过的三道关

为什么企业领导人享受优厚的待遇&#xff0c;为什么董事会对企业领导人千挑万选?因为企业生命如此脆弱&#xff0c;据美国《财 富》杂志报道&#xff0c;世界500强企业平均寿命40年&#xff0c;世界1000强企业平均寿命30年&#xff0c;一般跨国公司平均寿命10年。而就是这脆弱…...

速盾:cdn可以定时刷新缓存吗?

CDN&#xff08;Content Delivery Network&#xff09;是一种通过在全球各地分布的服务器上缓存和传送网站内容的技术&#xff0c;以提高用户访问速度和降低服务器负载。CDN的缓存机制可以减少用户对源服务器的请求次数&#xff0c;从而提高网站的响应速度和性能。但是&#xf…...

代码随想录算法训练营第二十九天| 62.不同路径、63. 不同路径 II

写代码的第二十九天 继续动归&#xff01;&#xff01;&#xff01; 62.不同路径 思路 解决问题1&#xff1a;dp[i][j]的的含义是什么&#xff1f;本题给的是一个二维的表&#xff0c;判断从左上角走到右下角有多少种路径&#xff0c;所以dp应该是二维数组&#xff0c;dp[i]…...

Go+Redis零基础到用户管理系统API实战_20240730 课程笔记

概述 如果您没有Golang的基础&#xff0c;应该学习如下前置课程。 Golang零基础入门Golang面向对象编程Go Web 基础Go语言开发REST API接口_20240728Go语言操作MySQL开发用户管理系统API教程_20240729Redis零基础快速入门_20231227 基础不好的同学每节课的代码最好配合视频进…...

ScreenAgent:基于LVLM的计算机控制智能体

ScreenAgent : A Vision Language Model-driven Computer Control Agent 论文链接: https://arxiv.org/abs/2402.07945https://arxiv.org/abs/2402.07945IJCAI 2024 1.概述 大型语言模型(LLM),诸如ChatGPT与GPT-4,在自然语言处理领域(涵盖生成、理解及对话等任务)展现出…...

谷粒商城实战笔记-129-商城业务-商品上架-nested数据类型场景

文章目录 扁平化处理扁平化处理导致的检索问题 解决方案&#xff1a;使用 nested 结构 在es的数据类型中有一个nested类型&#xff0c;本讲将重点讨论这个类型。 扁平化处理 PUT my_index/doc/1 {"group" : "fans","user" : [{"first&quo…...

axios请求响应拦截器

目录 axios-拦截器 拦截器的作用 请求拦截器-基本写法: axios请求拦截器-统一设置token 需求: 核心步骤: 关键代码: 响应拦截器-基本写法: axios响应拦截器-统一处理token失效 需求: 核心步骤: 关键代码: axios响应拦截器-数据剥离 需求: 核心步骤: 关键代码: ax…...

Python 中单例模式实现的几种方式

在设计模式中&#xff0c;单例模式是经常被提及和使用的一种模式。它保证一个类只有一个实例&#xff0c;并提供全局访问点。在Python中&#xff0c;有多种实现单例模式的方法。那么&#xff0c;如何选择合适的方法来实现单例模式呢&#xff1f; 单例模式在Python中的几种实现方…...

mysql数据库触发器同步数据

首先检查数据源库是否支持触发器&#xff0c;show ENGINES&#xff0c;如果FEDERATED是NO&#xff0c;表示未开启&#xff0c;如需开启&#xff0c;再mysql配置文件中&#xff0c;添加federated配置到mysqld下面。 一、同服务器不同库触发器同步&#xff0c;这里只举例插入数据…...

Prometheus-v2.45.0+Grafana+邮件告警

目录 普罗米修斯监控架构介绍 Prometheus 监控架构 1. 数据抓取&#xff08;Scraping&#xff09; 2. 时序数据库&#xff08;TSDB&#xff09; 3. 数据模型 4. PromQL 查询语言 5. 告警&#xff08;Alerting&#xff09; 6. Alertmanager 7. 可视化&#xff08;Visu…...

LeetCode——572. 另一颗树的子树

通过万岁&#xff01;&#xff01;&#xff01; 题目&#xff1a;给你两棵树&#xff0c;然后问subRoot是不是root的子树。也就是root某个节点的所有孩子节点在值和结构上完全与subRoot相同。思路&#xff1a;我的思路比较简单&#xff0c;就是遍历root&#xff0c;遇到root中…...

Spring Boot整合MyBatis-Flex

说明&#xff1a;MyBatis-Flex&#xff08;官网地址&#xff1a;https://mybatis-flex.com/&#xff09;&#xff0c;是一款数据访问层框架&#xff0c;可实现项目中对数据库的访问&#xff0c;类比MyBatis-Plus。本文介绍&#xff0c;在Spring Boot项目整合MyBatis-Flex。 创…...

重塑未来体验:边缘计算与云原生的完美邂逅

&#x1f407;明明跟你说过&#xff1a;个人主页 &#x1f3c5;个人专栏&#xff1a;《未来已来&#xff1a;云原生之旅》&#x1f3c5; &#x1f516;行路有良友&#xff0c;便是天堂&#x1f516; 目录 一、引言 1、云原生的兴起 2、边缘计算的兴起 二、边缘计算基础 …...

浅谈基础数论(c++)

目录 一些常见的符号表示阶乘定理 快速幂模板题代码扩展&#xff1a;矩阵快速幂主要作用 欧拉函数扩展积性函数 欧拉函数求法筛选法求欧拉函数&#xff08;积性函数&#xff09; 扩展欧几里得裴蜀定理问题分析代码 问题分析 同余与逆元如何求解逆元扩展欧几里得 例题讲解X-Magi…...