Java入门第一季——从此投身Java??

时间:2024-01-12 13:13:56

找工作告一段落。

最后的工作呢,和java紧密相关,也是阴差阳错,不过都是软件开发,都好了,不过以后侧重点肯定是在java这边,php有机会还是一直学下去的,那么美的说~

Java开发第一季


 一、简介

1.1 Java SE——基础核心;

以此为基础,又分为Java EE(企业应用开发,JSP等),Java ME(嵌入式开发,安卓等);

JVM(Java Virtual Machine);

Java虚拟机,使Java代码可以跨平台运行;

.java——》编译器——》.class——》解释器——》显示;

JDK Java开发工具包;

JRE Java运行环境;

关系:JDK包含JRE包含JVM;

1.2 环境

一:安装JDK,官网,对应配置安装;

二:环境配置;

JAVA_HOME  配置JDK安装路径;(安装路径)

PATH            配置JDK命令文件的位置;(bin目录)

CLASSPATH  配置类库文件的位置;(lib文件夹)

三:验证:cmd命令窗输入java或javac

1.3 用记事本编写java程序

记事本写.java——》javac生成.class——》用java命令得到解释;

切换到文件所在目录——》javac hello.java——》java hello(注意java命令后面不跟后缀名!!);

1.4 eclipse

我才知道e是绿色文件,下载了解压缩就能用的。。。

一般流程:创建java项目——》创建程序包——》编写源程序——》运行;

Java入门第一季——从此投身Java??

注意:包的名字习惯上使用域名的反向;

1.5 使用export和import进行程序的移植 


二、变量与常量

 2.1 Java中的关键字

Java 语言中有一些具有特殊用途的词被称为关键字。关键字对 Java 的编译器有着特殊的意义,在程序中应用时一定要慎重哦!!

Java 中常用关键字:

Java入门第一季——从此投身Java??

问:这么多,记不住啊。。。。。。-_-||

答:现在不需要你记住所有,混个眼熟即可,在学习的过程中,你会逐步找到感觉并记住他们

对了,差点忘了大事,Java 关键字是区分大小写的.所以 void 是关键字,但 Void 就不是了~~

 2.2 认识Java标识符

问:标识符是神马?

答:标识符就是用于给 Java 程序中变量、类、方法等命名的符号。

Java入门第一季——从此投身Java??

使用标识符时,需要遵守几条规则:

1.  标识符可以由字母、数字、下划线(_)、美元符($)组成,但不能包含 @、%、空格等其它特殊字符,不能以数字开头。譬如:123name 就是不合法滴

2.  标识符不能是 Java 关键字和保留字( Java 预留的关键字,以后的升级版本中有可能作为关键字),但可以包含关键字和保留字。如:不可以使用 void 作为标识符,但是 Myvoid 可以

3.  标识符是严格区分大小写的。 所以涅,一定要分清楚 imooc 和 IMooc 是两个不同的标识符哦!

4.  标识符的命名最好能反映出其作用,做到见名知意。

 2.3 变量是什么

简单的说,我们可以把变量看作是个盒子,可以将钥匙、手机、饮料等物品存放在这个盒子中,也可以在需要的时候换成我们想存放的新物品。

Java入门第一季——从此投身Java??

在 Java 中,我们通过三个元素描述变量:变量类型、变量名以及变量值。

如果我们把变量比作是酒店的房间,要存储的数据就好比要住宿的客人,我们可以根据客人的要求安排其入住“标准间”或者是“总统套房”,并且可以根据房间名字快速查找到入住客人的信息。同理,在 Java 程序中,我们也可以根据所需要保存的数据的格式,将其保存在指定类型的变量空间中,并且通过变量名快速定位!

Java入门第一季——从此投身Java??

例如,我们定义了一个变量 love ,用来保存一个字符串 “imooc” , 在程序中只要找到了 love 这个变量,就能找到存储在里面的 ”imooc”!当然,我们也可以把 love 里面的值更换成新的字符串 “i love imooc” !

Java入门第一季——从此投身Java??

运行结果:

Java入门第一季——从此投身Java??

各位小伙伴们一定要注意哦: Java 中的标点符号是英文的。譬如语句结束的分号,是英文符号的分号,千万表写成中文滴哦~~

 2.4 如何命名Java变量

如同酒店会给每个房间起个性化的名字一样,程序中的变量也需要用合理的名字进行管理---变量名!

需要注意,给酒店房间起名字时可以是数字,如“802”,也可以是有趣的名字,如“牡丹”、“美国总统”、“水帘洞”等,但在给变量起名字时,必须符合一定的规则,如下所示:

Java入门第一季——从此投身Java??

以下变量的命名都是符合规范的:

Java入门第一季——从此投身Java??

但请看下面的代码,你懂得哈:

Java入门第一季——从此投身Java??

优秀攻城师的习惯:

1、变量名由多单词组成时,第一个单词的首字母小写,其后单词的首字母大写,俗称骆驼式命名法(也称驼峰命名法),如 myAge

2、变量命名时,尽量简短且能清楚的表达变量的作用,做到见名知意。如:定义变量名 stuName 保存“学生姓名”信息

PS: Java 变量名的长度没有限制,但 Java 语言是区分大小写的,所以 price 和 Price 是两个完全不同的变量哦!

2.5 Java中的数据类型

通常情况下,为了方便物品的存储,我们会规定每个盒子可以存放的物品种类,就好比在“放臭袜子的盒子”里我们是不会放“面包”的!同理,变量的存储也讲究“分门别类”!

Java 语言是一种强类型语言。通俗点说就是,在 Java 中存储的数据都是有类型的,而且必须在编译时就确定其类型。 Java 中有两类数据类型:

Java入门第一季——从此投身Java??

在 Java 的领域里,基本数据类型变量存的是数据本身,而引用类型变量存的是保存数据的空间地址。说白了,基本数据类型变量里存储的是直接放在抽屉里的东西,而引用数据类型变量里存储的是这个抽屉的钥匙,钥匙和抽屉一一对应。

常用的基本数据类型有:

Java入门第一季——从此投身Java??

2.6 Java中变量的使用规则

不得不接受的变量小脾气:

1、Java 中的变量需要先声明后使用

Java入门第一季——从此投身Java??

2、变量使用时,可以声明变量的同时进行初始化

Java入门第一季——从此投身Java??

也可以先声明后赋值

Java入门第一季——从此投身Java??

3、变量中每次只能赋一个值,但可以修改多次

Java入门第一季——从此投身Java??

4、main 方法中定义的变量必须先赋值,然后才能输出

Java入门第一季——从此投身Java??

5、虽然语法中没有提示错误,但在实际开发中,变量名不建议使用中文,容易产生安全隐患,譬如后期跨平台操作时出现乱码等等

Java入门第一季——从此投身Java??

2.7 Java中的自动类型转换

在 Java 程序中,不同的基本数据类型的数据之间经常需要进行相互转换。例如:

Java入门第一季——从此投身Java??

代码中 int 型变量 score1 可以直接为 double 型变量 score2 完成赋值操作,运行结果为: 82.0

这种转换称为自动类型转换。

当然自动类型转换是需要满足特定的条件的:

1.  目标类型能与源类型兼容,如 double 型兼容 int 型,但是 char 型不能兼容 int 型

Java入门第一季——从此投身Java??

2.  目标类型大于源类型,如 double 类型长度为 8 字节, int 类型为 4 字节,因此 double 类型的变量里直接可以存放 int 类型的数据,但反过来就不可以了

Java入门第一季——从此投身Java??

 2.8 Java中的强制类型转换

相信小伙伴们也发现了,尽管自动类型转换是很方便的,但并不能满足所有的编程需要。

例如,当程序中需要将 double 型变量的值赋给一个 int 型变量,该如何实现呢?

显然,这种转换是不会自动进行的!因为 int 型的存储范围比 double 型的小。此时就需要通过强制类型转换来实现了。

语法:( 数据类型 ) 数值

Java入门第一季——从此投身Java??

运行结果:

Java入门第一季——从此投身Java??

可以看到,通过强制类型转换将 75.8 赋值给 int 型变量后,结果为 75,数值上并未进行四舍五入,而是直接将小数位截断。

明白了吧,强制类型转换可能会造成数据的丢失

 2.9 Java常量的应用

所谓常量,我们可以理解为是一种特殊的变量,它的值被设定后,在程序运行过程中不允许改变。

语法:final 常量名 = 值;

Java入门第一季——从此投身Java??

程序中使用常量可以提高代码的可维护性。例如,在项目开发时,我们需要指定用户的性别,此时可以定义一个常量 SEX,赋值为 "男",在需要指定用户性别的地方直接调用此常量即可,避免了由于用户的不规范赋值导致程序出错的情况。

伙计们注意啦:常量名一般使用大写字符

2.10 如何在Java中使用注释

在编写程序时,经常需要添加一些注释,用以描述某段代码的作用。

一般来说,对于一份规范的程序源代码而言,注释应该占到源代码的 1/3 以上。因此,注释是程序源代码的重要组成部分,一定要加以重视哦!

Java 中注释有三种类型:单行注释、多行注释、文档注释

Java入门第一季——从此投身Java??

运行结果: Hello Imooc!

我们可以通过 javadoc 命令从文档注释中提取内容,生成程序的 API 帮助文档。

Java入门第一季——从此投身Java??

打开首页,查看下生成的 API 文档

Java入门第一季——从此投身Java??

PS:使用文档注释时还可以使用 javadoc 标记,生成更详细的文档信息:

@author 标明开发该类模块的作者

@version 标明该类模块的版本

@see 参考转向,也就是相关主题

@param 对方法中某参数的说明

@return 对方法返回值的说明

@exception 对方法可能抛出的异常进行说明

4/23

呃,这些都查得到的暂时不想写了。。。

直接就是干,这边就是做笔记用好了。

1、使用 Arrays 类操作 Java 中的数组

//导入Arrays类
import java.util.Arrays; public class HelloWorld {
public static void main(String[] args) { // 定义一个字符串数组
String[] hobbys = { "sports", "game", "movie" }; // 使用Arrays类的sort()方法对数组进行排序
Arrays.sort(hobbys); // 使用Arrays类的toString()方法将数组转换为字符串并输出
System.out.println( Arrays.toString(hobbys) );
}
}

tm注意了,是Arrays不是Array

2、foreach相关

foreach 并不是 Java 中的关键字,是 for 语句的特殊简化版本,在遍历数组、集合时, foreach 更简单便捷。

import java.util.Arrays;

public class HelloWorld {

    public static void main(String[] args) {

        // 定义一个整型数组,保存成绩信息
int[] scores = { 89, 72, 64, 58, 93 }; // 对Arrays类对数组进行排序
Arrays.sort(scores); // 使用foreach遍历输出数组中的元素
for ( int score : scores ) {
System.out.println(score);
}
}
}

3、二维数组用法实例

public class HelloWorld {
public static void main(String[] args) { // 定义两行三列的二维数组并赋值
String[][] names={{"tom","jack","mike"},{"zhangsan","lisi","wangwu"}}; // 通过二重循环输出二维数组中元素的值
for (int i = 0; i < names.length ; i++) { for (int j = 0; j < names[i].length; j++) { System.out.println( names[i][j] );
} System.out.println();
}
}
}

注意:定义,names.length,names[i].length

4、Java 中方法的重载

问: 什么是方法的重载呢?

答: 如果同一个类中包含了两个或两个以上方法名相同、方法参数的个数、顺序或类型不同的方法,则称为方法的重载,也可称该方法被重载了。如下所示 4 个方法名称都为 show ,但方法的参数有所不同,因此都属于方法的重载:

Java入门第一季——从此投身Java??

问: 如何区分调用的是哪个重载方法呢?

答: 当调用被重载的方法时, Java 会根据参数的个数和类型来判断应该调用哪个重载方法,参数完全匹配的方法将被执行。如:

Java入门第一季——从此投身Java??

运行结果:

Java入门第一季——从此投身Java??

判断方法重载的依据:

1、 必须是在同一个类中

2、 方法名相同

3、 方法参数的个数、顺序或类型不同

4、 与方法的修饰符或返回值没有关系