66个JAVA常见代码大全:学完这篇从Java小白到AI全栈架构师

66个JAVA常见代码大全:学完这篇从Java小白到AI全栈架构师

66个JAVA常见代码大全:学完这篇从Java小白到AI全栈架构师

摘要:本文详细列举了 66 个 Java 编程中的关键代码示例,包括基础语法、数据类型、条件判断、循环、数组、方法、面向对象、继承、接口、抽象类、多态、封装、静态变量、内部类、匿名类、泛型、集合框架、异常处理、文件 I/O、多线程、同步以及高级并发概念,帮助你从入门到成长为架构师。

66个Java常见代码大全:学完这篇从Java小白到AI全栈架构师

引言

在当今的编程世界中,Java 作为一种广泛使用的编程语言,涵盖了从基础语法到复杂架构的方方面面。无论是刚接触编程的新手,还是经验丰富的开发者,掌握Java的核心技术和常用模式,都是成为一名高效开发者的必经之路。本篇文章将带您通过 66 个关键代码示例,从零开始深入学习 Java,从最基础的语法到高阶的并发编程,帮助您成为一名合格的 全栈开发者架构师

这篇文章不仅包含了 Java 编程语言 中的核心概念、常见技术栈,还为您详细解析了 面向对象编程(OOP)与 多线程并发 的实际应用技巧。无论是构建简单的应用程序,还是设计复杂的分布式系统,本文的示例代码将为您提供明确的指导,帮助您快速上手并实现功能。

66个JAVA常见代码大全:学完这篇从Java小白到AI全栈架构师

文章目录


使用说明

  • 环境建议:JDK 17(兼容 11+)、Gradle/Maven 均可。
  • 示例风格:每节给出 1 个小示例,
    • 简短解释 + 可运行/可复用的核心代码;
    • 为避免类名冲突,示例类名各不相同或仅展示片段;
    • 可将多个示例放入同一工程的 src/main/java 目录下单独运行。

如何运行

# 以单文件方式运行 javac Demo01.java &&java Demo01 

1. Hello World

publicclassDemo01{publicstaticvoidmain(String[] args){System.out.println("Hello, World!");}}

2. 变量与类型

publicclassDemo02{publicstaticvoidmain(String[] args){int age =18;double score =98.5;boolean ok =true;char c ='A';long big =9_223_372_036_854_775_807L;// 下划线增强可读性var msg ="Java";// JDK 10 局部类型推断System.out.printf("age=%d, score=%.1f, ok=%b, c=%c, msg=%s\n", age, score, ok, c, msg);}}

3. 类型转换

publicclassDemo03{publicstaticvoidmain(String[] args){int i =10;long l = i;// 自动提升double d = l;int j =(int) d;// 强转可能丢失精度System.out.println(j);}}

4. 常量 final

publicclassDemo04{publicstaticfinaldoublePI=3.141592653589793;publicstaticvoidmain(String[] args){System.out.println(PI);}}

5. 运算符

publicclassDemo05{publicstaticvoidmain(String[] args){int a =5, b =2;System.out.println(a / b);// 2 整除System.out.println(a /(double) b);// 2.5 浮点System.out.println(a++);// 5(先用后加)System.out.println(++a);// 7(先加后用)System.out.println(a &1);// 位运算判断奇偶}}

6. 字符串操作

publicclassDemo06{publicstaticvoidmain(String[] args){String s =" Java ";System.out.println(s.trim().toUpperCase().replace(" ",""));System.out.println(String.join(",","A","B","C"));}}

7. 控制台输入

importjava.util.*;publicclassDemo07{publicstaticvoidmain(String[] args){try(Scanner sc =newScanner(System.in)){System.out.print("请输入名字: ");String name = sc.nextLine();System.out.println("Hi, "+ name);}}}

8. 格式化输出

publicclassDemo08{publicstaticvoidmain(String[] args){System.out.printf("%-10s | %8.2f\n","Revenue",12345.678);}}

9. if-else

publicclassDemo09{publicstaticvoidmain(String[] args){int score =86;String level = score >=90?"A": score >=80?"B":"C";System.out.println(level);}}

10. switch 表达式

publicclassDemo10{publicstaticvoidmain(String[] args){String day ="MON";int num =switch(day){case"MON","TUE","WED","THU","FRI"->1;case"SAT","SUN"->2;default->0;};System.out.println(num);}}

11. for 循环

publicclassDemo11{publicstaticvoidmain(String[] args){int sum =0;for(int i =1; i <=100; i++) sum += i;System.out.println(sum);}}

12. while/do-while

publicclassDemo12{publicstaticvoidmain(String[] args){int n =3;do{System.out.println(n--);}while(n >0);}}

13. break/continue/标签

publicclassDemo13{publicstaticvoidmain(String[] args){ outer:for(int i =0; i <3; i++){for(int j =0; j <3; j++){if(i ==1&& j ==1)break outer;System.out.printf("(%d,%d) ", i, j);}}}}

14. 增强 for

importjava.util.*;publicclassDemo14{publicstaticvoidmain(String[] args){for(var x :List.of(1,2,3))System.out.println(x);}}

15. 一维数组

importjava.util.Arrays;publicclassDemo15{publicstaticvoidmain(String[] args){int[] arr ={3,1,2};Arrays.sort(arr);System.out.println(Arrays.toString(arr));}}

16. 二维数组

importjava.util.Arrays;publicclassDemo16{publicstaticvoidmain(String[] args){int[][] m ={{1,2},{3,4}};System.out.println(Arrays.deepToString(m));}}

17. Arrays 工具类

importjava.util.Arrays;publicclassDemo17{publicstaticvoidmain(String[] args){int[] a ={1,3,5,7};System.out.println(Arrays.binarySearch(a,5));int[] b =Arrays.copyOf(a,6);System.out.println(Arrays.toString(b));}}

18. 方法与重载

publicclassDemo18{staticintadd(int a,int b){return a+b;}staticdoubleadd(double a,double b){return a+b;}publicstaticvoidmain(String[] args){System.out.println(add(1,2));System.out.println(add(1.2,3.4));}}

19. 可变参数

publicclassDemo19{staticintsum(int... xs){int s=0;for(int x:xs) s+=x;return s;}publicstaticvoidmain(String[] a){System.out.println(sum(1,2,3,4));}}

20. 类与对象

classUser{String name;int age;}publicclassDemo20{publicstaticvoidmain(String[] args){User u=newUser(); u.name="Tom"; u.age=20;System.out.println(u.name+":"+u.age);}}

21. 封装

classAccount{privatedouble balance;publicdoublegetBalance(){return balance;}publicvoiddeposit(double amt){if(amt<=0)thrownewIllegalArgumentException(); balance+=amt;}}

22. 构造器与 this

classPoint{int x,y;Point(){this(0,0);}Point(int x,int y){this.x=x;this.y=y;}}

23. static 成员与静态块

classIdGen{staticlong next=1;static{System.out.println("class loaded");}staticsynchronizedlongnextId(){return next++;}}

24. 继承与 super

classAnimal{voidsay(){System.out.println("...");}}classDogextendsAnimal{@Overridevoidsay(){super.say();System.out.println("wang");}}

25. 多态与重写

classShape{doublearea(){return0;}}classCircleextendsShape{double r;Circle(double r){this.r=r;}@Overridedoublearea(){returnMath.PI*r*r;}}classSquareextendsShape{double a;Square(double a){this.a=a;}@Overridedoublearea(){return a*a;}}

26. 抽象类

abstractclassTransport{abstractvoidmove();}classCarextendsTransport{voidmove(){System.out.println("Car go");}}

27. 接口(default/static)

interfaceLogger{voidinfo(String msg);defaultvoidwarn(String msg){System.out.println("WARN "+msg);}staticLoggernop(){return m->{};}}

28. 内部类与匿名类

classOuter{privateint v=42;classInner{intget(){return v;}}// 成员内部类}classUseAnon{staticRunnable r =newRunnable(){publicvoidrun(){System.out.println("anon run");}};}

29. 泛型类

classBox<T>{privateT v;publicvoidset(T v){this.v=v;}publicTget(){return v;}}

30. 泛型方法与通配符(PECS)

importjava.util.*;classG{static<T>voidcopy(List<?superT> dst,List<?extendsT> src){ dst.addAll(src);}// Producer Extends, Consumer Super}

31. 枚举

enumRole{ADMIN,USER,GUEST}

32. ArrayList/LinkedList

importjava.util.*;publicclassDemo32{publicstaticvoidmain(String[] a){List<Integer> arr =newArrayList<>(); arr.add(1); arr.add(2);Deque<Integer> link =newLinkedList<>(); link.addFirst(3); link.addLast(4);System.out.println(arr+" | "+link);}}

33. HashMap/LinkedHashMap/TreeMap

importjava.util.*;publicclassDemo33{publicstaticvoidmain(String[] a){Map<String,Integer> m1=newHashMap<>(); m1.put("b",2); m1.put("a",1);Map<String,Integer> m2=newLinkedHashMap<>(); m2.put("b",2); m2.put("a",1);Map<String,Integer> m3=newTreeMap<>(); m3.put("b",2); m3.put("a",1);System.out.println(m1.keySet());System.out.println(m2.keySet());System.out.println(m3.keySet());}}

34. HashSet/LinkedHashSet/TreeSet

importjava.util.*;publicclassDemo34{publicstaticvoidmain(String[] a){System.out.println(newHashSet<>(List.of(3,1,2)));// 无序System.out.println(newLinkedHashSet<>(List.of(3,1,2)));// 插入序System.out.println(newTreeSet<>(List.of(3,1,2)));// 自然序}}

35. Queue/Deque

importjava.util.*;publicclassDemo35{publicstaticvoidmain(String[] a){Queue<Integer> q =newArrayDeque<>(); q.offer(1); q.offer(2);System.out.println(q.poll());Deque<Integer> d =newArrayDeque<>(); d.addFirst(1); d.addLast(2);System.out.println(d.removeLast());}}

36. Comparable/Comparator

importjava.util.*;classPersonimplementsComparable<Person>{String n;int a;Person(String n,int a){this.n=n;this.a=a;}publicintcompareTo(Person o){returnInteger.compare(a,o.a);}publicStringtoString(){return n+":"+a;}}publicclassDemo36{publicstaticvoidmain(String[] a){List<Person> list =newArrayList<>(List.of(newPerson("A",30),newPerson("B",20))); list.sort(Comparator.comparing(p->p.n));// 使用 ComparatorSystem.out.println(list);}}

37. Stream 基本操作

importjava.util.*;importjava.util.stream.*;publicclassDemo37{publicstaticvoidmain(String[] a){var r =IntStream.rangeClosed(1,10).filter(x->x%2==0).map(x->x*x).boxed().toList();System.out.println(r);}}

38. Optional

importjava.util.*;publicclassDemo38{staticOptional<String>find(boolean ok){return ok?Optional.of("ok"):Optional.empty();}publicstaticvoidmain(String[] a){System.out.println(find(true).orElse("N/A"));}}

39. Collectors 分组/分区

importjava.util.*;importjava.util.stream.*;publicclassDemo39{publicstaticvoidmain(String[] a){recordP(String n,int a){}var ps =List.of(newP("A",18),newP("B",20),newP("C",20));var byAge = ps.stream().collect(Collectors.groupingBy(P::a));var part = ps.stream().collect(Collectors.partitioningBy(p->p.a>=20));System.out.println(byAge);System.out.println(part);}}

40. try-catch-finally & 多重捕获

publicclassDemo40{publicstaticvoidmain(String[] args){try{Integer.parseInt("x");}catch(NumberFormatException|NullPointerException e){System.out.println("bad number");}finally{System.out.println("done");}}}

41. 自定义异常

classBizExceptionextendsRuntimeException{BizException(String m){super(m);}}

42. try-with-resources

importjava.io.*;publicclassDemo42{publicstaticvoidmain(String[] args)throwsException{try(var in =newByteArrayInputStream("hi".getBytes());var out =newByteArrayOutputStream()){ out.write(in.readAllBytes());System.out.println(out);}}}

43. NIO.2 文件读写

importjava.nio.file.*;importjava.nio.charset.StandardCharsets;importjava.io.IOException;publicclassDemo43{publicstaticvoidmain(String[] args)throwsIOException{Path p =Path.of("/tmp/demo.txt");Files.writeString(p,"hello",StandardCharsets.UTF_8);System.out.println(Files.readString(p));}}

44. 对象序列化

importjava.io.*;classBookimplementsSerializable{String name;Book(String n){name=n;}}publicclassDemo44{publicstaticvoidmain(String[] args)throwsException{var f =newFile("/tmp/book.bin");try(var o =newObjectOutputStream(newFileOutputStream(f))){ o.writeObject(newBook("Java"));}try(var i =newObjectInputStream(newFileInputStream(f))){System.out.println(((Book)i.readObject()).name);}}}

45. 缓冲流

importjava.io.*;publicclassDemo45{publicstaticvoidmain(String[] args)throwsException{try(var in =newBufferedInputStream(newFileInputStream("/etc/hosts"))){byte[] buf = in.readAllBytes();System.out.println(buf.length);}}}

46. 目录遍历 Files.walk

importjava.nio.file.*;importjava.io.IOException;publicclassDemo46{publicstaticvoidmain(String[] a)throwsIOException{try(var s =Files.walk(Path.of("."),1)){ s.forEach(System.out::println);}}}

47. 正则表达式

importjava.util.regex.*;publicclassDemo47{publicstaticvoidmain(String[] a){var m =Pattern.compile("(\\w+)@(\\w+\\.\\w+)").matcher("hi [email protected]");if(m.find())System.out.println(m.group(1)+"@"+m.group(2));}}

48. 命令行参数

publicclassDemo48{publicstaticvoidmain(String[] args){for(String s:args)System.out.println(s);}}

49. 创建线程:Thread/Runnable

publicclassDemo49{publicstaticvoidmain(String[] a){newThread(()->System.out.println("hi from "+Thread.currentThread().getName())).start();}}

50. sleep/yield/join

publicclassDemo50{publicstaticvoidmain(String[] a)throwsInterruptedException{Thread t =newThread(()->{try{Thread.sleep(100);}catch(InterruptedException ignored){}}); t.start(); t.join();System.out.println("joined");}}

51. synchronized 同步

classCounter{privateint c;publicsynchronizedvoidinc(){ c++;}publicsynchronizedintget(){return c;}}

52. volatile 可见性演示

publicclassDemo52{staticvolatileboolean running =true;// 保证线程间可见publicstaticvoidmain(String[] a)throwsException{var t =newThread(()->{while(running){}}); t.start();Thread.sleep(10); running =false; t.join();System.out.println("stop");}}

53. 原子类 AtomicInteger

importjava.util.concurrent.atomic.*;classCnt{AtomicInteger n =newAtomicInteger();voidinc(){ n.incrementAndGet();}}

54. ReentrantLock

importjava.util.concurrent.locks.*;classSafeBox{privateint v;privatefinalLock lock=newReentrantLock();voidset(int x){ lock.lock();try{ v=x;}finally{ lock.unlock();}}intget(){ lock.lock();try{return v;}finally{ lock.unlock();}}}

55. ReadWriteLock

importjava.util.concurrent.locks.*;classCacheRW{privateint v;privatefinalReadWriteLock rw =newReentrantReadWriteLock();intget(){ rw.readLock().lock();try{return v;}finally{ rw.readLock().unlock();}}voidset(int x){ rw.writeLock().lock();try{ v=x;}finally{ rw.writeLock().unlock();}}}

56. Condition await/signal

importjava.util.concurrent.locks.*;classWaiter{finalLock lock=newReentrantLock();finalCondition ready=lock.newCondition();boolean ok=false;voidwaitIt()throwsInterruptedException{ lock.lock();try{while(!ok) ready.await();}finally{ lock.unlock();}}voidfire(){ lock.lock();try{ ok=true; ready.signalAll();}finally{ lock.unlock();}}}

57. ThreadLocal

publicclassDemo57{staticThreadLocal<String> ctx =ThreadLocal.withInitial(()->"guest");}

58. BlockingQueue 生产者-消费者

importjava.util.concurrent.*;publicclassDemo58{publicstaticvoidmain(String[] a)throwsException{BlockingQueue<Integer> q =newLinkedBlockingQueue<>(2);newThread(()->{try{for(int i=1;i<=3;i++){ q.put(i);} q.put(-1);}catch(InterruptedException ignored){}}).start();newThread(()->{try{for(;;){int x=q.take();if(x==-1)break;System.out.println("consume "+x);}}catch(InterruptedException ignored){}}).start();}}

59. CountDownLatch

importjava.util.concurrent.*;publicclassDemo59{publicstaticvoidmain(String[] a)throwsException{var latch=newCountDownLatch(3);for(int i=0;i<3;i++)newThread(()->{ latch.countDown();}).start(); latch.await();System.out.println("all done");}}

60. CyclicBarrier

importjava.util.concurrent.*;publicclassDemo60{publicstaticvoidmain(String[] a){var barrier=newCyclicBarrier(3,()->System.out.println("go!"));for(int i=0;i<3;i++)newThread(()->{try{ barrier.await();}catch(Exception ignored){}}).start();}}

61. Semaphore

importjava.util.concurrent.*;publicclassDemo61{publicstaticvoidmain(String[] a){var sem =newSemaphore(2);for(int i=0;i<5;i++)newThread(()->{try{ sem.acquire();System.out.println("in");Thread.sleep(50);}catch(Exception ignored){}finally{ sem.release();}}).start();}}

62. Phaser

importjava.util.concurrent.*;publicclassDemo62{publicstaticvoidmain(String[] a){Phaser p =newPhaser(3);for(int i=0;i<3;i++)newThread(()->{ p.arriveAndAwaitAdvance();System.out.println("phase1"); p.arriveAndDeregister();}).start();}}

63. ExecutorService 线程池

importjava.util.concurrent.*;publicclassDemo63{publicstaticvoidmain(String[] a)throwsException{ExecutorService pool =Executors.newFixedThreadPool(4);Future<Integer> f = pool.submit(()->42);System.out.println(f.get()); pool.shutdown();}}

64. ScheduledExecutorService 定时任务

importjava.util.concurrent.*;publicclassDemo64{publicstaticvoidmain(String[] a){var sch =Executors.newScheduledThreadPool(1); sch.scheduleAtFixedRate(()->System.out.println("tick"),0,1,TimeUnit.SECONDS);}}
提示:示例 64 会持续打印,可在演示时添加退出条件或手动停止进程。

65. CompletableFuture

importjava.util.concurrent.*;publicclassDemo65{publicstaticvoidmain(String[] a)throwsException{var f =CompletableFuture.supplyAsync(()->21).thenApply(x -> x *2);System.out.println(f.get());}}

66. ForkJoinPool

importjava.util.concurrent.*;importjava.util.*;publicclassDemo66{staticclassSumextendsRecursiveTask<Long>{finalint[] arr;finalint lo, hi;staticfinalintTH=1_000;Sum(int[] arr,int lo,int hi){this.arr=arr;this.lo=lo;this.hi=hi;}protectedLongcompute(){if(hi-lo<=TH){long s=0;for(int i=lo;i<hi;i++) s+=arr[i];return s;}int mid=(lo+hi)/2;var left=newSum(arr,lo,mid);var right=newSum(arr,mid,hi); left.fork();long r=right.compute();return left.join()+r;}}publicstaticvoidmain(String[] a){int[] data=newRandom().ints(1_000_000,1,10).toArray();long s =ForkJoinPool.commonPool().invoke(newSum(data,0,data.length));System.out.println(s);}}

进一步学习与架构思维

  • 从“写得通”到“写得稳”:单元测试、异常边界、不可变对象(record / Collections.unmodifiable*)。
  • 从单体到分布式:理解并发原语到线程池隔离,进而到服务化(超时、重试、熔断、限流)的设计理念。
  • 数据与 AI 接口:HTTP 客户端(Java 11+ HttpClient)、JSON 编解码(选择 Jackson/Gson 等库)、向量数据库/消息队列客户端的异步调用,落地到 CompletableFuture 组合编排。
  • 性能与可观测:JFR(Java Flight Recorder)、JIT/GC 基础、指标与日志链路。

基础语法面向对象编程集合与流文件 I/O并发与线程现代并发与编排Web/AI/数据组件全栈/架构Java基本数据类型控制结构类与对象继承与多态抽象类与接口集合框架Stream API文件读取与写入路径与文件操作线程基础同步与锁线程池异步编程Web开发基础AI与机器学习数据分析与处理

结束语

通过本文的详细讲解和丰富示例,我们已经涵盖了 Java 编程中的 66 个关键技术点,并为您提供了从基础到进阶的学习路径。从 基本语法多线程,每个概念都为您奠定了坚实的基础。通过实际代码示例和常见模式的掌握,您将能够轻松应对复杂项目和架构设计。

然而,技术的学习是一个持续的过程。希望本文能够成为您的学习指南,带领您迈向更加专业的编程生涯。接下来,您可以进一步探索 Java 的高级应用,如 分布式系统设计微服务架构、以及 人工智能与大数据处理 等方向。让我们从基础到架构,再到性能优化和高可用设计,逐步提升您的技术能力。

如果您在学习过程中有任何问题,欢迎在评论区留言,或与我互动交流。不断实践,持续成长,未来的全栈架构师之路,已经向您敞开。让我们一起迎接下一个技术高峰!


Read more

谷歌封杀也挡不住!OpenClaw+Qwen3.5,开源AI彻底疯了

谷歌封杀也挡不住!OpenClaw+Qwen3.5,开源AI彻底疯了

文章目录 * 前言 * OpenClaw 到底是什么?你的 24 小时私人助理 * Qwen3.5:阿里开源的"性能怪兽" * 王炸组合:当 OpenClaw 遇上 Qwen3.5 * 场景一:零代码自动化办公 * 场景二:私有化知识库问答 * 场景三:7×24 小时智能运维 * 手把手部署:从零搭建你的 AI 助手 * 第一步:准备 Qwen3.5 模型 * 第二步:安装 OpenClaw * 第三步:接入常用通讯工具 * 第四步:安装实用 Skills * 避坑指南:安全防护与成本控制 * 写在最后:AI 民主化的里程碑 目前国内还是很缺AI人才的,

By Ne0inhk
一站式开源AI平台Cherry Studio本地部署与远程调用本地大模型

一站式开源AI平台Cherry Studio本地部署与远程调用本地大模型

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学习,不断总结,共同进步,活到老学到老导航檀越剑指大厂系列:全面总结 java 核心技术,jvm,并发编程 redis,kafka,Spring,微服务等常用开发工具系列:常用的开发工具,IDEA,Mac,Alfred,Git,typora 等数据库系列:详细总结了常用数据库 mysql 技术点,以及工作中遇到的 mysql 问题等新空间代码工作室:提供各种软件服务,承接各种毕业设计,毕业论文等懒人运维系列:总结好用的命令,解放双手不香吗?能用一个命令完成绝不用两个操作数据结构与算法系列:总结数据结构和算法,不同类型针对性训练,提升编程思维,剑指大厂 非常期待和您一起在这个小小的网络世界里共同探索、学习和成长。💝💝💝 ✨✨ 欢迎订阅本专栏 ✨✨ 博客目录 * 前言

By Ne0inhk

GitHub 爆火的 30+ 个 OpenClaw 真实场景全拆解

大家好,我是玄姐。 最近,霸榜 GitHub 的 OpenClaw 彻底火出圈了。作为一款能直接“看懂”屏幕、操控鼠标键盘的本地 AI Agent 框架,它证明了 AI 已经从“云端对话框”进化成了“超级打工人”。 很多读者在后台留言:“装是装上了,但我到底该用它干嘛?” 没问题。今天我们不搞虚的,直接把 GitHub 上开源的那份最具参考价值的 30+ 真实使用案例进行完整拆解。这 30 个案例不是玩具 Demo,而是实实在在运行在海外开发者、业务运营和数字游民电脑里的生产力工作流。 PS: 为了让大家更深度的搞懂 OpenClaw 和 Skills 技术体系实践,我会开场直播,欢迎点击预约,直播见。 为了方便阅读,我将这 30 个硬核案例分为了五大核心场景。

By Ne0inhk