目录
Java语言跨平台性原理
- 跨平台:任何软件的运行,都必须运行在操作系统上,而我们用Java编写的软件可以运行在任何的操作系统上,这个特性称为Java语言的跨平台特性。该特性是由JVM实现的,我们编写的程序运行在JVM上,而JVM运行在操作系统上。
- JVM(Java Virtual Machine ):Java虚拟机,简称JVM,是运行所有Java程序的假想计算机,是Java程序的运行环境之一,也是Java 最具吸引力的特性之一。我们编写的Java代码,都运行在JVM 之上。
- 跨平台的实质:每个操作系统下都有不同版本的虚拟机
-
JDK (Java Development Kit):是Java程序开发工具包,包含
JRE
和开发人员使用的工具。 -
JRE (Java Runtime Environment) :是Java程序的运行时环境,包含
JVM
和运行时所需要的核心类库
。
我们想要运行一个已有的Java程序,那么只需安装
JRE
即可。我们想要开发一个全新的Java程序,那么必须安装
JDK
,其内部包含JRE
。
入门程序 HelloWorld
程序开发步骤说明
Java程序开发三步骤:编写、编译、运行。
- 编写源程序.java文件
- 编译:javac Java源文件名.后缀名,产生字节码文件
- 运行:java 类名字
HelloWorld案例常见错误
- 单词拼写问题
- Java语言是一门严格区分大小写的语言
- 标点符号使用问题
- 不能用中文符号,英文半角的标点符号(正确)
- 括号问题,成对出现
编写Java程序时注意的问题
编码过程:字符转换为二进制的数值
解码过程:将二进制数值转换为字符
乱码:编码和解码过程中使用的字符集不一致。
1.字符编码问题
当cmd命令行窗口的字符编码与.java源文件的字符编码不一致,如何解决?
解决方案一:
在Notepad++等编辑器中,修改源文件的字符编码
解决方案二:
在使用javac命令式,可以指定源文件的字符编码
javac -encoding utf-8 Java源文件名.后缀名
2.一个源文件中是否可以有多个类?public呢?
一个源文件中可以有多个类,编译后会生成多个.class字节码文件。
但是一个源文件只能有一个public的类。
3.main必须在public的类中吗?
不是。
但是后面写代码时,基本上main习惯上都在public类中。
注释(comment)
注释的概念:在编写程序的过程中,对程序代码进行解释说明。
-
代码本身和人类的自然语言相比,可读性肯定是要差一些,所以为了更快能够知道代码的含义、作用、需要注意地方,所有程序员都应该养成写注释的好习惯。
-
由于注释的内容是给程序员看的,需要使用人类的自然语言,而自然语言又不符合编程语言的语法,所以必须通过特定的符号,标记出来这部分的内容是注释,而不是要执行的程序的代码。
- 注释:就是对代码的解释和说明。其目的是让人们能够更加轻松地了解代码。为代码添加注释,是十分必须要的,它不影响程序的编译和运行。
- Java中有
单行注释
、多行注释
和文档注释
- 单行注释以
//
开头,以换行结束 -
多行注释以
/*
开头,以*/结束
-
多行注释不能嵌套
-
-
文档注释以
/**
开头,以*/
结束-
Javadoc命令可以抽取每个类、方法中的文档注释,生成API手册
-
- 单行注释以
/**
这里是一个文档注释,通常包括对类或方法的介绍,还有作者、日期等信息。
类名:HelloWorld
整个程序执行的入口:main函数
*/
public class HelloWorld{
/*
多行注释:注释内容可以分很多行编写
注意:多行注释不能嵌套,嵌套会导致多行注释提前结束
main函数是整个程序的入口
main函数的声明格式是固定的
每一个类中最多只能有一个main函数*/
public static void main(String[] args){
// 单行注释:在命令行窗口内打印一句话
// 单行注释仅对当前行有效
}
}
关键字(KeyWord)
关键字:是指在程序中,Java已经定义好的单词,具有特殊含义。
-
HelloWorld案例中,出现的关键字有
public
、class
、static
、void
等,这些单词已经被Java定义好 -
关键字的特点:全部都是
小写字母
。
关键字一共50个,其中const和goto是保留字。
true,false,null看起来像关键字,但从技术角度,它们是特殊的布尔值和空值。
标识符( identifier)
简单的说,凡是程序员自己命名的部分都可以称为标识符。
即给类、变量、方法、包等命名的字符序列,称为标识符。
1、标识符的命名规则(必须遵守)
规则是硬性规定:一旦违反,程序就会在编译过程中报错
(1)Java的标识符只能使用26个英文字母大小写,0-9的数字,下划线_,美元符号$
(2)不能使用Java的关键字(包含保留字)和特殊值
(3)数字不能开头
(4)不能包含空格
(5)严格区分大小写
2、标识符的命名规范(行业共识)
(1)见名知意
(2)类名、接口名等:每个单词的首字母都大写,形式:XxxYyyZzz,
例如:HelloWorld,String,System等
(3)变量、方法名等:从第二个单词开始首字母大写,其余字母小写,形式:xxxYyyZzz,
例如:age,name,bookName,main
(4)包名等:每一个单词都小写,单词之间使用点.分割,形式:xxx.yyy.zzz,
例如:java.lang
(5)常量名等:每一个单词都大写,单词之间使用下划线_分割,形式:XXX_YYY_ZZZ,
例如:MAX_VALUE,PI
数据类型(data type)
数据类型分类
Java的数据类型分为两大类:
-
基本数据类型:包括
整数
、浮点数
、字符
、布尔
。 -
引用数据类型:包括
类
、数组
、接口
。
基本数据类型
四类八种基本数据类型:
Java中的默认类型:整数类型是
int
、浮点类型是double
。
-
常量整数值,
赋值给byte,只要在byte范围内即可。
赋值给short,只要在short范围即可。
赋值给int,只要在int范围即可。
赋值给long,在int范围内的,可以加也可以不用加L,会自动升级为long,如果数字超过int范围,必须加L。 -
小数常量值,无论多少,不加F/f,就是double类型。
常量(constant)
-
常量:在程序执行的过程中,其值不可以发生改变的量
-
常量的分类:
-
自定义常量:通过final关键字定义
-
字面值常量:
-
字面值常量 | 举例 |
---|---|
字符串常量 | ”Hello World!“ |
整数常量 | 6 |
浮点常量 | 6.6 |
字符常量 | 's','i','x' |
布尔常量 | true,false |
空常量 | null |
变量(variable)
变量:在程序执行的过程中,其值可以发生改变的量
变量的作用:用来存储数据,代表内存的一块存储区域,这块内存中的值是可以改变的。
变量的三要素
1、数据类型
2、变量名
3、值
变量的使用应该注意什么?
1、先声明后使用
如果没有声明,会报“找不到符号”错误
2、在使用之前必须初始化
如果没有初始化,会报“未初始化”错误
3、变量有作用域
如果超过作用域,也会报“找不到符号”错误
4、在同一个作用域中不能重名
变量的声明和赋值、使用的语法格式
1、变量的声明的语法格式:
数据类型 变量名;
例如:
int age;
String name;
double weight;
char gender;
boolean isMarry;