Java学习教程,从入门到精通, Java 基础语法(4)
1、Java 基础语法
一、Java 简介与开发环境搭建
- Java 简介:Java 是一种面向对象的编程语言,具有跨平台、安全、稳定等特点。Java 主要应用于企业级应用、Android 应用开发、大数据处理等领域。
- 开发环境搭建:搭建 Java 开发环境需要安装 JDK(Java Development Kit)和 IDE(集成开发环境)。常用的 JDK 版本有 JDK 8、JDK 11 等,常用的 IDE 有 Eclipse、IntelliJ IDEA 等。
2、Java 基础语法
- 数据类型
(1)基本数据类型:int、byte、short、long、float、double、char、boolean
(2)引用数据类型:类、接口、数组
- 变量与常量
(1)变量:用于存储数据的容器,有作用域和生命周期。定义变量时需要指定数据类型和变量名,如 int age = 20;
(2)常量:在程序运行过程中值不能改变的量,用 final 修饰符定义,如 final double PI = 3.14159;
- 运算符
(1)算术运算符:+、-、*、/、%、++、–
(2)关系运算符:>、<、>=、<=、==、!=
(3)逻辑运算符:&&、||、!
(4)位运算符:&、|、^、~、<<、>>
(5)赋值运算符:=、+=、-=、*=、/=、%=
- 流程控制
(1)条件语句:if、else、switch
(2)循环语句:for、while、do-while
(3)跳转语句:break、continue、return
- 数组
(1)一维数组:定义、初始化、遍历
(2)二维数组:定义、初始化、遍历
- 方法
(1)定义:public 返回值类型 方法名(参数类型 参数名) { 方法体 }
(2)调用:对象名.方法名(参数值)
(3)重载:方法名相同,参数列表不同
(4)递归:方法直接或间接调用自身
- 面向对象
(1)类与对象:类是对象的模板,对象是类的实例。定义类时需要指定类名、属性(成员变量)和方法。
(2)构造方法:用于创建对象,与类名相同,没有返回值类型。
(3)继承:子类继承父类的属性和方法,使用 extends 关键字。
(4)多态:不同类型的对象可以以相同的方式调用方法。
(5)抽象类与接口:抽象类不能被实例化,接口只能定义抽象方法。使用 abstract 修饰符定义抽象类,使用 interface 定义接口。
- 异常处理
(1)异常:程序在运行过程中出现的错误,分为编译时异常和运行时异常。
(2)异常处理:try-catch-finally 语句,用于捕获和处理异常。
(3)自定义异常:继承 Exception 或 RuntimeException 类,定义自己的异常类。
3、Java 常用类库
- String 类:用于处理字符串,提供长度、查找、替换、分割等方法。
- Math 类:提供数学运算方法,如求绝对值、最大值、最小值、幂运算等。
- Date 类:表示日期,提供获取当前日期、日期格式化等方法。
- Calendar 类:提供日期和时间字段,可以修改日期和时间。
- Random 类:提供随机数生成方法。
- Scanner 类:用于从键盘读取输入。
- ArrayList 类:实现 List 接口,提供动态数组功能。
- HashMap 类:实现 Map 接口,提供键值对存储功能。
4、Java 网络编程
- Socket 编程:基于 TCP 协议,实现客户端和服务器端通信。
- URL 编程:基于 HTTP 协议,实现网络请求和响应。
- JSON 编程:用于处理 JSON 数据格式,实现数据交换。
- XML 编程:用于处理 XML 数据格式,实现数据交换。
5、Java 多线程
- 线程:程序执行的基本单位,具有独立的功能和生命周期。
- 创建线程:继承 Thread 类或实现 Runnable 接口。
- 线程生命周期:新建、就绪、运行、阻塞、死亡。
- 线程同步:解决多线程访问共享资源的问题,使用 synchronized 关键字。
- 线程通信:使用 wait()、notify()、notifyAll() 方法实现线程间的通信。
6、Java I/O 编程
- 文件:操作系统管理的数据集合,分为文本文件和二进制文件。
- 流:Java I/O 编程的基本单位,分为输入流和输出流。
- 文件流:FileInputStream、FileOutputStream、FileReader、FileWriter。
- 缓冲流:BufferedInputStream、BufferedOutputStream、BufferedReader、BufferedWriter。
- 转换流:InputStreamReader、OutputStreamWriter。
- 数据流:DataInputStream、DataOutputStream。
- 对象流:ObjectInputStream、ObjectOutputStream。
- 网络流:SocketInputStream、SocketOutputStream。
7、Java 数据库编程
- JDBC:Java Database Connectivity,Java 数据库连接,用于连接数据库。
- 数据库驱动:实现 JDBC 接口的类库,用于与特定数据库通信。
- 数据库连接:通过驱动管理器获取数据库连接。
- 数据库操作:执行 SQL 语句,如增删改查。
- 事务处理:保证数据的一致性,使用 commit() 和 rollback() 方法。
8、Java Web 编程
- Servlet:Java Web 编程的核心技术,用于处理 HTTP 请求。
- JSP:Java Server Pages,用于动态生成 HTML 页面。
- Tomcat:常用的 Java Web 服务器,用于部署和运行 Web 应用。
- HTML、CSS、JavaScript:前端技术,用于实现网页布局和交互。
- AJAX:异步 JavaScript 和 XML,用于实现局部刷新页面。
- JSON:用于前后端数据交换的格式。
- XML:用于前后端数据交换的格式。
- Maven:项目管理工具,用于构建和管理 Java 项目。
- Spring:Java 企业级开发框架,提供依赖注入、事务管理等功能。
- MyBatis:持久层框架,简化数据库操作。
- Spring MVC:Web 框架,用于构建 MVC 架构的 Web 应用。
- Spring Boot:简化 Spring 应用的配置和开发。
- Spring Cloud:微服务架构开发框架,提供服务注册、配置中心等功能。
- Dubbo:分布式服务框架,用于构建微服务架构。
- ZooKeeper:分布式协调服务,用于服务注册和发现。
- Redis:高性能的键值对存储系统,用于缓存和分布式锁。
- RabbitMQ:消息队列,用于解耦系统和异步处理。
- Elasticsearch:搜索引擎,用于全文检索和数据分析。
- Docker:容器化技术,用于部署和管理应用。
- Kubernetes:容器编排平台,用于管理 Docker 容器。
- Git:版本控制工具,用于管理代码变更。
- Jenkins:持续集成工具,用于自动化构建和测试。
- 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 简介:Java 是一种面向对象的编程语言,具有跨平台、安全、稳定等特点。Java 主要应用于企业级应用、Android 应用开发、大数据处理等领域。开发环境搭建:搭建 Java 开发环境需要安装 JDK…...
反编译工具-Jclasslib的使用,与Java方法调用的探索
这里写目录标题 前言IDEA下查看字节码的两种方法使用idea自带的插件工具安装插件 为什么没有看出方法调用关系原因分析工厂举例 知识补充语言java可移植性 总结 前言 画时序图的时候,我想验证下方法的调用是否写的正确。方法调用不仅涉及到程序的基本逻辑流程&#…...
力扣 简单 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图像分类数据集为例,手动实现多层感知机和激活函数的编写,大部分代码均在从0开始深度学习(9)——softmax回归的逐步实现中实现过 1 读取数据 import torch from torchvision import transforms import torchv…...
如何利用OpenCV和yolo实现人脸检测
在之前的blog里面,我们有介绍OpenCV和yolo的区别,本文就人脸检测为例,分别介绍下OpenCV和yolo的实现方式。 OpenCV实现人脸检测 一、安装 OpenCV 首先确保你已经安装了 OpenCV 库。可以通过以下方式安装: 使用包管理工具安装&…...
015集——c# 实现CAD excel交互(CAD—C#二次开发入门)
第一步:添加引用 程序集—>扩展 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格式 前导码(帧开始定界符SOF) 8字节 前7字节均为0xAA第8字节为0xAB前7字节的Manchester编码将产生稳定方波,用于…...
Java 入门基础篇14 - java面向对象思想以及特性
学习目标: 一、目标 面向对象思想类和对象对象的创建和使用属性和方法封装 开始学习: 二、编程思想 2.1 什么是编程思想 做人有做人的原则,编程也有编程的原则。这些编程的原则,就叫做编程思想。 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自动化测试实战
补充:Selenium主要用于Web页面的自动化测试,它可以模拟用户的各种操作,如点击、输入、滚动等,来测试网页的功能。而Appium是一个开源的移动端自动化测试工具。 一、自动化测试实战章节 自动化测试流程测试用例编写项目自动化测试…...
东方智者颜廷利:以哲学思想促进世界和谐与无私奉献
【本社讯】在全球化的今天,东方智慧与哲学思想正逐渐成为促进世界和谐与理解的重要力量。近日,祖籍齐鲁大地山东济南的东方智者颜廷利以其深邃的哲学思想和对人类社会的深刻洞察,引起了国际社会的广泛关注。 颜廷利,一位致力于哲学研究与实践的智者,他的思想跨越古今,融合了东…...
基于 springboot vue停车场管理系统 设计与实现
博主介绍:专注于Java(springboot ssm 等开发框架) vue .net php phython node.js uniapp 微信小程序 等诸多技术领域和毕业项目实战、企业信息化系统建设,从业十五余年开发设计教学工作 ☆☆☆ 精彩专栏推荐订阅☆☆☆☆☆不…...
如何验证ssl私钥和证书是否匹配?
从证书(CRT)文件提取公钥 openssl x509 -in server.crt -pubkey -noout | openssl sha256从证书签名请求(CSR)文件提取公钥 openssl req -in server.csr -pubkey -noout | openssl sha256从私钥(KEY)文件…...
MongoDB的基本操作
🌷数据库准备 🎈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 控制器层、处理用户的请求和响应, …...
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更简单,和配置传统交换机差不多, 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电影推荐系统 计算机毕业设计原创定制
摘 要 随着互联网与移动互联网迅速普及,网络上的电影娱乐信息数量相当庞大,人们对获取感兴趣的电影娱乐信息的需求越来越大,个性化的电影推荐系统成为一个热门。然而电影信息的表示相当复杂,己有的相似度计算方法与推荐算法都各有优势&#…...
数据清洗(脚本)
使用脚本清洗数据时,可以根据具体的数据问题选择编程语言,如Shell、Python、SQL等。这里我以 Python(Pandas库) 和 SQL 为例,演示如何通过脚本进行数据清洗。 1. 使用 Python(Pandas库) 进行数…...
利用最小二乘法找圆心和半径
#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …...
龙虎榜——20250610
上证指数放量收阴线,个股多数下跌,盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型,指数短线有调整的需求,大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的:御银股份、雄帝科技 驱动…...
利用ngx_stream_return_module构建简易 TCP/UDP 响应网关
一、模块概述 ngx_stream_return_module 提供了一个极简的指令: return <value>;在收到客户端连接后,立即将 <value> 写回并关闭连接。<value> 支持内嵌文本和内置变量(如 $time_iso8601、$remote_addr 等)&a…...
突破不可导策略的训练难题:零阶优化与强化学习的深度嵌合
强化学习(Reinforcement Learning, RL)是工业领域智能控制的重要方法。它的基本原理是将最优控制问题建模为马尔可夫决策过程,然后使用强化学习的Actor-Critic机制(中文译作“知行互动”机制),逐步迭代求解…...
以下是对华为 HarmonyOS NETX 5属性动画(ArkTS)文档的结构化整理,通过层级标题、表格和代码块提升可读性:
一、属性动画概述NETX 作用:实现组件通用属性的渐变过渡效果,提升用户体验。支持属性:width、height、backgroundColor、opacity、scale、rotate、translate等。注意事项: 布局类属性(如宽高)变化时&#…...
如何在看板中体现优先级变化
在看板中有效体现优先级变化的关键措施包括:采用颜色或标签标识优先级、设置任务排序规则、使用独立的优先级列或泳道、结合自动化规则同步优先级变化、建立定期的优先级审查流程。其中,设置任务排序规则尤其重要,因为它让看板视觉上直观地体…...
基于Uniapp开发HarmonyOS 5.0旅游应用技术实践
一、技术选型背景 1.跨平台优势 Uniapp采用Vue.js框架,支持"一次开发,多端部署",可同步生成HarmonyOS、iOS、Android等多平台应用。 2.鸿蒙特性融合 HarmonyOS 5.0的分布式能力与原子化服务,为旅游应用带来…...
CMake 从 GitHub 下载第三方库并使用
有时我们希望直接使用 GitHub 上的开源库,而不想手动下载、编译和安装。 可以利用 CMake 提供的 FetchContent 模块来实现自动下载、构建和链接第三方库。 FetchContent 命令官方文档✅ 示例代码 我们将以 fmt 这个流行的格式化库为例,演示如何: 使用 FetchContent 从 GitH…...
视觉slam十四讲实践部分记录——ch2、ch3
ch2 一、使用g++编译.cpp为可执行文件并运行(P30) g++ helloSLAM.cpp ./a.out运行 二、使用cmake编译 mkdir build cd build cmake .. makeCMakeCache.txt 文件仍然指向旧的目录。这表明在源代码目录中可能还存在旧的 CMakeCache.txt 文件,或者在构建过程中仍然引用了旧的路…...
Selenium常用函数介绍
目录 一,元素定位 1.1 cssSeector 1.2 xpath 二,操作测试对象 三,窗口 3.1 案例 3.2 窗口切换 3.3 窗口大小 3.4 屏幕截图 3.5 关闭窗口 四,弹窗 五,等待 六,导航 七,文件上传 …...
