1.Java概述
1.1 Java语言发展史
1>Java语言是美国Sun公司(Stanford University Network)在1995年推出的计算机语言
2>Java语言的前身OAK(橡胶树)
3>Java之父:詹姆斯·高斯林(James Gosling)
4>2009年,Sun公司被甲骨文公司收购,所以我们现在访问oracle官网即可:https://www.oracle.com
1.2 Java语言跨平台原理
Java程序并非是直接运行的,而是运行在Java虚拟机上(JVM),Java编译器将Java源程序编译成与平台无关的字节
码文件(class文件),然后由Java虚拟机(JVM)对字节码文件解释执行。所以在不同的操作系统下,只需安装不同
的Java虚拟机即可实现java程序的跨平台。
1.3 JRE和JDK
JVM:(Java Virtual Machine),Java虚拟机
JRE:(Java Runtime Environment),Java运行环境,包含了JVM和Java的核心类库(Java API)
JDK:(Java Development Kit)称为Java开发工具,包含了JRE和开发工具
2.Path环境变量的配置
2.1为什么配置环境变量
开发Java程序,需要使用JDK提供的开发工具(比如javac.exe、java.exe等命令),而这些工具在JDK的安装目录的
bin目录下,如果不配置环境变量,那么这些命令只可以在该目录下执行。我们不可能把所有的java文件都放到JDK
的bin目录下,所以配置环境变量的作用就是可以使bin目录下的java相关命令可以在任意目录下使用。
2.2 BUG的解决
1、具备识别BUG的能力:多看
2、具备分析BUG的能力:多思考,多查资料
3、具备解决BUG的能力:多尝试,多总结
2.3 HelloWorld案例常见问题
1、非法字符问题。Java中的符号都是英文格式的。
2、大小写问题。Java语言对大小写敏感(区分大小写)。
3、在系统中显示文件的扩展名,避免出现HelloWorld.java.txt文件。
4、编译命令后的java文件名需要带文件后缀.java
5、运行命令后的class文件名(类名)不带文件后缀.class
3. java基础语法
3.1 注释
// 这是单行注释文字
/*
这是多行注释文字
这是多行注释文字
这是多行注释文字
*/
注意:多行注释不能嵌套使用。
3.2 关键字
关键字是指被java语言赋予了特殊含义的单词。
关键字的特点:关键字的字母全部小写。
常用的代码编辑器对关键字都有高亮显示,比如现在我们能看到的public、class、static等。
3.3 常量
常量:在程序运行过程中,其值不可以发生改变的量。
字符串常量:“a”、“abc”、"中国"等
整数常量:-10、1、10、88等
小数常量 :-5.5、1.2、2.3等
字符常量:‘a’、‘5’、'B’等
布尔常量:true、false
空常量: 一个特殊的值,空值,值为null
除空常量外,其他常量均可使用输出语句直接输出。
3.4 数据类型
3.4.1 计算机存储单元
1B(字节) = 8bit
1KB = 1024B
1MB = 1024KB
1GB = 1024MB
1TB = 1024GB
3.4.2 Java中的数据类型
整数类型:
byte:
内存占用1字节,取值范围:-128~127
short:
内存占用2字节,取值范围:-32768~32767
int(默认):
内存占用4字节,取值范围:-2的31次方到2的31次方-1
long:内存占用8字节,取值范围:-2的63次方到2的63次方-1
浮点类型:
float:
内存占用4字节,取值范围:负数:-3.402823E+38到-1.401298E-45 正数: 1.401298E-45到
3.402823E+38
double(默认):
内存占用8字节,取值范围:负数:-1.797693E+308到-4.9000000E-324 正数:4.9000000E-324 到
1.797693E+308
字符类型:
char:内存占用2字节,取值范围:0-65535
布尔类型:
boolean:内存占用1字节,取值范围:true,false
说明:
e+38表示是乘以10的38次方,同样,e-45表示乘以10的负45次方。
在java中整数默认是int类型,浮点数默认是double类型。
3.5 变量
3.5.1 变量的定义
变量:在程序运行过程中,其值可以发生改变的量。
从本质上讲,变量是内存中的一小块区域,其值可以在一定范围内变化。
变量的定义格式:
数据类型 变量名 = 初始化值;
int age = 18;
System.out.println(age);
或者
数据类型 变量名;
变量名 = 初始化值;
double money;
money = 55.5;
System.out.println(money);
3.5.2 使用变量时的注意事项
- 在同一对花括号中,变量名不能重复。
- 变量在使用之前,必须初始化(赋值)。
- 定义long类型的变量时,需要在整数的后面加L(大小写均可,建议大写)。因为整数默认是int类型,整数太
大可能超出int范围。- 定义float类型的变量时,需要在小数的后面加F(大小写均可,建议大写)。因为浮点数的默认类型是
double, double的取值范围是大于float的,类型不兼容。
3.6 标识符
标识符是用户编程时使用的名字,用于给类、方法、变量、常量等命名。
Java中标识符的组成规则:
Java中标识符的组成规则:
1>由字母、数字、下划线“_”、美元符号“$”组成,第一个字符不能是数字。
2>不能使用java中的关键字作为标识符。
3>标识符对大小写敏感(区分大小写)。
4>长度无限制
5>标识符的命名最好可以做到见名知意
Java中标识符的命名约定:
小驼峰式命名:变量名、方法名
首字母小写,从第二个单词开始每个单词的首字母大写。
大驼峰式命名:类名
每个单词的首字母都大写。
3.7 类型转换
在Java中,一些数据类型之间是可以相互转换的。分为两种情况:自动类型转换和强制类型转换。
自动类型转换:
把一个表示数据范围小的数值或者变量赋值给另一个表示数据范围大的变量。这种转换方式是自动的,直接书写即可
强制类型转换:
把一个表示数据范围大的数值或者变量赋值给另一个表示数据范围小的变量。
说明:
- char类型的数据转换为int类型是按照码表中对应的int值进行计算的。比如在ASCII码表中,'a’对应97。
- 整数默认是int类型,byte、short和char类型数据参与运算均会自动转换为int类型。
- boolean类型不能与其他基本数据类型相互转换。
注意:
byte和short在底部一律按int类型处理