整理自北京林业大学的Java程序设计MOOC课程

第一章 绪论

Java共有三个体系,JavaSE(标准版本)、JavaEE(企业级应用版本)和JavaME(移动应用版本)

Java主要特点:简单、平台无关性、面向对象、健壮、分布式、安全

面向对象的三个特性:封装、继承和多态

在jdk中,如果Java源程序中有多个类,可以都不是public类。但是,如果要有public类,则只能有1个类是public类。

java一个模块中可以有几个main 一个java程序可以有几个main_字符串


使用main方法的参数从键盘上接收数据

java一个模块中可以有几个main 一个java程序可以有几个main_Java_02


main方法中参数的作用

public static void main(String[] args)

main方法后面的参数是一个字符串数组,作用是从键盘上接收数据,接收来的数据都默认为字符串类型。如果要把它们转化成其他类型,还需要相应的类,要用相应的方法进行转换。

使用Scanner类从键盘上接收数据

java一个模块中可以有几个main 一个java程序可以有几个main_字符串_03


Scanner类在java.until包中,使用该类的时候,需要通过import语句,把它所在的包引入进来,可以将星号改成Scanner本身,也可以使用星号代替。区别是如果使用了星号,相当于把这个包当中所有的类都引入了进来,其中包含了Scanner类。

在主方法中,Scanner类创建了该类的对象reader之后,reader对象就可以通过调用nextDouble方法,从键盘上接收double类型的值,来赋给三个double类型的变量,也就是三角形的三条边。

此外,Scanner类它的对象,除了可以调用nextDouble方法,还可以调用其他的数值,例如可以调用nextInt接收整型值,nextLong、nextShort、nextByte接收长整形、短整型和字节型都是可以的。

next()、nextLine()都可以接收字符串,但这两者有区别。

第一个区别:

nextLine()方法接收到的字符串不受空格的限制,只受回车的限制。

next()接收到字符串时,遇见空格即截止。

第二个区别:

如果从键盘上接收的数据是先接收数值型,再接收字符串类型的时候,如果在数值型的接收语句后跟的是nextLine,则需要写两遍nextLine,第一遍是为了接收前面数值型数据的回车符,第二遍才能真正接收到你想要的字符串。

如果使用next,将不会受到前面数值型数据的影响。

java一个模块中可以有几个main 一个java程序可以有几个main_数据_04

数据的输出

Java通常使用System类的对象,去调用相应的输出方法来输出数据。

java一个模块中可以有几个main 一个java程序可以有几个main_数据_05


在println中可以输出纯文本部分,也可以输出变量。当具有不同类型的内容进行输出时,可以使用字符串连接符+,将不同类型的数据连在一起,对于println()方法和print()方法都是这样的。

而对于printf()方法,还可以去控制所输出数据的格式。%n是换行。

println输出完会回车换行。

print回车不换行。

java一个模块中可以有几个main 一个java程序可以有几个main_Java_06