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

使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式

一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明&#xff1a;假设每台服务器已…...

电脑插入多块移动硬盘后经常出现卡顿和蓝屏

当电脑在插入多块移动硬盘后频繁出现卡顿和蓝屏问题时&#xff0c;可能涉及硬件资源冲突、驱动兼容性、供电不足或系统设置等多方面原因。以下是逐步排查和解决方案&#xff1a; 1. 检查电源供电问题 问题原因&#xff1a;多块移动硬盘同时运行可能导致USB接口供电不足&#x…...

cf2117E

原题链接&#xff1a;https://codeforces.com/contest/2117/problem/E 题目背景&#xff1a; 给定两个数组a,b&#xff0c;可以执行多次以下操作&#xff1a;选择 i (1 < i < n - 1)&#xff0c;并设置 或&#xff0c;也可以在执行上述操作前执行一次删除任意 和 。求…...

2021-03-15 iview一些问题

1.iview 在使用tree组件时&#xff0c;发现没有set类的方法&#xff0c;只有get&#xff0c;那么要改变tree值&#xff0c;只能遍历treeData&#xff0c;递归修改treeData的checked&#xff0c;发现无法更改&#xff0c;原因在于check模式下&#xff0c;子元素的勾选状态跟父节…...

跨链模式:多链互操作架构与性能扩展方案

跨链模式&#xff1a;多链互操作架构与性能扩展方案 ——构建下一代区块链互联网的技术基石 一、跨链架构的核心范式演进 1. 分层协议栈&#xff1a;模块化解耦设计 现代跨链系统采用分层协议栈实现灵活扩展&#xff08;H2Cross架构&#xff09;&#xff1a; 适配层&#xf…...

现代密码学 | 椭圆曲线密码学—附py代码

Elliptic Curve Cryptography 椭圆曲线密码学&#xff08;ECC&#xff09;是一种基于有限域上椭圆曲线数学特性的公钥加密技术。其核心原理涉及椭圆曲线的代数性质、离散对数问题以及有限域上的运算。 椭圆曲线密码学是多种数字签名算法的基础&#xff0c;例如椭圆曲线数字签…...

【HarmonyOS 5 开发速记】如何获取用户信息(头像/昵称/手机号)

1.获取 authorizationCode&#xff1a; 2.利用 authorizationCode 获取 accessToken&#xff1a;文档中心 3.获取手机&#xff1a;文档中心 4.获取昵称头像&#xff1a;文档中心 首先创建 request 若要获取手机号&#xff0c;scope必填 phone&#xff0c;permissions 必填 …...

Xen Server服务器释放磁盘空间

disk.sh #!/bin/bashcd /run/sr-mount/e54f0646-ae11-0457-b64f-eba4673b824c # 全部虚拟机物理磁盘文件存储 a$(ls -l | awk {print $NF} | cut -d. -f1) # 使用中的虚拟机物理磁盘文件 b$(xe vm-disk-list --multiple | grep uuid | awk {print $NF})printf "%s\n"…...

C#中的CLR属性、依赖属性与附加属性

CLR属性的主要特征 封装性&#xff1a; 隐藏字段的实现细节 提供对字段的受控访问 访问控制&#xff1a; 可单独设置get/set访问器的可见性 可创建只读或只写属性 计算属性&#xff1a; 可以在getter中执行计算逻辑 不需要直接对应一个字段 验证逻辑&#xff1a; 可以…...

mac 安装homebrew (nvm 及git)

mac 安装nvm 及git 万恶之源 mac 安装这些东西离不开Xcode。及homebrew 一、先说安装git步骤 通用&#xff1a; 方法一&#xff1a;使用 Homebrew 安装 Git&#xff08;推荐&#xff09; 步骤如下&#xff1a;打开终端&#xff08;Terminal.app&#xff09; 1.安装 Homebrew…...