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

50个JAVA常见代码大全:学完这篇从Java小白到架构师(附带讲解)

基础语法

1. Hello World

public class HelloWorld {public static void main(String[] args) {System.out.println("Hello, World!");}
}
讲解

这是一个典型的Java程序,它定义了一个名为HelloWorld的类,该类包含一个main方法——Java应用程序的入口点。System.out.println("Hello, World!");打印出"Hello, World!"到控制台。

2. 数据类型

int a = 100;
float b = 5.25f;
double c = 5.25;
boolean d = true;
char e = 'A';
String f = "Hello";
讲解

此代码片段展示了Java中的基本数据类型。int是整数,floatdouble是浮点数,boolean是布尔类型,char用于单个字符,String用于字符串。

3. 条件判断

if (a > b) {// 条件成立时执行
} else if (a == b) {// 另一个条件
} else {// 条件都不成立时执行
}
讲解

使用条件判断来执行不同的代码块。if-else的结构帮助程序做出选择,执行基于不同条件的代码。

4. 循环结构

for循环
for (int i = 0; i < 10; i++) {System.out.println("i: " + i);
}
讲解

for循环允许在满足某个条件时重复执行代码。这里的for循环从0开始,打印到9。

while循环
int i = 0;
while (i < 10) {System.out.println("i: " + i);i++;
}
讲解

while循环在一个条件成立时不断执行一段代码。只要i小于10,就会继续循环。

do-while循环
int i = 0;
do {System.out.println("i: " + i);i++;
} while (i < 10);
讲解

do-while循环与while循环相似,但它在先执行一次代码之后,才检查条件。

5. 数组

int[] arr = new int[5];
arr[0] = 1;
arr[1] = 2;
// ...
int[] arr2 = {1, 2, 3, 4, 5};
讲解

数组是用于存储同一类型元素的集合。int[] arr是一个整数数组,arr2是一个带初始化的数组。

6. 方法定义与调用

public static int add(int a, int b) {return a + b;
}
int sum = add(5, 3); // 调用方法
讲解

方法是可重用的代码段。add是一个方法,它接收两个整数参数并返回它们的和。通过调用add(5, 3)获取结果。

面向对象编程

7. 类与对象

public class Dog {String name;public void bark() {System.out.println(name + " says: Bark!");}
}Dog myDog = new Dog();
myDog.name = "Rex";
myDog.bark();
讲解

Dog类具有属性name和方法bark。通过创建Dog对象并设置其属性, 可以调用其方法。

8. 构造方法

public class User {String name;public User(String newName) {name = newName;}
}User user = new User("Alice");
讲解

构造方法用于对象初始化。在User类中,构造函数赋值name为传入的参数。

9. 继承

public class Animal {void eat() {System.out.println("This animal eats food.");}
}public class Dog extends Animal {void bark() {System.out.println("The dog barks.");}
}Dog dog = new Dog();
dog.eat(); // 继承自Animal
dog.bark();
讲解

继承允许类继承其他类的属性和方法。Dog继承Animal,因此可以调用eat方法。

10. 接口

public interface Animal {void eat();
}public class Dog implements Animal {public void eat() {System.out.println("The dog eats.");}
}Dog dog = new Dog();
dog.eat();
讲解

接口定义类须实现的方法。Dog类实现Animal接口,需要具体化eat方法。

11. 抽象类

public abstract class Animal {abstract void eat();
}public class Dog extends Animal {void eat() {System.out.println("The dog eats.");}
}Animal dog = new Dog();
dog.eat();
讲解

抽象类可以包含抽象方法,子类必须实现这些方法。Dog类实现抽象类Animaleat方法。

12. 方法重载

public class Calculator {int add(int a, int b) {return a + b;}double add(double a, double b) {return a + b;}int add(int a, int b, int c) {return a + b + c;}
}Calculator calc = new Calculator();
calc.add(5, 3); // 调用第一个方法
calc.add(5.0, 3.0); // 调用第二个方法
calc.add(5, 3, 2); // 调用第三个方法
讲解

方法重载允许在同一类中创建多个同名方法,但参数类型或数量不同。Java选择最匹配的签名。

13. 方法重写

public class Animal {void makeSound() {System.out.println("Some sound");}
}public class Dog extends Animal {@Overridevoid makeSound() {System.out.println("Bark");}
}Animal myDog = new Dog();
myDog.makeSound(); // 输出 "Bark"
讲解

重写允许子类提供父类方法的新实现。在Dog中,makeSound方法重写了Animal类的方法。

14. 多态

public class Animal {void makeSound() {System.out.println("Some generic sound");}
}public class Dog extends Animal {@Overridevoid makeSound() {System.out.println("Bark");}
}public class Cat extends Animal {@Overridevoid makeSound() {System.out.println("Meow");}
}Animal myAnimal = new Dog();
myAnimal.makeSound(); // Bark
myAnimal = new Cat();
myAnimal.makeSound(); // Meow
讲解

多态允许一个对象表现为多种类型。makeSound方法可由Animal类型引用调用,并根据对象类型改变行为。

15. 封装

public 

相关文章:

50个JAVA常见代码大全:学完这篇从Java小白到架构师(附带讲解)

基础语法 1. Hello World public class HelloWorld {public static void main(String[] args) {System.out.println("Hello, World!");} }讲解 这是一个典型的Java程序,它定义了一个名为HelloWorld的类,该类包含一个main方法——Java应用程序的入口点。System.o…...

Microsoft SQL Server 2008 R2 (RTM) - 10.50.1600.0 SP1升级到SP3操作方法(x64)

1、首先安装时候选择升级SQLEXPRADV_x64_CHS.exe。 2、接着安装SQLServer2008R2SP1-KB2528583-x64-sp1补丁后10.50.2500.0。 3、接着安装升级SQLEXPRWT_x64_CHS.exe。 4、继续安装SP3&#xff1a;SQLServer2008R2SP3-KB2979597-x64-CHS。 5、最后安装SP3补丁&#xff1a;SQ…...

Centos7安装Git及配置Github

Background Git 是一个开源的分布式版本控制系统&#xff0c;由 Linus Torvalds&#xff08;Linux 内核的创始人&#xff09;在 2005 年创建。它被设计用来快速有效地处理从小到大的项目版本管理。Git 目前是全世界最流行的版本控制系统&#xff0c;广泛应用于软件开发中。 1、…...

MobileNet v3(相比于MobileNet v2)

概述&#xff1a; 更新Block(bneck) 使用NAS搜索参数 &#xff08;Neural Architecture Search&#xff09; 重新设计耗时层结构 更准确&#xff0c;更高效 以及表中数据展示 更新Block 1.加入SE模块 2.更新了激活函数 首先通过一个1*1的卷积层来进行一个升维处理&#…...

短视频剪辑入门指南:这四大软件值得推荐!

要在众多的短视频作品中脱颖而出并不容易&#xff0c;这就要求制作者不仅要具备良好的创意&#xff0c;还需要掌握一定的剪辑技巧。这里给大家推荐几个好用的短视频剪辑工具&#xff01; 福昕视频剪辑 直达链接&#xff1a;www.pdf365.cn/foxit-clip/ 操作教程&#xff1a;立…...

网络编程(22)——通过beast库快速实现websocket服务器

目录 二十二、day22 1. websocket简述 2. 基于TCP长连接实现sebsocket a. Connection b. ConnectionMgr c. WebServer d. 编译的小问题 3. 测试 4. 基于http实现的websocket 二十二、day22 因为http受限于请求-响应模式&#xff0c;客户端发起请求&#xff0c;服务器…...

从视频截取每一帧作为图像

查看视频有多少帧 import cv2def count_frames_per_second(video_path):cap cv2.VideoCapture(video_path)if not cap.isOpened():print("Error: Could not open video")return None# Get frames per secondfps cap.get(cv2.CAP_PROP_FPS)# Get total number of f…...

终端 数据表格

// // Created by HongDaYu on 17 十月 2024. //#ifndef HDYSDK_UTIL_H #define HDYSDK_UTIL_H#include <cstdint> #include <string> #include <list> #include <iomanip> #include <memory>class dataGrid { private:std::list<const char*…...

2.4.ReactOS系统运行级别降低IRQL级别KfLowerIrql 函数

2.4.ReactOS系统运行级别降低IRQL级别KfLowerIrql 函数 2.4.ReactOS系统运行级别降低IRQL级别KfLowerIrql 函数 文章目录 2.4.ReactOS系统运行级别降低IRQL级别KfLowerIrql 函数KfLowerIrql 函数 KfLowerIrql 函数 /*******************************************************…...

数字后端实现静态时序分析STA Timing Signoff之min period violation

今天给大家分享一个在高性能数字IC后端实现timing signoff阶段经常遇到的min period violation。大部分时候出现memory min period问题基本上都是需要返工重新生成memory的。这是非常致命的错误&#xff0c;希望大家在做静态时序分析时一定要查看min period violation。 什么是…...

phpstorm+phpstudy 配置xdebug(无需开启浏览器扩展)

今天又被xdebug折磨了&#xff0c;忘记了以前咋配置了现在百度发现好多都是各种浏览器扩展而且也没有真正的用到项目上的都是测试的地址怎么样的 我就简单写一下自己实战吧 不支持workerman swoole hyperf等这种服务框架 如果你会请教教我 工具版本phpstudy8.1.xphpstorm2021.x…...

AI赋能安全运营 | 赛宁网安深度参与四川省网络安全沙龙

为促进四川省、市网络安全公共服务领域的经验交流与深入探讨&#xff0c;打通网络安全供需上下游&#xff0c;加速汇聚省、市优质网络安全设备和服务资源&#xff0c;提升巴中市乃至四川省网络安全防护水平&#xff0c;共同推动四川省网络安全事业的蓬勃发展。 2024年10月15日…...

R语言中,.RData 和 .rds 的区别

.RData 和 .rds 是 R 语言中两种不同的数据保存格式&#xff0c;二者有一些关键的区别&#xff1a; 1. 存储内容的类型&#xff1a; .RData 文件&#xff1a;可以同时保存多个对象&#xff08;如数据框、向量、列表等&#xff09;&#xff0c;当你加载 .RData 文件时&#xf…...

python实现录屏功能

python实现录屏功能 将生成的avi文件转为mp4格式后删掉avi文件 参考感谢&#xff1a;https://www.cnblogs.com/peachh/p/16549254.html import os import cv2 import time import threading import numpy as np from PIL import ImageGrab from pynput import keyboard from da…...

酷克数据出席2024金融业数据库技术大会

10月16日&#xff0c;由中国金融电子化集团指导&#xff0c;北京金融信息化研究所主办的“2024金融业数据库技术大会”在京顺利召开。本次大会以“大模型时代下的数据库创新发展”为主题&#xff0c;汇聚了来自管理部门、金融机构、科技企业以及学术研究机构的众多专家学者&…...

find_library、pkg_check_modules、pkg_search_module的区别

在CMake中&#xff0c;find_library、pkg_check_modules和pkg_search_module是用于查找和使用库的三种不同命令。以下是具体介绍&#xff1a; find_library 功能&#xff1a;find_library用于查找指定的库文件&#xff08;动态库或静态库&#xff09;&#xff0c;不依赖于库提供…...

多jdk版本环境下,jenkins系统设置需指定JAVA_HOME环境变量

一、背景 由于不同项目对jdk版本的要求不同&#xff0c;有些是要求jdk11&#xff0c;有些只需要jdk8即可。 而linux机器上安装jdk的方式又多种多样&#xff0c;最后导致jenkins打包到底使用的是哪个jdk&#xff0c;比较混乱。 1、java在哪 > whereis java java: /usr/bin/…...

Java mybatis day1015

ok了家人们&#xff0c;今天学习了mybatis这个框架&#xff0c;我们一起去看看吧 一.Mybatis简介 1.1 Mybatis概述 MyBatis 最初是 Apache 的一个开源项目 iBatis, 2010 年 6 月 这个项目由 Apache Software Foundation 迁移到了 Google Code 。随着开发团队转投 Google Cod…...

音乐播放器项目专栏介绍​

1.简介 本专栏使用Qt QWidget作为显示界面&#xff0c;你将会学习到以下内容&#xff1a; 1.大量ui美化的实例。 2.各种复杂ui布局。 3.常见显示效果实现。 4.大量QSS实例。 5.Qt音频播放&#xff0c;音乐歌词文件加载&#xff0c;展示。 6.播放器界面换肤。 相信学习了本专栏…...

如何修改SpringBoot内置容器默认上下文

引言 默认情况下&#xff0c;Spring boot 应用程序通过上下文路径“/”访问&#xff0c;这是嵌入式服务器的默认设置&#xff0c;即我们可以直接通过http://localhost:8080/访问该应用程序。 但是在生产环境中部署 Spring Boot 应用程序时&#xff0c;指定上下文路径是一个常…...

ubuntu搭建nfs服务centos挂载访问

在Ubuntu上设置NFS服务器 在Ubuntu上&#xff0c;你可以使用apt包管理器来安装NFS服务器。打开终端并运行&#xff1a; sudo apt update sudo apt install nfs-kernel-server创建共享目录 创建一个目录用于共享&#xff0c;例如/shared&#xff1a; sudo mkdir /shared sud…...

逻辑回归:给不确定性划界的分类大师

想象你是一名医生。面对患者的检查报告&#xff08;肿瘤大小、血液指标&#xff09;&#xff0c;你需要做出一个**决定性判断**&#xff1a;恶性还是良性&#xff1f;这种“非黑即白”的抉择&#xff0c;正是**逻辑回归&#xff08;Logistic Regression&#xff09;** 的战场&a…...

Python:操作 Excel 折叠

💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖 本博客的精华专栏: 【自动化测试】 【测试经验】 【人工智能】 【Python】 Python 操作 Excel 系列 读取单元格数据按行写入设置行高和列宽自动调整行高和列宽水平…...

为什么需要建设工程项目管理?工程项目管理有哪些亮点功能?

在建筑行业&#xff0c;项目管理的重要性不言而喻。随着工程规模的扩大、技术复杂度的提升&#xff0c;传统的管理模式已经难以满足现代工程的需求。过去&#xff0c;许多企业依赖手工记录、口头沟通和分散的信息管理&#xff0c;导致效率低下、成本失控、风险频发。例如&#…...

Java多线程实现之Callable接口深度解析

Java多线程实现之Callable接口深度解析 一、Callable接口概述1.1 接口定义1.2 与Runnable接口的对比1.3 Future接口与FutureTask类 二、Callable接口的基本使用方法2.1 传统方式实现Callable接口2.2 使用Lambda表达式简化Callable实现2.3 使用FutureTask类执行Callable任务 三、…...

Neo4j 集群管理:原理、技术与最佳实践深度解析

Neo4j 的集群技术是其企业级高可用性、可扩展性和容错能力的核心。通过深入分析官方文档,本文将系统阐述其集群管理的核心原理、关键技术、实用技巧和行业最佳实践。 Neo4j 的 Causal Clustering 架构提供了一个强大而灵活的基石,用于构建高可用、可扩展且一致的图数据库服务…...

css的定位(position)详解:相对定位 绝对定位 固定定位

在 CSS 中&#xff0c;元素的定位通过 position 属性控制&#xff0c;共有 5 种定位模式&#xff1a;static&#xff08;静态定位&#xff09;、relative&#xff08;相对定位&#xff09;、absolute&#xff08;绝对定位&#xff09;、fixed&#xff08;固定定位&#xff09;和…...

三体问题详解

从物理学角度&#xff0c;三体问题之所以不稳定&#xff0c;是因为三个天体在万有引力作用下相互作用&#xff0c;形成一个非线性耦合系统。我们可以从牛顿经典力学出发&#xff0c;列出具体的运动方程&#xff0c;并说明为何这个系统本质上是混沌的&#xff0c;无法得到一般解…...

3-11单元格区域边界定位(End属性)学习笔记

返回一个Range 对象&#xff0c;只读。该对象代表包含源区域的区域上端下端左端右端的最后一个单元格。等同于按键 End 向上键(End(xlUp))、End向下键(End(xlDown))、End向左键(End(xlToLeft)End向右键(End(xlToRight)) 注意&#xff1a;它移动的位置必须是相连的有内容的单元格…...

Mac下Android Studio扫描根目录卡死问题记录

环境信息 操作系统: macOS 15.5 (Apple M2芯片)Android Studio版本: Meerkat Feature Drop | 2024.3.2 Patch 1 (Build #AI-243.26053.27.2432.13536105, 2025年5月22日构建) 问题现象 在项目开发过程中&#xff0c;提示一个依赖外部头文件的cpp源文件需要同步&#xff0c;点…...