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
是整数,float
和double
是浮点数,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
类实现抽象类Animal
的eat
方法。
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:SQLServer2008R2SP3-KB2979597-x64-CHS。 5、最后安装SP3补丁:SQ…...

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

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

短视频剪辑入门指南:这四大软件值得推荐!
要在众多的短视频作品中脱颖而出并不容易,这就要求制作者不仅要具备良好的创意,还需要掌握一定的剪辑技巧。这里给大家推荐几个好用的短视频剪辑工具! 福昕视频剪辑 直达链接:www.pdf365.cn/foxit-clip/ 操作教程:立…...

网络编程(22)——通过beast库快速实现websocket服务器
目录 二十二、day22 1. websocket简述 2. 基于TCP长连接实现sebsocket a. Connection b. ConnectionMgr c. WebServer d. 编译的小问题 3. 测试 4. 基于http实现的websocket 二十二、day22 因为http受限于请求-响应模式,客户端发起请求,服务器…...

从视频截取每一帧作为图像
查看视频有多少帧 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的。这是非常致命的错误,希望大家在做静态时序分析时一定要查看min period violation。 什么是…...

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

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

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

python实现录屏功能
python实现录屏功能 将生成的avi文件转为mp4格式后删掉avi文件 参考感谢: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日,由中国金融电子化集团指导,北京金融信息化研究所主办的“2024金融业数据库技术大会”在京顺利召开。本次大会以“大模型时代下的数据库创新发展”为主题,汇聚了来自管理部门、金融机构、科技企业以及学术研究机构的众多专家学者&…...

find_library、pkg_check_modules、pkg_search_module的区别
在CMake中,find_library、pkg_check_modules和pkg_search_module是用于查找和使用库的三种不同命令。以下是具体介绍: find_library 功能:find_library用于查找指定的库文件(动态库或静态库),不依赖于库提供…...

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

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

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

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

R语言详解predict函数
R语言中predict函数在建立模型,研究关系时常用。但是不同type得到的结果常常被混为一谈,接下来,探讨predict得到的不同结果。 #数据 set.seed(123) n<-1000 age<-rnorm(n,mean50,sd10) gender<-rbinom(n,1,0.5) disease<-rbinom…...

QT 实现随机码验证
1.界面实现效果 以下是具体的项目需要用到的效果展示,用于验证字母。 2.简介 自定义CaptchaMovableLabel,继承自QLabel类: 中间的4个字母,就是CaptchaMovableLabel类来实例化的对象。 主要功能如下: 1.显示字母&am…...

集合框架12:Set集合概述、Set接口使用
视频链接:13.24 Set接口使用_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1zD4y1Q7Fw?spm_id_from333.788.videopod.episodes&vd_sourceb5775c3a4ea16a5306db9c7c1c1486b5&p24 1、Set集合概述 特点:无序、无下标,元素不可…...

如何打开荣耀手机的调试模式?
问题描述: 最近用荣耀手机进行测试,打开开发者选项,打开USB调试,在选择USB配置时,发现仅有选择USB以太网才可以连接Android Studio,也就是打开ADB调试模式。 但是,打开USB以太网后,…...

Meta新模型Dualformer:融合快慢思维,推理能力媲美人脑
Meta 的 FAIR 团队最近推出了一款名为 Dualformer 的全新 Transformer 模型,该模型模仿人类的双重认知系统,能够无缝整合快速和慢速推理模式,在推理能力和计算效率上取得了显著突破。 人类的思维过程通常被认为是由两种系统控制的:系统1快速…...

CDGA|数据治理:如何让传统行业实现数据智能
在当今这个数字化时代,数据已成为推动各行各业转型升级的关键力量。对于传统行业而言,如何从海量、复杂的数据中挖掘价值,实现“数据智能”,成为了提升竞争力、优化运营效率、创新业务模式的重要途径。本文将探讨数据治理如何助力…...

Spring源码5.2.9 编译踩坑
源码编译踩坑 拉取源码 我这块以5.2.9版本为例 spring-projects/spring-framework at v5.2.9.RELEASE (github.com) 版本分析 确定版本 这块将Gradle升级到了5.6.4 ,我们去官网下载即可 Gradle安装 Gradle | Releases 解压 将其解压到你想存放的文件夹 配置环…...

【前端】如何制作一个自己的网页(5)
上节课我们学习了以下知识: 1、网页中常见的文本元素,如标题元素与段落元素; 2、两个通用属性id与class; 3、元素的两种类型——块级元素与行内元素。 其实除了文本内容外,网页还可以包含图片、超链接等各类信息&a…...

Unity实战案例全解析 类宝可梦回合制的初级案例 源码分析(加了注释和流程图)
这是一个老教程了,但是对于没有写过回合制的初级程序同学来讲是比较适合的,也可以直接看源码,半小时内可以解决战斗 当然,我也没写过回合制系统所以就到处找,思路明白了就能自己修改了 视频教程 - 油管链接 Turn-Bas…...

AI绘图大模型 Stable Diffusion 使用详解
近年来,生成式 AI 技术,特别是 AI 绘图模型的进展令人瞩目。Stable Diffusion 是其中一款开源的大规模图像生成模型,它能够根据文本描述生成高质量的图像,支持从写实风格到卡通、幻想等各种不同的视觉效果。本文将深入介绍如何使用…...