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

Java学习教程,从入门到精通, Java 基础语法(4)

1、Java 基础语法

一、Java 简介与开发环境搭建

  1. Java 简介:Java 是一种面向对象的编程语言,具有跨平台、安全、稳定等特点。Java 主要应用于企业级应用、Android 应用开发、大数据处理等领域。
  2. 开发环境搭建:搭建 Java 开发环境需要安装 JDK(Java Development Kit)和 IDE(集成开发环境)。常用的 JDK 版本有 JDK 8、JDK 11 等,常用的 IDE 有 Eclipse、IntelliJ IDEA 等。

2、Java 基础语法

  1. 数据类型

(1)基本数据类型:int、byte、short、long、float、double、char、boolean

(2)引用数据类型:类、接口、数组

  1. 变量与常量

(1)变量:用于存储数据的容器,有作用域和生命周期。定义变量时需要指定数据类型和变量名,如 int age = 20;

(2)常量:在程序运行过程中值不能改变的量,用 final 修饰符定义,如 final double PI = 3.14159;

  1. 运算符

(1)算术运算符:+、-、*、/、%、++、–

(2)关系运算符:>、<、>=、<=、==、!=

(3)逻辑运算符:&&、||、!

(4)位运算符:&、|、^、~、<<、>>

(5)赋值运算符:=、+=、-=、*=、/=、%=

  1. 流程控制

(1)条件语句:if、else、switch

(2)循环语句:for、while、do-while

(3)跳转语句:break、continue、return

  1. 数组

(1)一维数组:定义、初始化、遍历

(2)二维数组:定义、初始化、遍历

  1. 方法

(1)定义:public 返回值类型 方法名(参数类型 参数名) { 方法体 }

(2)调用:对象名.方法名(参数值)

(3)重载:方法名相同,参数列表不同

(4)递归:方法直接或间接调用自身

  1. 面向对象

(1)类与对象:类是对象的模板,对象是类的实例。定义类时需要指定类名、属性(成员变量)和方法。

(2)构造方法:用于创建对象,与类名相同,没有返回值类型。

(3)继承:子类继承父类的属性和方法,使用 extends 关键字。

(4)多态:不同类型的对象可以以相同的方式调用方法。

(5)抽象类与接口:抽象类不能被实例化,接口只能定义抽象方法。使用 abstract 修饰符定义抽象类,使用 interface 定义接口。

  1. 异常处理

(1)异常:程序在运行过程中出现的错误,分为编译时异常和运行时异常。

(2)异常处理:try-catch-finally 语句,用于捕获和处理异常。

(3)自定义异常:继承 Exception 或 RuntimeException 类,定义自己的异常类。

3、Java 常用类库

  1. String 类:用于处理字符串,提供长度、查找、替换、分割等方法。
  2. Math 类:提供数学运算方法,如求绝对值、最大值、最小值、幂运算等。
  3. Date 类:表示日期,提供获取当前日期、日期格式化等方法。
  4. Calendar 类:提供日期和时间字段,可以修改日期和时间。
  5. Random 类:提供随机数生成方法。
  6. Scanner 类:用于从键盘读取输入。
  7. ArrayList 类:实现 List 接口,提供动态数组功能。
  8. HashMap 类:实现 Map 接口,提供键值对存储功能。

4、Java 网络编程

  1. Socket 编程:基于 TCP 协议,实现客户端和服务器端通信。
  2. URL 编程:基于 HTTP 协议,实现网络请求和响应。
  3. JSON 编程:用于处理 JSON 数据格式,实现数据交换。
  4. XML 编程:用于处理 XML 数据格式,实现数据交换。

5、Java 多线程

  1. 线程:程序执行的基本单位,具有独立的功能和生命周期。
  2. 创建线程:继承 Thread 类或实现 Runnable 接口。
  3. 线程生命周期:新建、就绪、运行、阻塞、死亡。
  4. 线程同步:解决多线程访问共享资源的问题,使用 synchronized 关键字。
  5. 线程通信:使用 wait()、notify()、notifyAll() 方法实现线程间的通信。

6、Java I/O 编程

  1. 文件:操作系统管理的数据集合,分为文本文件和二进制文件。
  2. 流:Java I/O 编程的基本单位,分为输入流和输出流。
  3. 文件流:FileInputStream、FileOutputStream、FileReader、FileWriter。
  4. 缓冲流:BufferedInputStream、BufferedOutputStream、BufferedReader、BufferedWriter。
  5. 转换流:InputStreamReader、OutputStreamWriter。
  6. 数据流:DataInputStream、DataOutputStream。
  7. 对象流:ObjectInputStream、ObjectOutputStream。
  8. 网络流:SocketInputStream、SocketOutputStream。

7、Java 数据库编程

  1. JDBC:Java Database Connectivity,Java 数据库连接,用于连接数据库。
  2. 数据库驱动:实现 JDBC 接口的类库,用于与特定数据库通信。
  3. 数据库连接:通过驱动管理器获取数据库连接。
  4. 数据库操作:执行 SQL 语句,如增删改查。
  5. 事务处理:保证数据的一致性,使用 commit() 和 rollback() 方法。

8、Java Web 编程

  1. Servlet:Java Web 编程的核心技术,用于处理 HTTP 请求。
  2. JSP:Java Server Pages,用于动态生成 HTML 页面。
  3. Tomcat:常用的 Java Web 服务器,用于部署和运行 Web 应用。
  4. HTML、CSS、JavaScript:前端技术,用于实现网页布局和交互。
  5. AJAX:异步 JavaScript 和 XML,用于实现局部刷新页面。
  6. JSON:用于前后端数据交换的格式。
  7. XML:用于前后端数据交换的格式。
  8. Maven:项目管理工具,用于构建和管理 Java 项目。
  9. Spring:Java 企业级开发框架,提供依赖注入、事务管理等功能。
  10. MyBatis:持久层框架,简化数据库操作。
  11. Spring MVC:Web 框架,用于构建 MVC 架构的 Web 应用。
  12. Spring Boot:简化 Spring 应用的配置和开发。
  13. Spring Cloud:微服务架构开发框架,提供服务注册、配置中心等功能。
  14. Dubbo:分布式服务框架,用于构建微服务架构。
  15. ZooKeeper:分布式协调服务,用于服务注册和发现。
  16. Redis:高性能的键值对存储系统,用于缓存和分布式锁。
  17. RabbitMQ:消息队列,用于解耦系统和异步处理。
  18. Elasticsearch:搜索引擎,用于全文检索和数据分析。
  19. Docker:容器化技术,用于部署和管理应用。
  20. Kubernetes:容器编排平台,用于管理 Docker 容器。
  21. Git:版本控制工具,用于管理代码变更。
  22. Jenkins:持续集成工具,用于自动化构建和测试。
  23. Maven:项目管理工具,用于构建和管理 Java 项目。

Java基础语法是学习Java编程语言的基础,下面我将给出一些具体的案例,帮助您更好地理解Java的基础语法。

1. 数据类型

Java是一种强类型语言,这意味着每个变量在使用之前都必须声明其数据类型。Java的数据类型可以分为基本数据类型和引用数据类型。
基本数据类型包括:

  • 整数类型:byte, short, int, long
  • 浮点类型:float, double
  • 字符类型:char
  • 布尔类型:boolean
    引用数据类型包括:
  • 类(Class)
  • 接口(Interface)
  • 数组(Array)

2. 变量声明与赋值

// 声明并初始化一个整数类型的变量
int age = 25;
// 声明一个字符串类型的变量
String name = "张三";
// 声明一个布尔类型的变量
boolean isStudent = true;

3. 运算符

Java提供了丰富的运算符,包括算术运算符、关系运算符、逻辑运算符、位运算符等。

// 算术运算符
int sum = 10 + 20; // 加法
int diff = 30 - 10; // 减法
int prod = 5 * 4; // 乘法
int quot = 20 / 5; // 除法
int rem = 20 % 5; // 取模
// 关系运算符
boolean isGreater = 10 > 5; // 大于
boolean isLess = 10 < 5; // 小于
boolean isEqual = 10 == 5; // 等于
// 逻辑运算符
boolean isTrue = true;
boolean isFalse = false;
boolean andResult = isTrue && isFalse; // 与
boolean orResult = isTrue || isFalse; // 或
boolean notResult = !isTrue; // 非

4. 控制流

Java提供了多种控制流语句,包括条件语句、循环语句等。

// 条件语句
if (age > 18) {System.out.println("成年");
} else {System.out.println("未成年");
}
// 循环语句
for (int i = 0; i < 10; i++) {System.out.println(i);
}
int j = 0;
while (j < 10) {System.out.println(j);j++;
}
do {System.out.println(j);j++;
} while (j < 10);

5. 方法

方法是一段完成特定功能的代码块,可以接受参数并返回值。

// 无参无返回值的方法
public void sayHello() {System.out.println("Hello, World!");
}
// 有参无返回值的方法
public void printName(String name) {System.out.println("Hello, " + name);
}
// 有参有返回值的方法
public int add(int a, int b) {return a + b;
}

6. 类与对象

类是Java程序的基本构建块,对象是类的实例。

// 定义一个类
public class Person {// 类的属性private String name;private int age;// 类的构造方法public Person(String name, int age) {this.name = name;this.age = age;}// 类的方法public void sayHello() {System.out.println("Hello, my name is " + name + " and I am " + age + " years old.");}
}
// 创建对象并调用方法
Person person = new Person("张三", 25);
person.sayHello();

由于您没有具体说明需要哪方面的例子,我将基于Java编程语言的基础语法,给出几个不同方面的示例代码。这些示例涵盖了数据类型、变量、运算符、条件语句、循环语句等Java基础语法的关键方面。

数据类型示例

public class DataTypeExample {public static void main(String[] args) {// 基本数据类型byte byteVar = 100;short shortVar = 20000;int intVar = 1000000000;long longVar = 100000000000L;float floatVar = 1.234f;double doubleVar = 1.23456789;boolean booleanVar = true;char charVar = 'a';// 引用数据类型int[] array = {1, 2, 3, 4, 5};String str = "Hello World";// 输出变量值System.out.println(byteVar);System.out.println(shortVar);System.out.println(intVar);System.out.println(longVar);System.out.println(floatVar);System.out.println(doubleVar);System.out.println(booleanVar);System.out.println(charVar);System.out.println(array[3]);System.out.println(str);}
}

变量与赋值示例

public class VariableExample {// 成员变量int memberVar = 10;public static void main(String[] args) {// 局部变量int localVar = 20;// 给变量赋值int anotherVar = localVar + memberVar;// 输出变量值System.out.println(memberVar);System.out.println(localVar);System.out.println(anotherVar);}
}

运算符示例

public class OperatorExample {public static void main(String[] args) {int a = 10, 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); // 取余// 关系运算符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); // 等于System.out.println(a != b); // 不等于// 逻辑运算符boolean x = true, y = false;System.out.println(x && y); // 与System.out.println(x || y); // 或System.out.println(!x); // 非}
}

条件语句示例

public class ConditionExample {public static void main(String[] args) {int score = 75;// if语句if (score > 70) {System.out.println("Pass");} else {System.out.println("Fail");}// switch语句int day = 3;switch (day) {case 1:System.out.println("Monday");break;case 2:System.out.println("Tuesday");break;case 3:System.out.println("Wednesday");break;default:System.out.println("Other day");break;}}
}

循环语句示例

public class LoopExample {public static void main(String[] args) {// for循环for (int i = 0; i < 5; i++) {System.out.println("Iteration: " + i);}// while循环int j = 0;while (j < 5) {System.out.println("Iteration: " + j);j++;}// do-while循环int k = 0;do {System.out.println("Iteration: " + k);k++;} while (k < 5);}
}

以上示例代码展示了Java基础语法的多个方面,包括数据类型、变量、运算符、条件语句和循环语句的使用。

相关文章:

Java学习教程,从入门到精通, Java 基础语法(4)

1、Java 基础语法 一、Java 简介与开发环境搭建 Java 简介&#xff1a;Java 是一种面向对象的编程语言&#xff0c;具有跨平台、安全、稳定等特点。Java 主要应用于企业级应用、Android 应用开发、大数据处理等领域。开发环境搭建&#xff1a;搭建 Java 开发环境需要安装 JDK…...

反编译工具-Jclasslib的使用,与Java方法调用的探索

这里写目录标题 前言IDEA下查看字节码的两种方法使用idea自带的插件工具安装插件 为什么没有看出方法调用关系原因分析工厂举例 知识补充语言java可移植性 总结 前言 画时序图的时候&#xff0c;我想验证下方法的调用是否写的正确。方法调用不仅涉及到程序的基本逻辑流程&#…...

力扣 简单 876.快慢指针

文章目录 题目介绍题解 题目介绍 题解 class Solution {public ListNode middleNode(ListNode head) {ListNode slow head, fast head;while(fast ! null && fast.next ! null){slow slow.next;fast fast.next.next;}return slow;} }...

FineReport 计算同比增长

1、数据库查询 SELECTt1.年,t1.月,t1.总金额 AS 同期金额,t1.仓库名称,t2.总金额 AS 上期金额 FROMtest t1LEFT JOIN test t2 ON ( t1.年 t2.年 1 ) AND t1.月 t2.月 AND t1.仓库名称 t2.仓库名称2、配置字段 月份字段加后缀 月 数据列加后缀 计算同比增长率 if(LEN(B3)0 …...

从0开始深度学习(12)——多层感知机的逐步实现

依然以Fashion-MNIST图像分类数据集为例&#xff0c;手动实现多层感知机和激活函数的编写&#xff0c;大部分代码均在从0开始深度学习&#xff08;9&#xff09;——softmax回归的逐步实现中实现过 1 读取数据 import torch from torchvision import transforms import torchv…...

如何利用OpenCV和yolo实现人脸检测

在之前的blog里面&#xff0c;我们有介绍OpenCV和yolo的区别&#xff0c;本文就人脸检测为例&#xff0c;分别介绍下OpenCV和yolo的实现方式。 OpenCV实现人脸检测 一、安装 OpenCV 首先确保你已经安装了 OpenCV 库。可以通过以下方式安装&#xff1a; 使用包管理工具安装&…...

015集——c# 实现CAD excel交互(CAD—C#二次开发入门)

第一步&#xff1a;添加引用 程序集—>扩展 namespace WindowsFormsApp2 {public partial class Form1 : Form{public Form1(){InitializeComponent();}private void Form1_Load(object sender, EventArgs e){}private void 获取当前excel_Click(object sender, EventArgs e…...

【计网笔记】以太网

经典以太网 总线拓扑 物理层 Manchester编码 数据链路层 MAC子层 MAC帧 DIX格式与IEEE802.3格式 IEEE802.3格式兼容DIX格式 前导码&#xff08;帧开始定界符SOF&#xff09; 8字节 前7字节均为0xAA第8字节为0xAB前7字节的Manchester编码将产生稳定方波&#xff0c;用于…...

Java 入门基础篇14 - java面向对象思想以及特性

学习目标&#xff1a; 一、目标 面向对象思想类和对象对象的创建和使用属性和方法封装 开始学习&#xff1a; 二、编程思想 2.1 什么是编程思想 做人有做人的原则&#xff0c;编程也有编程的原则。这些编程的原则&#xff0c;就叫做编程思想。 2.2 面向过程和面向对象 二…...

第15篇:网络架构优化与综合案例分析

目录 引言 15.1 网络性能优化的方法与工具 15.1.1 带宽管理与流量控制 15.1.2 负载均衡 15.1.3 缓存优化 15.2 网络故障的排查与解决 15.2.1 常用的网络故障排查工具 15.2.2 网络故障排查案例 15.3 网络安全架构的综合设计案例 15.3.1 企业网络安全架构的要求 15.3.…...

UI自动化测试实战

补充&#xff1a;Selenium主要用于Web页面的自动化测试&#xff0c;它可以模拟用户的各种操作&#xff0c;如点击、输入、滚动等&#xff0c;来测试网页的功能。而Appium是一个开源的移动端自动化测试工具。 一、自动化测试实战章节 自动化测试流程测试用例编写项目自动化测试…...

东方智者颜廷利:以哲学思想促进世界和谐与无私奉献

【本社讯】在全球化的今天,东方智慧与哲学思想正逐渐成为促进世界和谐与理解的重要力量。近日,祖籍齐鲁大地山东济南的东方智者颜廷利以其深邃的哲学思想和对人类社会的深刻洞察,引起了国际社会的广泛关注。 颜廷利,一位致力于哲学研究与实践的智者,他的思想跨越古今,融合了东…...

基于 springboot vue停车场管理系统 设计与实现

博主介绍&#xff1a;专注于Java&#xff08;springboot ssm 等开发框架&#xff09; vue .net php phython node.js uniapp 微信小程序 等诸多技术领域和毕业项目实战、企业信息化系统建设&#xff0c;从业十五余年开发设计教学工作 ☆☆☆ 精彩专栏推荐订阅☆☆☆☆☆不…...

如何验证ssl私钥和证书是否匹配?

从证书&#xff08;CRT&#xff09;文件提取公钥 openssl x509 -in server.crt -pubkey -noout | openssl sha256从证书签名请求&#xff08;CSR&#xff09;文件提取公钥 openssl req -in server.csr -pubkey -noout | openssl sha256从私钥&#xff08;KEY&#xff09;文件…...

MongoDB的基本操作

&#x1f337;数据库准备 &#x1f388;Mongoshell 1.在指定目录下创建mongodb文件夹、其子文件log和data以及mongodb.log cd /home/ubuntu mkdir -p mongodb/data mkdir -p mongodb/log touch mongodb/log/mongodb.log 执行mongodb命令启动mongdb服务 mongod --dbpath /h…...

spring mvc后端实现过程

文章目录 一、Spring mvc1、controller1.1、LoginController011.2、LoginController 2、service2.1、LoginService2.1、LoginInimplements 3、dao3.1、LoginMapper3.1、LoginMapper.xml 4、实体类 一、Spring mvc 1、controller 控制器层、处理用户的请求和响应&#xff0c; …...

102005

import os os.environ["CUDA_VISIBLE_DEVICES"] "0" # 设定使用的 GPUimport tensorflow as tf from dataset import generate_data import numpy as np from model import enhancednet# 检查 TensorFlow 是否可以识别 GPU gpus tf.config.list_physica…...

Cisco ACI环境给Leaf配置OOB带外管理IP方法

可以通过GUI 或CLI进行配置 通过CLI更简单&#xff0c;和配置传统交换机差不多&#xff0c; ACI中共有3大组件 APIC 控制器 SPINE 核心 LEAF 接入 下面我们将3种角色的带外IP配置方法都列出来 1 APIC配置带外IP This example shows how to configure out-of-band managemen…...

免费送源码:Java+B/S+MySQL springboot电影推荐系统 计算机毕业设计原创定制

摘 要 随着互联网与移动互联网迅速普及&#xff0c;网络上的电影娱乐信息数量相当庞大&#xff0c;人们对获取感兴趣的电影娱乐信息的需求越来越大,个性化的电影推荐系统成为一个热门。然而电影信息的表示相当复杂&#xff0c;己有的相似度计算方法与推荐算法都各有优势&#…...

数据清洗(脚本)

使用脚本清洗数据时&#xff0c;可以根据具体的数据问题选择编程语言&#xff0c;如Shell、Python、SQL等。这里我以 Python&#xff08;Pandas库&#xff09; 和 SQL 为例&#xff0c;演示如何通过脚本进行数据清洗。 1. 使用 Python&#xff08;Pandas库&#xff09; 进行数…...

PPOCRLabel快捷键全解析:告别鼠标点点点,提升标注效率的隐藏技巧

PPOCRLabel快捷键全解析&#xff1a;告别鼠标点点点&#xff0c;提升标注效率的隐藏技巧 当你面对上千张待标注的图片时&#xff0c;每次点击菜单、切换工具、调整选框的微小延迟&#xff0c;都会累积成惊人的时间损耗。专业标注员的秘密武器从来不是鼠标&#xff0c;而是那些藏…...

opencv透视变换实战:从算法原理到图像矫正的完整实现

1. 透视变换的数学原理与生活场景 第一次接触透视变换时&#xff0c;我盯着那些数学公式看了整整一个下午。直到有天在咖啡厅看到服务员端盘子&#xff0c;突然就明白了——这就像把倾斜的餐盘拍平的过程。想象你从侧面45度角拍了一张餐盘照片&#xff0c;透视变换就是把这个斜…...

TI C2000系列PGA避坑指南:滤波电阻选择与开尔文接地的5个关键细节

TI C2000系列PGA避坑指南&#xff1a;滤波电阻选择与开尔文接地的5个关键细节 在精密信号调理电路中&#xff0c;可编程增益放大器(PGA)的硬件设计往往成为系统性能的瓶颈。许多工程师在完成原理图设计后&#xff0c;常会遇到信号完整性不佳、底噪偏高或增益误差超标等问题。本…...

GEE数据集:全球6400万地点数据免费开放(世界实体的点):商家、学校、医院、宗教组织、地标、山峰等

数据描述 Overture Maps Places 主题包含超过 6,400 万个现实世界实体的点表示形式&#xff1a;商家、学校、医院、宗教组织、地标、山峰等等。 每个地点记录都包含位置坐标、名称、类别、联系信息&#xff08;网站、社交媒体、电子邮件地址、电话号码&#xff09;、品牌信息、…...

OpenClaw+Phi-3-mini-128k-instruct:技术博客自动生成与Hexo部署

OpenClawPhi-3-mini-128k-instruct&#xff1a;技术博客自动生成与Hexo部署 1. 为什么需要自动化技术博客写作 作为一名技术博主&#xff0c;我长期面临一个困境&#xff1a;代码写得多&#xff0c;文章写得少。每次完成一个项目后&#xff0c;明明有很多值得分享的技术细节&…...

告别虚拟机:在Mac/Windows本地用Docker快速拉起StarRocks测试环境

告别虚拟机&#xff1a;在Mac/Windows本地用Docker快速拉起StarRocks测试环境 当我们需要快速验证一个数据库的功能特性时&#xff0c;传统方式往往需要在虚拟机或物理机上经历繁琐的安装配置过程。对于StarRocks这样的分布式分析型数据库&#xff0c;传统部署方式更是需要准备…...

SEO排名培训对个人和企业有什么区别

SEO排名培训对个人和企业的不同影响 在当今数字化时代&#xff0c;搜索引擎优化&#xff08;SEO&#xff09;已成为提升网络曝光度的关键手段。无论是个人博主、自由职业者&#xff0c;还是中小企业&#xff0c;SEO排名培训都能带来显著的效益。SEO排名培训对个人和企业的具体…...

nginx-proxy-automation升级与迁移指南:平滑过渡到新版本

nginx-proxy-automation升级与迁移指南&#xff1a;平滑过渡到新版本 【免费下载链接】nginx-proxy-automation Automated docker nginx proxy integrated with letsencrypt. 项目地址: https://gitcode.com/gh_mirrors/ng/nginx-proxy-automation nginx-proxy-automati…...

OpenClaw个性化设置:定制Kimi-VL-A3B-Thinking的交互风格与输出格式

OpenClaw个性化设置&#xff1a;定制Kimi-VL-A3B-Thinking的交互风格与输出格式 1. 为什么需要个性化设置&#xff1f; 第一次用OpenClaw对接Kimi-VL-A3B-Thinking模型时&#xff0c;我发现默认的交互方式总有些"不对味"。模型回复要么过于冗长&#xff0c;要么格式…...

DeepAnalyze模型量化部署实战:减小50%显存占用

DeepAnalyze模型量化部署实战&#xff1a;减小50%显存占用 1. 引言 你是不是遇到过这样的情况&#xff1a;好不容易找到一个强大的AI模型&#xff0c;比如最近很火的DeepAnalyze数据分析大模型&#xff0c;结果发现自己的显卡根本跑不起来&#xff1f;8GB显存的消费级显卡只能…...