你是不是一提到 Java 编程就头疼,看着满屏代码不知所措?想入门 Java,却不知道从哪儿下手,也不清楚 2024 年最新的 JDK17 带来了哪些新变化?别担心,兔子哥这就给你安排上超详细的 Java 基础教程,从 JDK17 语法到数组与集合实战,包你轻松上手!
JDK17 有啥不一样?为啥要用它?
可能有人会问:“JDK 版本那么多,为啥非要用 17 呢?” 其实 JDK17 是长期支持版本(LTS),稳定性和安全性都更有保障。而且相比旧版本,它带来了不少新特性,比如密封类,能让代码结构更清晰,还有新的垃圾回收优化,程序运行起来更快。就好比你开车,新版本的车配置更高,开着更稳、更快。
那 JDK17 新特性对咱新手有啥用?比如密封类,以前写代码,继承关系可能乱糟糟的,现在用密封类可以明确限制哪些类能继承,代码可读性大大提高。就像收拾房间,把东西分类放好,找起来更方便。
基础语法大揭秘:JDK17 里的那些规则
学习 Java,语法是基础,就像学英语得先学单词和语法规则一样。
变量与数据类型
变量就像是一个个小盒子,用来装各种数据。在 JDK17 里,常见的数据类型有整数型(int)、浮点型(double)、字符型(char)和布尔型(boolean)。比如说,我们要记录一个人的年龄,就可以用
int age = 20;,这里age就是变量名,int表示它装的是整数,20是具体的值。运算符
运算符是用来对变量和值进行操作的符号。算术运算符
+、-、*、/大家肯定不陌生,做数学运算就靠它们。还有赋值运算符=,用来给变量赋值,比如int num = 5;。关系运算符>、<、==等,用来比较两个值的大小或者判断是否相等,像if (age > 18) {... },就是判断age是否大于 18。自问自答:有朋友可能要问了,“
==和equals有啥区别呀?” 简单来说,==比较的是两个变量的值是否相等,如果是对象,比较的是对象的内存地址;而equals方法一般用于比较对象的内容是否相等,比如两个字符串对象,用equals才能正确判断它们的内容是否一样。流程控制:让程序按你的想法跑
程序不能总是一条路走到黑,得能根据不同情况做不同的事,这就靠流程控制语句了。
条件语句
if - else语句大家肯定不陌生,它就像一个岔路口,程序根据条件判断走哪条路。比如:java
int score = 85;if (score >= 60) {System.out.println("及格啦");} else {System.out.println("不及格,继续努力");}还有
switch语句,适用于多条件判断。比如根据不同的星期几输出不同的活动安排:java
int day = 3;switch (day) {case 1:System.out.println("周一开会");break;case 2:System.out.println("周二培训");break;case 3:System.out.println("周三团建");break;default:System.out.println("其他时间正常工作");}循环语句
循环语句能让一段代码重复执行。
for循环常用于已知循环次数的情况,比如输出 1 到 10 的数字:java
for (int i = 1; i <= 10; i++) {System.out.println(i);}while循环则是在条件满足时一直循环,比如:java
int num = 0;while (num < 5) {System.out.println(num);num++;}自问自答:那什么时候用
for循环,什么时候用while循环呢?如果能明确知道要循环多少次,用for循环更合适,代码看起来也更简洁;要是不确定循环次数,只知道满足某个条件就继续循环,那就用while循环。数组与集合:批量管理数据的好帮手
在编程中,经常需要处理一组数据,这时候数组和集合就派上用场了。
数组
数组是一种固定大小的容器,可以存储多个相同类型的数据。比如存储一个班级学生的成绩:
java
int[] scores = {85, 90, 78, 92, 88};我们可以通过索引来访问数组中的元素,索引从 0 开始,
scores[0]就是第一个成绩 85。集合
集合比数组更灵活,它的大小可以动态变化。常见的集合有
ArrayList和HashMap。ArrayList可以用来存储一组对象,比如:java
import java.util.ArrayList;ArrayList<String> names = new ArrayList<>();names.add("张三");names.add("李四");System.out.println(names.get(0)); // 输出张三HashMap则是用来存储键值对,就像字典一样,通过键来查找对应的值:java
import java.util.HashMap;HashMap<String, Integer> ages = new HashMap<>();ages.put("张三", 20);ages.put("李四", 22);System.out.println(ages.get("张三")); // 输出20自问自答:有朋友会疑惑,“数组和集合到底该用哪个呢?” 如果数据量固定,并且对性能要求较高,数组是个不错的选择;要是数据量不确定,需要频繁地添加、删除元素,集合更灵活方便。
实战案例:用数组和集合做点有意思的事
光说不练假把式,下面咱来个实战案例,用数组和集合做一个简单的学生信息管理系统。
需求
记录学生的姓名和成绩,能添加学生信息,查询某个学生的成绩。
实现代码
java
import java.util.ArrayList;import java.util.HashMap;public class StudentManagement {public static void main(String[] args) {// 用ArrayList存储学生姓名ArrayList<String> studentNames = new ArrayList<>();// 用HashMap存储学生姓名和成绩的对应关系HashMap<String, Integer> studentScores = new HashMap<>();// 添加学生信息studentNames.add("张三");studentNames.add("李四");studentScores.put("张三", 85);studentScores.put("李四", 90);// 查询学生成绩String studentToQuery = "张三";if (studentScores.containsKey(studentToQuery)) {System.out.println(studentToQuery + "的成绩是:" + studentScores.get(studentToQuery));} else {System.out.println("未找到" + studentToQuery + "的成绩");}}}个人心得
学习 Java 是一个循序渐进的过程,从基础语法到实战应用,每一步都需要踏踏实实地走。JDK17 虽然带来了新特性,但基础语法并没有太大变化,所以大家不要被新东西吓倒。在学习数组和集合时,一定要多动手写代码,通过实际操作才能真正理解它们的区别和用法。遇到问题不要慌,多查资料、多思考,相信大家都能学好 Java 编程!
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。
评论列表
JDK17 Java详解+实战指南