Java是美国Sun公司在1995年推出的计算机编程语言,后别Oracle公司收购
Java早期成为Oak(橡树),后期改名为Java
Java之父:詹姆斯·高斯林(James Gosling)
世界上最流行的编程语言之一,在国内使用最为广泛的编程语言
可移植性、安全可靠、性能较好
开发社区最完善,功能最为丰富
桌面应用开发(各种税务管理软件,IDEA)
企业级应用开发(微服务,大型互联网应用)
移动应用开发(andoid,医疗设备)
服务器系统(应用的后台)
大数据开发(hadoop)
游戏开发(我的世界 MineCraft)
Java语言的产品是JDK(Java Development Kit:Java开发者工具包),必须安装JDK才能使用Java语言
JDK提供了编译(javac)和执行(java)Java程序的工具
如何验证javac、java可以使用
javac -verson
java -version
查看版本提示,如果版本提示是自己安装的版本号,则代表JDK环境搭建成功
开发Java程序,需要三个步骤:编写代码、编译代码,运行代码
注意:建议代码文件名全英文,首字母大写,满足驼峰模式,源代码文件的后缀必须是.java
注意:建议代码文件名全英文,首字母大写,满足驼峰模式,源代码文件的后缀必须是.java
编写 HelloWorld.java文件
public class HelloWorld {
public static void main(String[] args) {
System.out.println('Hello World')
}
}
注意:文件名称必须与代码中的类名一致
编译代码
javac HelloWorld.java
运行
java HelloWorld
常见错误
扩展名被隐藏
文件名和类名不一致
大小写错误,单词拼写错误,存在中文符号,找不到main方法
括号不配对
编译或者执行命令使用不当
Java是一种高级程序语言
高级程序语言就是编写的一些接近人类语言的指令,告诉机器该怎么做
计算机是怎么理解Java写好的这些指令的
javac编译器 ----》HelloWorld.class----》Java执行工具(解释)------》计算机可以理解的指令(机器指令)----》驱动机器干活
编程语言的发展史
机器语言–》 汇编语言—》高级语言
为什么学习高级编程语言
更简单:使用人类自己的语言书写,翻译器再将其翻译成计算机能理解的指令
JDK(javac、java等开发工具)
JRE (java工具 (核心类库 JVM))
JVM(Java Virtual Machine):Java虚拟机,真正运行Java程序的地方
JDK (Java Development Kit):Java开发工具,包含java编译器、java虚拟机、以及java帮我们写好的程序…等所有需要的东西
JRE(Java Runtime Environment):Java运行时环境,只包含java虚拟机、以及java帮我们写好的程序等java运行所需要的东西
跨平台工作原理:一次编译,处处可用
作用:Path环境变量是用来配置命令的路径的,这样可以在命令行窗口中的任何位置直接使用这些命令
JDK安装时Path需要注意的事项:
目前比较新的JDK安装时会自动配置javac、java命令的路径到Path环境变量中去,所以javac、java可以直接使用
环境变量配置
JAVA_HOME:告诉操作系统JDK安装在了哪个位置(未来其他技术要通过这个找JDK)
Path:高数操作系统JDK提供的javac(编译)、java(执行)命令安装到了哪个位置
注意:新版本的JDK只是自动配置了Path,没有自动配置JAVA_HOME
如何检测是否配置成功
打开cmd,输入javac -version及java -version分别看版本提示
如果版本提示都是自己安装的版本号,则代码JDK环境搭建成功
集成开发环境(IDE,Integrated Development Environment)
把代码编写,编译,执行等多种功能综合到一起的开发工具,可以进行代码只能提示,错误提醒,项目管理等
IntelliJ IDEA开发工具
IntelliJ IDEA一般简称IDEA,是Java编程语言开发的集成环境,在业界被公认为最好的java开发工具
IDEA在代码错误提醒,只能代码补全等多方面表现的都非常优秀,是Java开发企业级首选工具
IDEA项目结构
project(项目、工程)
module(模块)
package(包)
class(类)
IDEA常用快捷键
快捷键 | 功能效果 |
---|---|
main、psvm、sout、… | 快捷键入相关代码 |
Ctrl+D | 复制当前行数据到下一行 |
Ctrl+Y | 删除所在行,建议使用Ctrl+X |
Ctrl+ALT+L | 格式化代码 |
ALT+SHIFT+方向键 | 上下移动当前代码 |
Ctrl+/,Ctrl+shift+/ | 对代码进行注释 |
单行注释
// 注释内容,只能写一行
多行注释
/*
注释内容
注释内容
/
文档注释
一般用在类和方法上的注释
/*
注释内容
注释内容
*/
告诉程序员,数据在程序中的书写格式
字面量分类
整数、小数、字符(必须使用单引号,有且仅能有一个字符)、字符串(必须使用双引号,内容可有可无)、布尔值(表示真假(true、false))、空值(一个特殊的值,空值 null)
变量是用来存储一个数据的内存区域,且里面存储的数据可以变化
变量定义的格式
数据类型 变量名称=初始值
强制限制盒子中存储数据的形式 如:int(整数类型)、double(小数类型)
public class Variable {
public static void main(String[] args) {
// 数据类型 变量名称 = 初始值
double money = 6.0;
System.out.println(money);
money = money + 4.0;
System.out.println(money);
}
}
修改变量中的值
int age = 21;
System.out.println(age);
age = 25;
System.out.println(age);
定义变量存储了其他类型的数据
变量有效范围从定义开始到“}”截止,同一个范围内部不能定义2个同名的变量
变量定义的时候可以没有初始值,但是使用的时候必须给初始值
public static void main(String[] args) {
// 识别定义变量常见的问题
// 1.什么类型的变量一定是存放什么类型的数据
int age = "zhangsan";
// 2.同一个范围内不能定义重名的变量
int age = 20;
// 3.变量定义的时候可以不给初始值,但是使用的时候必须有初始值
double money;
System.out.println(money);
}
计算机底层都是一些数字电路
数据在计算机底层都是采用二进制存储的
二进制具体如何表示数据的
一个开发的状态 0 1
两个开关的状态 00 01 10 11
计算机的数据单位
计算机中认为一个开关表示0|1称为1为(b),每8位称为一个字节(B), 1B = 8b
字节是计算机中数据的最小单位
1KB = 1024B
1MB = 1024KB
1GB= 1024KB
1TB = 1024GB
数据类型就是约束变量存储数据的形式
数据类型 变量名称 = 初始值
数据类型的分类
引用数据类型(除基本数据类型之外的,如String)
基本数据类型:4大类8种
数据类型 | 关键字 | 取值范围 | 占用内存(字节数) |
---|---|---|---|
整数 | byte | -128~127 | 1 |
short | -32768~32767 | 2 | |
int(默认) | -2147483648~2147483647(10位数) | 4 | |
long | -9223372036854775808~9223372036854775807(19位数) | 8 | |
浮点数 | float | 1.401298e~3.402823e+38 | 4 |
double(默认) | 4.09000000e-324到1.797693e+308 | 8 | |
字符 | char | 0-65535 | 2 |
boolean | true,false | 1 |
public static void main(String[] args) {
// 基本数据类型的使用
// 1.byte字节型 占1个字节 -128 ~ 127
byte number = 98;
System.out.println(number);
// byte number2 = 128;
// 2.short 短整形 占2个字节
short money = 30000;
// 3.int 整型 默认的类型,占4个字节
int id = 23213131;
// 4.long 长整型 占8个字节
long lg = 23134234;
// 注意:随意写一个整数字面量默认是int类型的 虽然没有超过long的范围,但是它超过了本身int类型的表示范围
// 如果希望随便写一个整数字面量当成long类型,需要在其后加L/l
long lg2 = 23134353524L;
// 5. 浮点数(小数)
// float 单精度 占4个字节
// 注意:随便写一个小鼠默认是double类型,如果希望随便写一个小数字面量是float类型,需要在其后加上 F/f
float score = 98.5F;
// 6.double 双精度 占8个字节
double score2 = 98.50;
// 7.字符类: char
char ch = 'a';
char ch2 = '张';
// 8.布尔类型 boolean
boolean rs = true;
boolean rs2 = false;
System.out.println("---引用数据类型");
String name = "张三";
System.out.println(name);
}
美国信息交换标准编码,就是一套现代英语、数字、和其他西欧字符(不含中文)的编号规则
字符在计算机底层就是存储其编号的二进制形式
public static void main(String[] args) {
char ch = 'a';
// ch = 00000000 01100001
System.out.println(ch + 10); // 107
}
Java自己保留的一些单词,作为特殊功能的,如public、class、byte、shortt、int、long、double…
不能用来作为类名或者变量名称,否则报错
由一些字符、符号组合起来的名称,用于给类,方法, 变量等起名字的规矩
要求
基本要求:由数字、字母、下划线(_)和美元符号($)等组成
强制要求:不能以数字开头、不能是关键字、区分大小写
命名规范
变量名称:满足标识符规则,建议全英文、有意义、首字母小写、满足驼峰模式
类名称: 满足标识符规则,建议全英文、有意义、首字母大写、满足驼峰模式