最近加入了学校的实验室,十分开心,开心之余,收到了实验室的第一个任务————用Java写一个学生管理系统,完成工作并使自己的生活更加充实,博主在bilibili自学了Java,下面是博主这几天的学习成果,希望能对同样是自学Java的你也能有所帮助!
第一章 你好,世界!
一、开发环境(JDK)与编译器(eclipse)的安装
1、JDK
链接:https://pan.baidu.com/s/13PVW3Ax6PdFWtNYvqss7Zw
提取码:81lg
JDK是博主在网上找的网盘资源,各位读者可以去博主的百度云盘自提
具体安装教程因为较为复杂,各位读者在b站搜索eclipse就能搜索到,在这里就不进行赘述了
2、编译器
如何正确安装开发环境,一直是学习Java的第一道门槛,欲要善其工,必先利其器。在这里,博主推荐同样自学的新手朋友们去使用eclipse,这并不是说eclipse比idea要好很多,而是现在网络上的Java课程,大多数都是使用eclipse进行教学,并且eclipse在官网进行下载为免费(idea据说得花钱购买),当然硬要说用百度云下载idea学习版,除非你有百度网盘的超会,不然下载速度你懂的(手动滑稽)。下面附上eclipse官网网址:
https://www.eclipse.org/downloads/
①打开界面
②选择打包下载(Download Packages)
③点开后会出现一个这样的界面
④在这个地方选择合适你电脑配置的包进行下载
下载之后,将包解压的你自己想存放的位置即可。
下面,欢迎各位来到Java的世界,Hello World!
二、用Eclipse创建第一个程序
1 、启动程序
双击eclipse.exe,启动Eclipse(为了以后方便可以在桌面创建eclipse的快捷方式),如下图所示:
2 、执行菜单 File | New | Java Project
3 、输入项目名称
例如,起个名字叫 Hello (注意:最好不要起中文字名)
点“Next”,
保持默认不变。点“Finish”按钮。
4、 主界面
将左侧窗口Package Explorer展开,并将欢迎窗口Welcome关闭。主界面如下图所示。
5 、添加Package
在左侧的Package Explorer窗口,右键点击src,在右键菜单里选择“New | Package”,如下图所示。
输入Package的名字。例如,输入 my ,如下图所示
点“Finish”按钮,
6 、添加代码
在左侧窗口里,右键点 my ,在右键菜单里执行“New | Class”,如下图所示。
-输入类名Name(英文或拼音均可), 例如,输入 HelloWorld
-勾选“public static void main (String[] args)”
如下图所示:
点“Finish”按钮。
可以看到Eclipse为我们创建一个HelloWorld.java的代码文件。如下图所示。
7、 编写第一个程序
在右侧的代码编辑窗口中,添加一行代码:
package my;
public class HelloWorld
{
public static void main(String[] args)
{
// TODO Auto-generated method stub
System.out.println("世界 ,你好!");
}
}
8。 运行程
在中间的代码编辑窗口里,右键菜单,执行“Run As | Java Application”
在下方的Console窗口里,观察程序的输出,如下图。
三、打印注释和空白
1、打印输出
(1)打印输出功能:System.out.println(“xxxxxx”);
(2)拼接后输出:System.out.println( “我是徐同学, 今年” + 19 + “岁” );
注:允许的拼接写法:
字符串 + 字符串 ,如 , “hello” + “世界”
字符串 + 数字 ,如, “分数:” + 100
混合拼接,如, “数学:” + 150 + “, 英语:” + 150
当我们写完之后,可以CTRL + S 保存当前代码
2、注释
以双斜杠开头的行,称为注释
增加代码后,对代码本身的运行没有任何影响,但是通常可以使代码的可读性大大增加,使别人更容易读懂你的代码
小技巧:CTRL + / 可以对所选的行快速注释
注意:先切换到英文输入状态
3、 空白
空白:换行,空格,制表符(TAB)
程序里的 空白 基本不影响程序本身,仅影响可读性
注:空白一般可以任意添加,但不能乱加,尤其不能在一个词的中间加,那是显示不行的
小技巧:CTRL + SHIFT +F ( 菜单 source | format)
第二章 变量
由于内容和c++基本一致,所以在这里,仅对不同处进行记录
基本类型
int 、double 、float 、char、String、boolean
1、整数类型
在Java里,有4种类型可以表示整数。分别为byte、 short 、 int 、long
例如:
byte a = 3;
short b = 3000;
int c = 3000000;
long d = 300000000000000L;
为什么要发明4种类型呢?主要是为了节省内存的考虑。如果内存对人类是无限够用的,那么直接使用int或long就够了。
byte所占的内存小,只能表示 -128~127 之间的整数
short表示范围: -32768 ~ 32767
int表示范围: -231 ~ 231-1 (约正负20亿)
long 表示范围: 天文数字,非常大
通常来说,当你要表示的数字范围比较小时,可以选用byte 或 short。例如,表示年份时可以用short。
short year = 2017;
但是,其实对我们程序员来说,都用int也没太大问题。尤其对于初学者来说,用int和long就够了。
2 、浮点数类型
浮点型也有两种:double 与 float ,其中,float的表示能力要小一些。
double a = 12293.348934;
float b = 343.394; // 能表示的有效数字要少一些
同样的,对于初学者来说,我们用double就可以了。
3 、常量
变量就能变化的量。常量就是不能变的量。在前面加上一个关键字final,表示这是个常量。
例如,
final double PI = 3.1415; // 圆周率
double r = 12.3; // 半径
double area = PI * r * r; // 面积
显然,在程序里面PI是一个不变的量,称为常量。用final前缀来修改。而r和area都是变量。
4、其他细节
(1) boolean的值只有true和false,boolean的变量无法进行加减
(2) String的S大写
(3) boolean值可以直接用println的印输出,输出显示为 true 或者 false
boolean sex = true;
System.out.println("性别: " + sex);
第三章 操作符与表达式
与c++一致
第四章 语句
1、语句及单步调试
(1)语句
在函数内以分号结束的一行,称为语句 statement
空语句: 单独的分号,构造一条语句。
复合语句:由一对大括号组合在一起的语句。
注:注释不算一行语句
(2)单步调试
使用单步调试技术,可以使得程序的运行可以观测。
具体步骤:
1 加断点 , 加在第一条语句上
2 右键 Debug As | Java Application
3 F6 , 一步一步执行
每走一遍,观察变量的值的改变。
2、if语句
3、for语句、for语句的嵌套与for语句的各种变形
4、break和continue语句
break语句: 终止循环
continue语句:跳过本轮循环 (继续下一轮)
5、while语句与dowhile语句
6、switch语句
第五章 数组
1、数组的创建
(1)数组对象
在Java语言里,数组对象可以表示一组数字。
例如,
int[ ] arr = new int [ 30 ] ;(与c++不同)
创建一个数组对象(Array Object),长度为30,存储的数据类型为int。
变量名称: arr
变量类型: int[] (即数组对象)
数据长度: 30, 即容纳30个数
(2)数组的遍历
从头到尾、挨个访问
int[] arr = { 98, 89, 98, 87 };
for (int i = 0; i < arr.length; i++)
{
System.out.print(arr[i] + " ");
}
(3)数组的初始化
①如果已知数组的初始值,那么可以这么写:
int[] arr = { 98, 89, 98, 87 } ;
②默认的,当数组用 new 创建时,所有元素的值为0
例如,
int[] a1 = new int[4];
double[] a2 = new double[4];
(4)数组的长度
int[] arr = { 98, 89, 98, 87 };
for (int i = 0; i < arr.length; i++)
{
System.out.print(arr[i] + " ");
}
其中,arr.length 表示是数组 arr 的长度。
2、对象与引用(稍微难理解一点)
(1)对象与引用
在Java语言里,对象Object是一个基础概念。
int[] a = new int[4];
等号右侧(new int[4]):创建了一个数组对象
等号左侧(int[] a): 变量 a 称为该对象的引用( Reference)
称作: 变量a 指向了一个对象
有时也简称为:a是一个对象, 或a是对象的名字
以下代码:
int[] a = new int[4];
int[] b = a;
结果:a 指向了一个对象
b 和 a 指向相同的对象
- a和b都是该对象的引用
- 用a可以操作目标对象,用b也可以操作目标对
- 其中,a和b指向了同一个数组对象,把a,b 称为对象的引用。
这就好比,你就是一个对象,“小王”、“王小帅” 则是对你的引用。当我们想引用你时,就使用“小王”或“王小帅”,这两个名字引用的是同一个对象。
(2) 空对象
int[] a = { 1, 2, 3, 4 };
a = null;
for(int i = 0; i<a.length; i++) // 运行时报错
{
System.out.println("元素: " + a[i]);
}
其中,a先是指向了一个数组对象,后又设为了null。当a设为null时,表示a不引用任何对象。null 称为空对象。
这就好比,“老王”是一个人的名字,后来这个人死了。如果还想找“老王”还钱,就会产生系统异常,因为“老王”这个名字不引用任何对象了。
在这里,a已经成为null,后面还想对它遍历,在运行时会报告 NullPointerException 空指针错误。因为a已经不引用任何对象,你还想访问它的内容??它就是个空气好吗!
这个错误在编译时检查不出来,所以没有红叉提示。但是一运行就报错了,所以它也是运行时错误。
package my;
public class HelloWorld
{
public static void main(String[] args)
{
int[] a = { 11, 11, 11, 11 };
int[] b = a;
b[3] = 45;//a和b皆是{11,11,11,45}
int[] c = { 11, 11, 11, 11 };
int[]d= c;
c= null; //c位null,d为{ 11, 11, 11, 11 }
}
}
(3) 失去引用的对象 lost
示例:
int [] a = new int[4];
a = new int[5];
a = new int[5];
System.out.println("exit");
以上代码创建了3个对象,前两个对象失去引用