1、前言
1.1 java语言概述
什么是java语言
java语言是美国sun公司在1995年推出的高级编程语言。编程语言是计算机的语言,人们可以使用编程语言对计算机下达命令,让计算机完成相应的功能。
java语言的发展史
- 1995年Sun公司发布Java1.0版本
- 1997年发布Java 1.1版本
- 1998年发布Java 1.2版本
- 2000年发布Java 1.3版本
- 2002年发布Java 1.4版本
- 2004年发布Java 1.5版本
- 2006年发布Java 1.6版本
- 2009年Oracle甲骨文公司收购Sun公司,并于2011发布Java 1.7版本
- 2014年发布Java 1.8版本
- 2017年发布Java 9.0版本
java语言可以做什么
java语言主要应用在互联网程序的领域,比如说:淘宝、天猫和京东等,然后还有大数据的存储、查询和数据挖掘。
1.1 计算机的基础知识
二进制
计算机中的数据不同于我们使用的数据,计算机采用二进制表示,只有1和0两个数字,逢二进一,即1+1=10,每一位数字表示一个比特(bit)。
下面来说一下二进制和十进制的转换运算:
- 十进制数据转换为二进制数据:通过除以二取余的方式
- 二进制转换为十进制数据:从右往左,每位数字转换为它的值乘以2^它的位置(从0开始),最后将他们转换的值加起来
字节
字节是计算机的最小存储单元,我们可以通过在文件上右击-》属性查看它的字节大小,字节使用byte或者B表示,八个二进制位可以表示一个字节。
- 8 bit = 1 B
- 1024 B =1 KB
- 1024 KB =1 MB
- 1024 MB =1 GB
常用dos命令
DOS是一个早期的操作系统,现如今已经被windows操作系统所取代,对于开发人员来说,有的时候需要使用到一些DOS命令。
- 进入DOS窗口:在键盘按下win+R,敲入cmd回车即可进入。
- 常用命令
命令 | 操作符号 |
---|---|
盘符切换命令 | 盘符名: ,比如D: |
查看当前文件夹 | dir |
进入文件夹 | cd 文件夹名 ,比如cd devtools |
退出当前文件夹 | cd .. |
退出到磁盘根目录 | cd\ |
清屏 | cls |
2、java语言开发环境搭建
2.1 java虚拟机-jvm
- JVM(java virtual machine),java虚拟机,是运行所有java程序的假想计算机,是java程序的运行环境,是java最具吸引力的特性之一,我们编写的java程序,都需要运行在JVM上。
- 跨平台,任何软件都必须运行在操作系统上,而我们编写的java程序可以运行在任何操作系统上,这个特性是java语言的跨平台特性。该特性是由JVM实现的,因为我们的java程序要运行在jvm上,而jvm则运行在操作系统上。
jvm本身不具备跨平台的功能,不同操作系统需要有不同版本的jvm。
2.2 jre和jdk
- JRE(java runtime environment):java的运行时环境,包含
jvm
以及运行时所需要的核心类库。 - JDK(java development kit):java开发工具包,包含
JRE
以及开发人员使用的工具。
如果只是想运行一个java程序的话,可以只安装JRE
;如果想开发java程序的话,就需要安装jdk
tip:
JDK>JRE>JVM
2.3 jdk的安装
2.4 环境变量的配置
右击计算机–》属性–》高级系统设置–》环境变量–》系统变量,新建JAVA_HOME
,变量值为jdk的安装目录
接着选中Path
变量,点击编辑,添加%JAVA_HOME\bin%
接着打开DOS窗口,输入javac
,显示如下内容则配置成功
3、HelloWorld入门程序
3.1 开发步骤
java的开发步骤为:编写–》编译–》运行
3.2 编写java源程序
新建一个文本文档,名字为HelloWorld
,后缀为.java
,接着将它打开。键入以下代码:注意class
后面的是类名,必须和文件名一样,注意大小写一致。
public class HelloWorld{
public static void main(String[] args){
System.out.println("Hello JAVA");
}
}
3.3 编译java源文件
打开DOS窗口,进入HelloWorld.java
所在的文件夹,键入javac HelloWorld.java
编译该源文件,JVM不认识.java
源文件,只认识.class
字节码文件,所以我们要使用javac
将源文件编译为字节码文件。
3.4 运行字节码文件
打开DOS,进入字节码文件所在的目录,键入java HelloWorld
运行字节码文件。
3.5 入门程序的说明
编译和运行
- 编译:使用
javac
将java的源文件.java
编译为字节码文件.class
,javac
是编译器,他会检查我们编写的程序是否有错误,如果有则无法成功编译。 - 运行:使用
java
,将字节码文件交给jvm
运行。
main方法
main
方法是java程序的主方法,也是java程序的入口,main
方法的格式是固定的,不许改变,jvm
会从main
方法开始执行。
3.6 添加注释Comment
-
注释:对代码的解释和说明,不会影响程序的编译和执行,它可以让人们更加容易理解代码。
-
java中有
单行注释
和多行注释
单行注释:以
//
开始多行注释:以
/*
开始,以*/
结束
3.7 java关键字keywords
关键字keywords
是java已经定义好的单词,比如入门程序中的public
、class
、void
等,我们编写程序时有时需要定义变量,需要注意变量名不能和这些关键字重复。
3.8 标识符
- 标识符:是指我们在程序中自己定义的内容,比如类的名字、方法的名字以及变量的名字,我们入门程序中
HelloWorld
就是我们自己定义的类的名字。 - 命名规则:
- 标识符可以包含26个
英文字母(区分大小写)
、0-9
数字、$
以及下划线_
- 标识符不能以数字开头
- 标识符不能是关键字
- 标识符可以包含26个
- 命名规范(非强制)
- 类名:首字母大写,后面每个单词的首字母大写
- 方法名:首字母小写,后面每个单词的首字母大写
- 变量名:全部小写
4、常量
常量:在java程序中固定不变的数据。
4.1 分类
类型 | 含义 | 举例 |
---|---|---|
整型常量 | 所有的整数 | 1、2、3.。。 |
小数常量 | 所有的小数 | 1.2,2.4 |
字符常量 | 单引号引起来,里面只能有一个字符,而且必须有 | ‘a’ , ‘b’ |
字符串常量 | 双引号引起来,可以写多个字符,也可以不写 | “” “a” “aasdf” |
布尔常量 | 只有两个值 | true false |
空常量 | 只有一个值 | null |
4.2 输出各种类型的常量
编写程序
public class HelloWorld{
/*
输出不同类型的常量
*/
public static void main(String[] args){
//输出整型常量
System.out.println(123);
//输出小数常量
System.out.println(0.123);
//输出字符常量
System.out.println('a');
//输出字符串常量
System.out.println("abc");
//输出布尔常量
System.out.println(true);
//输出空常量
//System.out.println(null); 无法直接输出null,因为java的一切行为都是基于对象的,而null是空,不属于对象的范畴
}
}
打开Dos窗口,编译和运行,但是出现以下错误
这是编码的问题,我们需要将文件的编码改为ANSI
5、变量和数据类型
5.1 概述
- 变量:常量是固定不变的数据,那么变量就是可以变化的数据。
java中要求每个变量每次只能存储一个数据,并且要有明确的数据类型。
5.2 数据类型
java的数据类型分为两类:
- 基本数据类型:包括
整数
、浮点数
、字符
和布尔
- 引用数据类型:包括
类
、数组
和接口
基本数据类型
数据类型 | 关键字 | 内存占用(byte) | 取值范围 |
---|---|---|---|
字节型 | byte | 1 | -128~127 |
短整型 | short | 2 | -32768~32767 |
整型 | int | 4 | -231次方~2的31次方-1 |
长整型 | long | 8 | -2的63次方~2的63次方-1 |
单精度浮点数 | float | 4 | 1.4013E-45~3.4028E+38 |
双精度浮点数 | double | 8 | 4.9E-324~1.7977E+308 |
字符型 | char | 2 | 0-65535 |
布尔型 | boolean | 1 | true,false |
java中的默认类型:整数类型是
int
,浮点类型double
5.3变量的定义
数据类型
变量名
=变量值
定义各类型的变量
public class HelloWorld{
/*
定义并输出各类型的变量
*/
public static void main(String[] args){
//定义整型变量
byte a=1;
System.out.println(a);
short b=2;
System.out.println(b);
int c=3;
System.out.println(c);
long d=4L;//定义长整型需要加上L,大小写都可以
System.out.println(d);
//定义浮点类型
float e=0.2f;//定义单精度浮点型需要加上f,也忽略大小写
System.out.println(e);
double f=2.4;
System.out.println(f);
//定义字符类型
char g='a';
System.out.println(g);
//定义布尔类型
boolean h=true;
System.out.println(h);
}
}
5.4 注意事项
- 在同一个大括号内,变量的名字不可以相同
- 定义的变量如果不赋值无法使用