文章目录
1.0 开发前言
1.1 java语言概述
java语言:美国sun公司在1995年推出的高级编程语言。
编程语言:是计算机语言,人们可以使用编程语言对计算机下达命令,让计算机完成人们需要的功能。
java语言之父:詹姆斯*高斯林( James Gosling)
java语言发展历史:
2009年Oracle甲骨文公司收购Sun公司,并于2011发布Java 1.7版本
2017年发布Java 9.0版本
2018年java 10.0版本
java语言能做啥?
Java语言主要应用在互联网程序的开发领域。
常见的互联网程序比如:天猫、京东、物流系统、网银系统等。
服务器后台处理大数据的存储、查询、数据挖掘等也有很多应用。
1.2 计算机基础知识
二进制:
计算机中全部采用二进制数表示,它只包含0、1两个数,逢二进一,1+1=10。每一个0或者每一个1,叫做一个bit(比特)或位。
进制转换:
十六进制、十进制、八进制、二进制之间的进制转换。
例子:
十进制转二进制
二进制转十进制
字节:
字节是的计算机中最小存储单元。计算机存储任何的数据,都是以字节的形式存储。
8个bit(二进制位) 0000-0000表示为1个字节,写成1 byte或者1 B。
字节进率:
1 B(字节) = 8 bit(位)
1024 B =1 KB
1024 KB =1 MB
1024 MB =1 GB
1024 GB = 1 TB
命令提示符:Win + R 输入:CMD进入DOS窗口
常见DOS命令:
例子:
切换盘符:d:
进入文件夹:cd 360[tab]
进入多级文件夹:cd 360…\360…\文件下载 [\是反斜杠]
返回上一级:cd …
返回根目录:cd
查看文件夹内容:dir
清屏:cls
退出:exit
2.0 Java语言开发环境搭建
2.1 Java虚拟机——JVM
JVM(Java Virtual Machine ):
Java虚拟机,简称JVM,是运行所有Java程序的假想计算机,是Java程序的运行环境,是Java 最具吸引力的特性之一。我们编写的Java代码,都运行在 JVM 之上。
跨平台:
任何软件的运行,都必须要运行在操作系统之上,而我们用Java编写的软件可以运行在任何的操作系
统上,这个特性称为Java语言的跨平台特性。该特性是由JVM实现的,我们编写的程序运行在JVM上,而JVM
运行在操作系统上。
java程序与JVM的关系:
【迁移】JVM就是各地本土的翻译,不能跨地域;而Java程序就是可以去各地旅游的人,可以跨地域。所以JVM是各个电脑版都有自己专用的,通用的是Java程序。
2.2 JRE和JDK
JRE (Java Runtime Environment) :
是Java程序的运行时环境,包含JVM和运行时所需要的核心类库。
JDK (Java Development Kit):
是Java程序开发工具包,包含 JRE 和开发人员使用的工具。
仅仅想要运行用JRE,想要开发用JDK;JDK包含JRE,JRE包含JVM,核心就是JVM。
2.3 JDK9安装图解
2.4 JAVA_HOME环境变量的配置
此电脑属性下的高级系统设置中,在cmd快速找程序运行对全局变量的设置:
cmd在默认全局变量文件夹下寻找exe文件。
3.0 HelloWorld入门程序
3.1 程序开发步骤说明
Java程序开发三步骤:编写、编译、运行。
说明:
java源文件后缀名一定是【.java】;
编译预处理之后就是java字节码文件【xx.class】;
运行的时候是生成的字节码文件。
例子:
- 第一步,编写源代码;【这段是固定写法:是需要记忆的】
// public class后面代表定义一个类的名称,类是java当中所有源代码的基本组织单位。【迁移】类是一个外壳,花括号里包含很多源代码。
public class helloWorld{ //【类名称】与源文件名称一模一样;
//第二行代码是万年不变的固定写法,代表main方法;代表程序执行的起点,没有则无法运行。
public static void main(String[] args){ //【main】注意写错mian;
//第三行代码是打印输出语句,就是屏幕显示。
System.out.println("Hello,World!"); //;注意别落下,且是英文字码体系字码;
} //【{ }】花括号要成对出现;
}
保存后就是XXX.java文件:
- 第二步,编译源代码,javac是编译器
运行javac程序编译java源文件则会在文件夹下生成javac文件,若果源文件有错误就会报错。
3. 第三步,运行代码,java是运行命令。
运行class文件用java程序,且文件没有后缀名,因为这个文件名是源文件中第三个单词,定义的类名称,而不是文件名称,尽管类名称要与源文件名一模一样。
3.2 更换notpad++
记事本不方便查错,为了更好查错,使用notpad升级版【notpad++】
设置如下:
3.3 注释 comment
注释:
就是对代码的解释和说明。其目的是让人们能够更加轻松地了解代码,不影响程序的编译和运行。
Java中有单行注释和多行注释:
单行注释:// XXXXX
多行注释:/XX多行都行XX/
3.4 关键字 keywords
关键字:
是指在程序中,Java已经定义好的单词,具有特殊含义。
【迁移】@在电子邮箱中是特定含义的、被保留的、不能随意使用的字符;所以在自定义域名时,不能使用被保留的关键字。
要求能够识别:
1. 完全小写的英文字母;(有大写字母的字母组合就不是java关键字)
2. 在notpad++中是紫色的;
关键字比较多,不能死记硬背,学到哪里记到哪里即可。
3.5 标识符
标识符:是指在程序中,我们自己定义内容。
例子:类(helloworld)、方法(main)、变量(Int num)的名字。
【迁移】我们注册电子邮箱时自定义域名名称时,有些符号是不能用的,即是有要求的。例如关键字。
例如:我们之前自定义的类名字——HelloWorld.
命名规则(硬性要求):
A. 标识符可以包含 英文字母26个(区分大小写) 、 0-9数字 、 $(美元符号)和_(下划线)
建议:仅仅是有字母和数字,不适应符号和中文。
B. 不能以数字开头;
例子:【错误:123hello】、 hello、hello123
C. 不能是关键字;
命名规范(软性要求):
A. 【类名】规范:首字母大写,后面每个单词首字母大写(大驼峰);
例子:HelloWorld。(我之前写的helloworld就不符合软性要求)
B. 【变量名】规范:首字母小写,后面每个单词首字母大写(小驼峰);
例子:int wangXue。可能底为了好在形状上区分。
C. 【方法名】规范:同变量名。
4.0 常量
常量:在程序运行期间,固定不变的量。【可以是任意字符】
常量的分类:
字符串常量:凡是用双引号引起来的部分,叫做字符串常量。
例子:"abc"、"hello"、"123"【是字符串123】。
整数常量:直接写上的数字,没有小数点。
例子:100、200、0、-250。
浮点数常量:直接写上的数字,有小数点。
例子:3.14、0.0、-2.5。
字符常量:凡是用单引号引起来的单个字符,就是字符常量。
例如:'A'、'b'、'中'、'9'。【可表示中文】
布尔常量:只有两种取值。
例如:true、false【真、假】。
空常量:null。代表没有任何数据,也不能使用。
例子:
public class WangXueLin{
public static void main(String[] args){ //记住程序运行的开始
//字符串常量
System.out.println("wangxuelin"); //我们先打印一串字符串。
System.out.println(" "); //字符串两个双引号中间的内容为空,所以这个字符串属于【0--+ ∞】
System.out.println("XYZ");
//整数常量
System.out.println(100);//不要双引号。
System.out.println(-250);
//浮点数常量(小数)
System.out.println(3.14);
System.out.println(-2.5);
//字符常量
Sytem.out.println('a');
System.out.println('6');
//System.out.println( '');//两个单引号中间必须有且仅有一个字符,空格可以,没有不行,两个也不行。例子:System.out.println( 'AB');
//布尔常量
System.out.println(true);
System.out.println(false);
//空常量 不能直接用来打印输出。
//System,out.println(null);
}
}
5.0 数据类型和变量
5.1 数据类型
数据类型:
基本数据类型【今天重点】
引用数据类型【今后学习】
基本数据类型
整数型 byte short int long //区别是内存占用不同【迁移】内存条中运行的程序。
浮点型 float double
字符型 char
布尔型 boolean
关于单精度与双精度浮点型:字节数越高,精度越高;
例子:十进制无法表示1/3,无限循环小数,舍掉就是不精确。
long与浮点型,范围与内存占用不一定有关系,科学计数法省空间。
引用数据类型
字符串、数组、类、接口、lambda
注意事项:
- 字符串不是基本类型,是引用类型;
- 浮点型可能只是一个近似值,并非精确值;
- 数据范围跟字节数不一定相关;
例如float数据范围比long更加广泛,但float是4字节,long是8字节。 - 浮点数当中默认类型是double,如果一定要使用float,需要加上一个后缀F。
如果是整数,默认为int类型,如果一定要使用long类型,需要加上一个后缀L。
推荐使用大写字母后缀。
例子:System.out.println(100L);
5.2 变量
变量:程序运行期间,内容可以发生改变的量。
创建一个变量并且使用的格式:
数据类型 变量名称;//创建了一个变量
变量名称 = 数据值;//赋值,将右边的数据值,赋值给左边的变量。
一步到位的格式:
数据类型 变量名称 = 数据值 //在创建一个变量的同时,立刻放入指定的数据值。
例子:
public class Demo02Varibable{ //Varibable 变量的意思
public static void main(String[] ages){
//创建一个变量
//格式:数据类型 变量名称;
int num1; //int 有颜色,是关键字;
//向变量中存入一个数据;
//格式:变量名称 = 数据值;
num1 = 10;
System.out.println(num1);//当打印出变量名称时,显示出来的是变量的值;
//改变变量中本来的数值,变成新的数值;
num1 = 20;
System.out.println(num1);
//使用一步到位的格式来定义变量;
//格式: 数据类型 变量名称 = 数据值;
int num2 = 25;
System.out.println(num2);
System.out.println("=================");
byte num3 = 30; //注意:右侧数值的范围不能超过左侧数据类型的取值范围 -128--+127;
//byte num4 = 400; 出现错误;
short num5 = 50;
System.out.println(num5);
long num6 = 30000000L; //不要忘记后缀;
System.out.println(num6);
float num7 = 2.5F;
System.out.println(num7);
double num8 = 1.2;
System.out.println(num8);
char zifu1 = 'A';
System.out.println(zifu1);
zifu1 = '中'; //可以保证一个中国字;
System.out.println(zifu1);
boolean var1 = true;
System.out.println(var1);
var1 = false;
System.out.println(var1);
//将一个变量的数据内容,赋值交给另一个变量;
//右侧的变量名称var1已经存在,里面是布尔值false,现在交给左侧的var2进行存储;
boolean var2 = var1;
System.out.println(var2);
}
}
使用变量的时候,有一些注意事项:
- 如果创建多个变量,那么变量名之间不可以重复;
- 对于float和long类型来说,字母后缀F和L不要丢掉;
- 如果使用byte或者short类型的变量,那么右侧的数据值不能超过左侧类型的范围;
- 没有进行赋值的变量,不能直接使用;一定要赋值之后,才能使用;
- 变量使用不能超过作用域的范围。【作用域】从定义变量一行开始。一直到大括号结束为止;
- 可以通过一个语句来创建多个变量,但是一般不推荐这样写。
例子:
public class Demo03VariableNotice{ //Notice 注意事项
public static void main(String[] args){
int num1 = 10;
//int num1 = 20; // 如果创建多个变量,那么变量名之间不可以重复;
int num2;
num2 = 30;
int num3; //定义了一个变量,但没有进行赋值;
//System.out.println(num3); 直接使用打印输出就是错误;
//System.out.println(num4); //变量使用不能超过作用域的范围。先定义,后使用;
int num4 = 500;
System.out.println(num4);
{
int num5 = 600;
System.out.println(num5);
}
//System.out.println(num5); //num5在作用域外,错误;
int num5 = 700;
System.out.println(num5); //可以使用后;
int a = 10;
int b = 20;
int c = 30;
System.out.println(a);
System.out.println(b);
System.out.println(c);
int d,e,f; //同时创建了三个int类型的变量;
d = 40;
e = 50;
f = 60;
System.out.println(d);
System.out.println(e);
System.out.println(f);
int x = 70,y = 80, z = 90;//同时创建且同时赋值,记住【赋值并非等于】
System.out.println(x);
System.out.println(y);
System.out.println(z);
}
}
——此文档为学习笔记!