Java学习周记01|环境搭建/基础语法/数组/方法前言这是鼠鼠第一次写博客希望通过这种方式记录自己的Java学习历程并督促自己每周总结复习如果文章中有任何问题欢迎大佬们指正。Java学习部分写在前面如果你的电脑只有c盘进行下面的安装之前最好先进行分盘操作在新分出的盘符中建立自己专门的开发文件夹这样比较好管理环境搭建要想编写Java程序就要先搭建好环境。JDK和IDE是我们的开发环境中必不可少的部分这里鼠鼠自己使用的是idea和jdk21。idea可以通过学生认证白嫖完整版jdk21是长期支持版本。jdk的下载与安装步骤下载jdk的安装包.exe 文件访问Oracle官网的Java下载页面选择jdk21或jdk25选择windows版本点击中间的.exe后缀的安装链接下载比较慢是正常现象安装jdk建议不要安装在C盘找到刚刚下载的exe文件双击运行安装程序点击下一步点击更改选择安装位置文件路径不要有中文和空格暂时记住自己选择的安装位置点击下一步配置环境变量打开此电脑空白处右键选择属性高级系统设置环境变量新建变量名输入JAVA_HOME变量值输入jdk的安装路径刚刚暂时记住的可以点击浏览目录查找点击确定在系统变量中找到Path点击编辑新建输入%JAVA_HOME%\bin确定验证环境变量是否配置成功打开命令提示符WinR输入cmd回车输入java -version如果显示jdk版本信息则说明配置成功ps这里卡了鼠鼠很久所以写的详细一点idea的下载与安装jetbrains官网这里比较简单根据提示下载并安装即可安装完成后可以看看b站上有关学生认证的教程。同样不建议安装在c盘基础语法第一个Java程序使用idea来写第一个Java代码HelloWorldpublicclassHelloWorld{publicstaticvoidmain(String[]args){System.out.println(Hello, World!);}}代码很简单但是写之前最好熟悉一下Java的项目结构项目模块带有src文件包类书写代码的地方注意类名必须与文件名一致变量和数据类型关键字内存大小byte1字节short2字节int4字节long8字节float4字节double8字节char2字节boolean1字节定义变量的语法类型关键字 变量名 值;intage12;floatprice19.99f;// 注意float类型的值需要在数字后面加上f或Flongpopulation7800000000L;// 注意long类型的值需要在数字后面加上l或L使用变量之前必须初始化这里可以直接写死值也可以通过输入来获取值输入需要使用Scanner类importjava.util.Scanner;//使用Scanner类需要导入这个包publicclassMain{publicstaticvoidmain(String[]args){ScannerscannernewScanner(System.in);System.out.print(请输入您的年龄);intagescanner.nextInt();//这个类方法可以获取用户输入的整数System.out.println(您的年龄是age);}}这里补充一下idea为我们提供了自动导包的功能开启方法如下设置编辑器常规自动导入Java勾选在输入时自动导入和在粘贴时自动导入如果看不懂英文可以下载官方中文插件设置插件市场搜索Chinese完成后重启idea控制语句if语句条件为true时执行代码块if(条件){// 代码块}elseif(条件){// 代码块}else{// 代码块}switch语句根据表达式的值执行不同的代码块switch(表达式){case值1:// 代码块break;case值2:// 代码块break;default:// 代码块}知识点case穿透switch(表达式){case值1:case值2:// 代码块break;default:// 代码块}上面这段代码中case值1和case值2没有break语句所以当表达式的值为值1或值2时都会执行同一个代码块这就是所谓的case穿透循环语句for循环重复执行代码块直到条件不满足注意for循环中的条件可以省略for(初始化;条件;更新){// 代码块}知识点如果知道循环的次数或范围优先使用for循环while循环当条件为true时重复执行代码块while(条件){// 代码块}知识点如果只知道循环结束的条件优先使用while循环几点循环语句的注意事项在循环中定义变量时每次循环都会初始化变量while(true){intcount0;System.out.println(count);count;}上面这段代码中count每次循环都会被初始化为0所以输出的永远是0循环中出现的变量只能在循环中使用for(inti0;i5;i){}System.out.println(i);// 这里会报错因为i只能在for循环中使用数组数组可以看作是一段连串的变量数组的定义和初始化定义数组之静态初始化事先已知数组中的元素int[]numbers{1,2,3,4,5};定义数组之动态初始化事先不知道数组中的元素但知道数组的长度int[]numbersnewint[5];// 这里创建了一个长度为5的数组元素默认值为0数组中的内存Jvm之中存在栈区和堆区数组名存在栈区中数组中的数据存在堆区中数组名内部的数据是数组数据在堆区中的地址int[]arr{1,2,3,4,5};对于上面的数组其内存如下栈区堆区arrI123456781 2 3 4 5idea小技巧如果要快速的写遍历某个数组的循环可以使用快捷输入数组名.fori方法Java中的方法与C语言中的函数几乎一致可以类比着学一个方法尽量只实现一个特定功能基础语法修饰符 返回值类型 方法名(参数列表) { // 方法体 }基础语法没什么好说的注意一下方法不能嵌套定义就行方法传值方式如果没有C语言指针基础的话这里比较难值传递基本数据类型byte、short、int、long、float、double、char、boolean在方法调用时传递的是值的副本对参数的修改不会影响到实参举个例子你编辑了一份ppt文稿想要让同学帮你修改一下你把文稿发给同学同学修改了文稿的内容但是你手里的文稿内容并没有改变这就是值传递同学手里的ppt只是你原版ppt的一个副本publicclassMain{publicstaticvoidmain(String[]args){inta10;modify(a);System.out.println(a);// 输出10说明a的值没有改变}publicstaticvoidmodify(intb){b20;}}引用传递引用数据类型数组、类、接口在方法调用时传递的是对象的引用对参数的修改会影响到实参举个例子你把自己的三角洲账号借给同学玩同学信誓旦旦的说要给你摸大红结果过几天发现自己的仓库里没有多一个大红反而哈夫币少了两千万这就是引用传递同学手里的账号是你原版账号同学修改了账号中的数据你手里的账号也会受到影响publicclassMain{publicstaticvoidmain(String[]args){int[]arr{1,2,3};modify(arr);System.out.println(arr[0]);// 输出10说明arr的值被修改了}publicstaticvoidmodify(int[]arr){arr[0]10;}}方法重载这里只需记住一件事一个类中小括号里的参数列表不同的同名方法就可以构成方法重载心得总结碎碎念这周也算是刚刚正式开始系统学习虽然上半学期已经自学了一些C、数据结构、随便刷了几道题但实际上自己根本没有方向只知道自己毕业以后应该找个计算机相关的工作至于具体是什么总是拿不定主意。看看牛客之类的网站各个方向都有学长拿到大厂的高新offer同时各个方向也都在劝退。相信“Java已死” “前端已死” “客户端已死”之类的话充斥在大家的手机里可是如果问什么方向还活着一般只能得到一片你沉默。所以这半年我想明白的最大的事结合自己的情况就是选定一个方向以后就认准这个方向学习少看那些没有意义的劝退视频多看看其他优秀的学长是怎么做的。第一周就先记录到这里了感谢你能看到这里可以的话帮鼠鼠点个赞吧愿与看到这篇文章的你共勉希望我们都有美好的以后