Java自学笔记1

最近加入了学校的实验室,十分开心,开心之余,收到了实验室的第一个任务————用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种类型可以表示整数。分别为byteshortintlong
例如:
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个对象,前两个对象失去引用

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值