50个JAVA常见代码大全:学完这篇从Java小白到架构师
Java,作为一门流行多年的编程语言,始终占据着软件开发领域的重要位置。无论是初学者还是经验丰富的程序员,掌握Java中常见的代码和概念都是至关重要的。本文将列出50个Java常用代码示例,并提供相应解释,助力你从Java小白成长为架构师。
基础语法
1. Hello World
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, World!");
}
}
2. 数据类型
int a = 100;
float b = 5.25f;
double c = 5.25;
boolean d = true;
char e = 'A';
String f = "Hello";
3. 条件判断
if (a > b) {
// 条件成立时执行
} else if (a == b) {
// 另一个条件
} else {
// 条件都不成立时执行
}
4. 循环结构
for循环
for (int i = 0; i < 10; i++) {
System.out.println("i: " + i);
}
while循环
int i = 0;
while (i < 10) {
System.out.println("i: " + i);
i++;
}
do-while循环
int i = 0;
do {
System.out.println("i: " + i);
i++;
} while (i < 10);
5. 数组
int[] arr = new int[5];
arr[0] = 1;
arr[1] = 2;
// ...
int[] arr2 = {1, 2, 3, 4, 5};
6. 方法定义与调用
public static int add(int a, int b) {
return a + b;
}
int sum = 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();
8. 构造方法
public class User {
String name;
public User(String newName) {
name = newName;
}
}
User user = new User("Alice");
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();
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();
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();
12. 方法重载
public class Calculator {
int add(int a, int b) {
return a + b;
```java
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); // 调用第三个方法
13. 方法重写
public class Animal {
void makeSound() {
System.out.println("Some sound");
}
}
public class Dog extends Animal {
@Override
void makeSound() {
System.out.println("Bark");
}
}
Animal myDog = new Dog();
myDog.makeSound(); // 输出 "Bark"
14. 多态
public class Animal {
void makeSound() {
System.out.println("Some generic sound");
}
}
public class Dog extends Animal {
@Override
void makeSound() {
System.out.println("Bark");
}
}
public class Cat extends Animal {
@Override
void makeSound() {
System.out.println("Meow");
}
}
Animal myAnimal = new Dog();
myAnimal.makeSound(); // Bark
myAnimal = new Cat();
myAnimal.makeSound(); // Meow
15. 封装
public class Account {
private double balance;
public Account(double initialBalance) {
if(initialBalance > 0) {
balance = initialBalance;
}
}
public void deposit(double amount) {
if(amount > 0) {
balance += amount;
}
}
public void withdraw(double amount) {
if(amount <= balance) {
balance -= amount;
}
}
public double getBalance() {
return balance;
}
}
Account myAccount = new Account(50);
myAccount.deposit(150);
myAccount.withdraw(75);
System.out.println(myAccount.getBalance()); // 应输出:125.0
16. 静态变量和方法
public class MathUtils {
public static final double PI = 3.14159;
public static double add(double a, double b) {
return a + b;
}
public static double subtract(double a, double b) {
return a - b;
}
public static double multiply(double a, double b) {
return a * b;
}
}
double circumference = MathUtils.PI * 2 * 5;
System.out.println(circumference); // 打印圆的周长
17. 内部类
public class OuterClass {
private String msg = "Hello";
class InnerClass {
void display() {
System.out.println(msg);
}
}
public void printMessage() {
InnerClass inner = new InnerClass();
inner.display();
}
}
OuterClass outer = new OuterClass();
outer.printMessage(); // 输出 "Hello"
18. 匿名类
abstract class SaleTodayOnly {
abstract int dollarsOff();
}
public class Store {
public SaleTodayOnly sale = new SaleTodayOnly() {
int dollarsOff() {
return 3;
}
};
}
Store store = new Store();
System.out.println(store.sale.dollarsOff()); // 应输出3
高级编程概念
19. 泛型
public class Box<T> {
private T t;
public void set(T t) {
this.t = t;
}
public T get() {
return t;
}
}
Box<Integer> integerBox = new Box<>();
integerBox.set(10);
System.out.println(integerBox.get()); // 应输出:10
20. 集合框架
ArrayList
import java.util.ArrayList;
ArrayList<String> list = new ArrayList<>();
list.add("Java");
list.add("Python");
list.add("C++");
System.out```java
.println(list); // 应输出:[Java, Python, C++]
HashMap
import java.util.HashMap;
HashMap<String, Integer> map = new HashMap<>();
map.put("Apple", 1);
map.put("Banana", 2);
map.put("Cherry", 3);
System.out.println(map.get("Apple")); // 应输出:1
21. 异常处理
try {
int result = 10 / 0;
} catch (ArithmeticException e) {
System.out.println("Cannot divide by zero!");
} finally {
System.out.println("This will always be printed.");
}
22. 文件I/O
读取文件
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
String line;
try (BufferedReader br = new BufferedReader(new FileReader("file.txt"))) {
while ((line = br.readLine()) != null) {
System.out.println(line);
}
} catch (IOException e) {
e.printStackTrace();
}
写入文件
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
try (BufferedWriter bw = new BufferedWriter(new FileWriter("output.txt"))) {
bw.write("Hello World!");
} catch (IOException e) {
e.printStackTrace();
}
23. 多线程
创建线程
class MyThread extends Thread {
public void run() {
System.out.println("MyThread running");
}
}
MyThread myThread = new MyThread();
myThread.start();
实现Runnable接口
class MyRunnable implements Runnable {
public void run() {
System.out.println("MyRunnable running");
}
}
Thread thread = new Thread(new MyRunnable());
thread.start();
24. 同步
public class Counter {
private int count = 0;
public synchronized void increment() {
count++;
}
public synchronized int getCount() {
return count;
}
}
25. 高级多线程
使用Executors
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
ExecutorService executor = Executors.newFixedThreadPool(2);
executor.submit(() -> {
System.out.println("ExecutorService running");
});
executor.shutdown();
Future和Callable
import java.util.concurrent.Callable;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.Future;
Callable<Integer> callableTask = () -> {
return 10;
};
ExecutorService executorService = Executors.newSingleThreadExecutor();
Future<Integer> future = executorService.submit(callableTask);
try {
Integer result = future.get(); // this will wait for the task to finish
System.out.println("Future result: " + result);
} catch (InterruptedException | ExecutionException e) {
e.printStackTrace();
} finally {
executorService.shutdown();
}
以上就是Java常见的50个代码示例,涵盖了从基础到高级的多方面知识。掌握这些代码片段将极大提升你的编码技能,并为成长为一名优秀的Java架构师打下坚实基础。持续实践和学习,相信不久的将来,你将在Java的世界里驾轻就熟。
👉 准备好进入下一个阶段了吗?走起!
在人工智能(AI)迅速发展的背景下,从传统的编程领域如Java程序员转向大模型开发是一个既充满挑战也充满机遇的过程。对于 Java 程序员来说,这也是一个实现职业转型、提升薪资待遇的绝佳机遇。
为大家整理了一份大模型AGI-CSDN独家资料包,微信扫码即可获取!
一、明确大模型概念
简单来说,大模型就是具有大量参数和强大计算能力的人工智能模型,可以处理各种复杂的任务,如自然语言处理、图像识别等。想象一下,大模型就像是一个超级聪明的大脑,能够理解和处理各种信息。
二、转行步骤
第一步:学习基础知识。了解机器学习、深度学习的基本概念和原理,掌握常见的算法和模型架构。可以通过在线课程、书籍等资源进行系统学习。
第二步:掌握相关工具和框架。大模型的开发通常需要使用一些特定的工具和框架,如 TensorFlow、PyTorch 等。虽然 Java 程序员可能对这些工具不太熟悉,但可以通过学习和实践逐渐掌握。
第三步:提升编程能力。大模型的开发需要高效的编程能力,尤其是在处理大规模数据和复杂计算时。Java 程序员可以进一步提升自己的编程技巧,学习优化算法和代码结构的方法。
第四步:数学知识储备。高数、概率论和线性代数等数学知识对于理解和开发大模型至关重要。Java 程序员可以通过复习和学习相关数学课程,提升自己的数学水平。(
第五步:项目实践。参与开源项目、参加数据竞赛或者通过企业实习获取实际项目经验。在实践中,不仅可以巩固所学知识,还能了解大模型在实际应用中的需求和挑战。
三、Java 程序员的优势
对于 Java 程序员来说,转行做大模型具备一定的优势。Java 语言在企业级应用开发中广泛使用,程序员们对软件架构和开发流程有较为深入的理解,这对于大模型的工程化实施非常有帮助。
总之,Java 程序员要成功转行做大模型,需要不断学习、实践和积累经验。在 AI 时代的浪潮中,抓住机遇,勇敢迈出转型的步伐,迎接新的职业挑战和发展机遇。
四、AI大模型时代的价值技术岗位
随着AI大模型
时代的到来,开发工程师出现了许多新的工种。这些工种的核心不再是关注语言本身,而是模型本身带来的巨大潜力,因为当一个旧维度的东西被一个全新维度的东西代替的时候,人们处理问题的效率回得到十倍甚至是百倍的增长。而这种被行业聚焦的岗位自然变得炽手可热,下面列举一些我认为比较有竞争力的岗位。这些新的工种反映了AI技术
的不断进步和应用范围的拓展,为开发工程师提供了更多选择和机会。
4.1 AI工程师
专门负责设计、开发和实施人工智能系统和算法的工程师。他们需要有扎实的机器学习和深度学习知识,能够构建和训练复杂的神经网络模型。
4.2 数据工程师
负责处理和管理大规模数据的工程师。他们需要设计和实施数据采集、存储、处理和分析的系统,并确保数据的质量和可靠性。
4.3 模型架构师
负责设计和构建大规模AI模型的架构的工程师。他们需要了解不同类型的模型架构,并在实际应用中选择合适的架构来解决问题。
4.4 算法工程师
专门研究和开发新的算法和技术来提升AI模型的性能和效果的工程师。他们需要深入理解机器学习和统计学原理,并具备独立开发新算法的能力。
4.5 质量测试工程师
负责测试和验证AI模型的质量和性能的工程师。他们需要设计和执行各种测试用例,确保模型在各种情况下都能正常运行。
4.5 部署工程师
负责将AI模型部署到生产环境中并确保其高效运行的工程师。他们需要优化模型的性能和资源利用,处理模型的扩展性和容错性等方面的问题。
4.6 训练数据工程师
负责准备和标注训练数据集的工程师。他们需要清洗、标注和整理大规模的数据集,并确保数据的准确性和完整性。
2.7 解释性AI工程师
专门研究如何解释和理解AI模型决策过程的工程师。他们需要开发和应用解释性AI技术,以提高模型的可解释性和可信度。
五、AI工程师需要学习哪些知识
成为一个AI工程师难度实际上是非常高的,很多岗位都起码是要硕士起步,因为需要学习的东西非常多,也需要不断积淀,具体而言,深入学习这些领域的原理、算法和实践经验将有助于成为一名优秀的AI工程师。下面列表一些相关知识:
领域 | 知识点 |
---|---|
数学 | 线性代数、概率与统计、微积分、优化理论等 |
编程 | Python、C++、Java等编程语言,算法和数据结构的基础知识 |
机器学习 | 监督学习、无监督学习、强化学习、深度学习等方法和算法 |
神经网络 | 前馈神经网络、递归神经网络、卷积神经网络等深度学习模型 |
自然语言处理 | 文本分析、语言生成、语义理解、信息检索等技术 |
计算机视觉 | 图像处理、目标检测、图像分类和分割等相关技术 |
数据科学 | 数据清洗和预处理、特征工程、数据可视化等方法 |
软件工程 | 软件开发过程、版本控制、软件测试和调试等技巧 |
深度学习框架 | TensorFlow、PyTorch、Keras等常用深度学习框架 |
人工智能伦理学 | 研究人工智能对社会、经济和伦理方面的影响和应用 |
一、大模型风口已至:月薪30K+的AI岗正在批量诞生
2025年大模型应用呈现爆发式增长,根据工信部最新数据:
国内大模型相关岗位缺口达47万
初级工程师平均薪资28K(数据来源:BOSS直聘报告)
70%企业存在"能用模型不会调优"的痛点
真实案例:某二本机械专业学员,通过4个月系统学习,成功拿到某AI医疗公司大模型优化岗offer,薪资直接翻3倍!
如何学习AI大模型 ?
“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。
这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。
相信大家在刚刚开始学习的过程中总会有写摸不着方向,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程等免费分享出来。
如果你是零基础小白,想快速入门大模型是可以考虑的。
一方面是学习时间相对较短,学习内容更全面更集中。
二方面是可以根据这些资料规划好学习计划和方向。
😝有需要的小伙伴,可以微信扫码领取!
👉1.大模型入门学习思维导图👈
要学习一门新的技术,作为新手一定要先有一个明确的学习路线,方向不对,努力白费。
对于从来没有接触过AI大模型的同学,我们帮你准备了详细的学习路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。(完整路线在公众号内领取)
大模型学习路线
👉2.大模型配套视频👈
很多朋友都不喜欢晦涩的文字,我也为大家准备了视频教程,每个章节都是当前板块的精华浓缩。(篇幅有限,仅展示部分)
大模型教程
👉3.大模型经典学习电子书👈
随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。(篇幅有限,仅展示部分,公众号内领取)
电子书
👉4.大模型面试题&答案👈
截至目前大模型已经超过200个,在大模型纵横的时代,不仅大模型技术越来越卷,就连大模型相关的岗位和面试也开始越来越卷了。为了让大家更容易上车大模型算法赛道,我总结了大模型常考的面试题。(篇幅有限,仅展示部分,公众号内领取)
大模型面试
**因篇幅有限,仅展示部分资料,需要的扫描下方二维码领取 **