当前位置: 首页 > 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; 进行数…...

jmeter中发送post请求遇到的问题

用jmeter发送post请求&#xff0c;把请求参数放在Body Data处&#xff0c;参数都写得正确&#xff0c;但没想到结果每次都报错&#xff0c;直接响应结果乱七八糟&#xff0c;改成用Parameters,反而不乱报错了。 上图 请求里如下 另外一些请求也是这样 这个响应结果也是错误的…...

Java中使用protobuf

一、简介 Protocal Buffers(简称protobuf)是谷歌的一项技术&#xff0c;用于结构化的数据序列化、反序列化。 Protocol Buffers 是一种语言无关、平台无关、可扩展的序列化结构数据的方法&#xff0c;它可用于&#xff08;数据&#xff09;通信协议、数据存储等。 Protocol B…...

2020款Macbook Pro A2251无法充电无法开机定位及修复

问题背景 up主有一台2020年的Macbook Pro&#xff0c;带Touch Bar&#xff0c;16G512G&#xff0c;四核I5&#xff0c;型号A2251 应该是一周没充电了&#xff0c;之前还用的好好的&#xff0c;后来有一天出差想带上 打开没电&#xff0c;手头上有个小米的66W快充头&#xff0c…...

Spring Cloud --- 引入Gateway网关

引入Gateway网关 介绍 Spring Cloud Gateway 组件的核心是一系列的过滤器&#xff0c;通过这些过滤器可以将客户端发送的请求转发(路由)到对应的微服务。 Spring Cloud Gateway 是加在整个微服务最前沿的防火墙和代理器&#xff0c;隐藏微服务结点 IP 端口信息&#xff0c;从…...

ESP32-C3实现定时器的启停(Arduino IDE)

1概述 ESP32-C3微控制器有多个定时器&#xff0c;这些定时器可用于各种用途&#xff0c;包括计时、生成PWM信号、测量输入信号的频率等。以下是ESP32-C3上可用的定时器资源&#xff1a; 两个硬件定时器&#xff1a; 定时器0&#xff1a;这是一个通用定时器&#xff0c;通常用于…...

centos升级g++使其支持c++17

centos升级g使其支持c17 升级g的原因现象原因 升级g方法更新镜像源yum升级g版本 总结 升级g的原因 现象 编译最新版本的jsoncpp报一下错误 jsontest.h:87:37: error: ‘hexfloat’ is not a member of ‘std’oss << std::setprecision(16) << std::hexfloat &l…...

Pytest日志收集器配置

前言 在pytest框架中&#xff0c;日志记录&#xff08;logging&#xff09;是一个强大的功能&#xff0c;它允许我们在测试期间记录信息、警告、错误等&#xff0c;从而帮助调试和监控测试进度。 pytest与Python标准库中的logging模块完美集成&#xff0c;因此你可以很容易地在…...

Morris算法(大数据作业)

我只能说&#xff0c;概率证明真的好难啊&#xff01;(&#xff1b;′⌒) 这也证明我的概率论真的学的很差劲&#xff0c;有时间一定要补补/(ㄒoㄒ)/~~ 算法不难证明难&#xff01; 当一个数足够大时&#xff0c;能不能用更少的空间来近似表示这个整数n&#xff0c;于是&…...

TCP/IP协议 【三次握手】过程简要描述

当建立TCP连接时&#xff0c;三次握手的作用简要描述如下&#xff1a; 第一次握手&#xff08;客户端向服务器发送SYN包&#xff09;&#xff1a;客户端发送SYN包给服务器&#xff0c;确认服务器是否在线并等待响应。 第二次握手&#xff08;服务器向客户端发送SYNACK包&…...

docker 数据管理,数据持久化详解 二 数据卷容器

数据卷和数据卷容器核心区别 持久性对比 数据卷&#xff1a;当您直接在启动容器时指定了一个数据卷&#xff08;例如&#xff0c;使用docker run -v /data&#xff09;&#xff0c;这个数据卷会自动创建&#xff0c;并且其内容会在容器停止或删除后继续存在。您可以随时通过Do…...