一、基础准备阶段
(一)、二进制的转换
1.十进制到二进制 (辗转相除)
2.二进制转十进制(8421码)
(二)、字节
位(bit):数字0或者1,代表一位
字节(Byte):每8个位是一个字节,是数据存储的最小单位
1 Byte=8 bit
(三)、DOS指令
win+R cmd 调出 DOS窗口
*dos指令
-exit 退出
-cls 清屏
-dos窗口中的内容复制 空白处 标记 + 选中 任意位置 鼠标右键 win10 下直接选中
-dir 列出当前目录的所有文件
-cd 命令
*cd表示 change directory (改变目录)
*cd命令的应用 cd 路径
*路径 包含绝对路径和相对路径
绝对路径 带根目录
cd C:\Users\ssh43\Desktop
相对路径 当前路径下作为出发点
C:\Users\ssh43 cd Desktop
-cd .. 回到上级目录
-cd \ 回到根目录
切换盘符
c:
d:
e:
f:
cd \..\..\.. 回到根目录
(四)、JAVA语言开发环境
*JDK JAVA开发工具包
*JRE JAVA运行时环境
*JVM JAVA虚拟机(翻译作用)
-JDK目录的介绍
JDK\bin: 该目录下存放了很多命令。例如javac.exe 和java.exe
javac.exe 负责编译
java.exe 负责运行
(五)、Classpath / Path 环境变量的配置
-开发Helloworld.java源程序
-将Helloworld.java通过javac.exe进行编译
-打开DOS 直接输入javac命令回车出现
'javac.exe' 不是内部或外部命令,也不是可运行的程序或批处理文件。
*如何解决呢
*-*windows操作系统是如何搜索硬盘上的命令的呢
-会从当前目录下搜索
-当前目录没有会从环境变量path指定的路径中搜索
-如果都搜索不到则报错 'javac.exe' 不是内部或外部命令,也不是可运行的程序或批处理文件。
*在windows下把路径添加到path环境变量中即可
-当运行JAVA程序的时候 需要给类加载器ClassLoader指定路径 也可以通过Classpath来实现
可以通过新建环境变量 Classpath=F:\
也可以不指定路径 Classpath=.
-还可以新建显得变量JAVA_HOME当作根目录
给path赋予新的变量%JAVA_HOME%\bin
%JAVA_HOME%\jre\bin
(六)、HelloWorld入门程序
******.java 源文件
******.class 字节码文件
*运行阶段
-JAVA的编译 用DOS指令 编译
dos中
javac java的路径 (java 的自检查)
dos下
java 类名
java a
java b
java c
* java a.class(错误)
* 运行阶段的过程
-打开DOS窗口
-输入:java A
-java.exe命令启动JAVA虚拟机(JVM) JVA会启动类加载器ClassLoader
-ClassLoader会去硬盘上寻找A.class文件
-输入:java B
-java.exe命令启动JAVA虚拟机(JVM) JVA会启动类加载器ClassLoader
-ClassLoader会去硬盘上寻找B.class文件
-CL找到文件后会将该字节码装载到JVM中
-JVM会将 A.class字节码文件解释成二进制码,并执行
public class HelloWorld {
public static void(String[] args){
System.out.println("HelloWorld");
}
}
javac HelloWorld.java 编译
java HelloWorld 运行【不需要输入.class】
(六)、java的注释怎么写
-单行注释
//单行注释
-多行注释
/*
多行注释
多行注释
多行注释
多行注释
......
*/
-javadoc注释
/**
* javadoc注释
* javadoc注释
* javadoc注释
* javadoc注释
* javadoc注释
*/
-这种注释会被javadoc.exe工具提取并生成帮助文档
****对HelloWorld程序进行解释
//public 表示公开的
//class表示一个类
//HelloWorld表示一个类名
public class HelloWorld{//表示一个公开的类,起名HelloWorld
//类体中不允许直接编写java语句【除声明变量以外】
//类体 【记住】
/*
pubic 表示公开的
static 表示静态的
void 表示空
main 表示方法名是main
(String[] args)是一个main方法的形式参数列表
需要记住的是:一下的方法是一个程序的“主方法”,是执行程序的入口
是SUN公司规定的,固定编写方法。
*/
public static void main(String[] args){//表示定义一个公开的静态的主方法
//方法体
//方法体
//方法体
//方法体
//方法体
//java语句【java语句以“;”终止,分号必须是半角分号】
//先记住:以下代码的作用是向控制台输出一段消息
//以下的双引号必须是半角双引号【是java语法的一部分】
//java中所有的“字符串”都使用双引号括起来。
System.out.println("我爱你!");
//再向控制台输出消息
System.out.println("Hello Jackson");
//输出中文
System.out.println("お久しぶりです。");
//输出中文
System.out.println("Hello World");
//输出中文【全角的双引号只是字符串,不是Java语法】
System.out.println("我是一个“程序员”");
}
}
(七)、java中的标识符
关于java语言当中的标识符
1、什么是标识符
-在java源程序当中凡是程序员有权利自己命名的单词都是标识符
-标识符在EditPlus编辑器中以黑色高亮字体显示
-标识符可以标识什么元素呢?
*类名
*方法名
*变量名
*接口名
*常量名
......
2、标识符的命名规则【不按照规则来,编译器会报错,是语法】
-一个合法的标识符只能由“数字、字母、下划线、美元符号”组成,不能包含其他符号
-不能以数字开头
-严格区分大小写
-关键字不能做标识符【蓝色】
-理论上无长度限制
3、标识符的命名规范【只是一种规范,不属于语法,不遵守编译器不会报错】
-最好见名知意
-遵守驼峰命名方式
-类名、接口名:首字母大写,后面每个单词首字母大写
-变量名,方法名:首字母小写,后面每个单词首字母大写
-常量名:全部大写
4、合法和不合法的标识符
合法 不合法
--------------------------------------
_123Test 123Test
HelloWorld HelloWorld!
$HelloWorld HelloWorl#!
HelloWorld Hello World
class1 class
public0 public
5、所有的“常量”名:全部大写,并且单词和单词之间采用下划线链接。
-USER_AGE:用户年龄
-MATH_PI:固定的常量3.1415926......
public class IdentifierTest01 //IdentifierTest01是一个类名
{
//main是一个方法名
public static void main(String[] args) { //args是一个变量名
System.out.println("Hello, World!");
}
//dosome就是方法名
public static void dosome(){
//i就是变量名
int i =10;
}
}
(八)、java中的关键字
关键字 【蓝色字体】
*什么是关键字?
SUN公司开发JAVA语言的时候,提前定义好了一些具有特殊含义的单词,这些单词全部小写,
由于具有特殊含义所有不能作为标识符。
*java语言中的所有关键字全部小写。【java语言中是严格区分大小写的】
public class Public{
}
*关键字有哪些呢
void class int long ......
(九)、常量的概念与分类
常量:在程序运行期间,固定不变的量。
常量的分类
-字符串常量:凡是用双引号引起来的部分,叫做字符串常量。例如:"abc" "Hello" "123"
-整数常量:直接写上的数字,没有小数点。例如:100、300、0、-250
-浮点数常量:直接写上的数字,有小数点。例如:2.5、-3.14、0.0
-字符常量:凡是用单引号引起来的单个字符,叫做字符常量。例如:'A'、'b'、'9'、'中'
*注:只能是一个字符
-布尔常量:只有两种取值:true、false
-空常量:null 表示没有任何数据。
public class Demo01Const{
public static void main(String[] args){
//字符串常量
System.out.println("ABC");
System.out.println(""); //字符串双引号中内容为空
System.out.println("123");
//整数常量
System.out.println(30);
System.out.println(-500);
//浮点常量
System.out.println(3.14);
System.out.println(-2.5);
//字符常量
System.out.println('A');
System.out.println('2');
//System.out.println(''); 字符单引号中内容有且只能有一个字符,不能为空
//布尔常量
System.out.println(true);
System.out.println(false);
//空常量【空常量不能直接打印输出】
//System.out.println(null);
}
}
(十)、数据类型
1.基本数据类型
整数型 byte short int long
浮点型 float double
字符型 char
布尔型 boolean
2.引用数据类型
字符串、数组、类、接口、Lambda、
注意事项:
1、字符串不是基本类型,而是引用类型。
2、浮点型可能只是一个近似值,并非精确的值
3、数据范围与字节数不一定相关,例如float数据范围比long更加广泛,但是float是4字节,long是8字节
4、浮点数当中默认类型是double。如果一定要使用float类型,需要加上后最F
如果是整数,默认是int类型。如果一定要使用long类型,需要加上后最L
public class Demo01Const{
public static void main(String[] args){
System.out.println(100L);
}
}
(十一)、变量的概念与分类
变量:在程序运行期间,内容可以改变的量。
*如何创建一个变量并且使用的格式:
数据类型 变量名称;//创建了一个变量
变量名称 = 数据值;//赋值,将右边的数据值赋值交给左边的变量
public class Demo02Variable{
public static void main(String[] args){
//创建一个变量
//格式:数据类型 变量名称;
int num1;
//向变量当中存入一个数据
//格式:变量名称 = 数据值;
num1 = 10;
//当打印输出变量名称的时候,显示出的是变量的内容
System.out.println(num1);// 10
//改变变量中本来的数字,变成新的数字
num1 = 20;
System.out.println(num1);// 20
}
}
*一步到位的格式
数据类型 变量名称 = 数据值;//在创建一个变量的同时,立即放入指定的数据值
public class Demo02Variable{
public static void main(String[] args){
//使用一步到位的格式来定义变量
//格式:数据类型 变量名称 = 数据值;
int num2 = 25;
//当打印输出变量名称的时候,显示出的是变量的内容
System.out.println(num1);// 25
//改变变量中本来的数字,变成新的数字
num2 = 35;
System.out.println(num1);// 35
}
}
其他数据类型的演示
public class Demo03Variable{
public static void main(String[] args){
byte num3 =30;// 注意:右侧数值的范围不能超过左侧数据类型的取值范围
System.out.println(num3);// 30
// byte num4 =400;// 右侧超出了byte数据范围,错误!
short num5 =50;
System.out.println(num5);// 50
long num6 =3000000000L;
System.out.println(num6);// 3000000000
float num7 =2.5F;
System.out.println(num7);// 2.5
double num8 =1.2;
System.out.println(num8);// 1.2
char zifu1 ='A';
System.out.println(zifu1);// A
zifu1 ='中';
System.out.println(zifu1);// 中
boolean var1 = true;
System.out.println(var1);// true
var1 =false;
System.out.println(var1);// false
// 将一个变量的数据内容,赋值交给另一个变量
//右侧的变量名称var1已经存在,里面装的是false布尔值
//将右侧变量里面的false值,向左交给var2变量进行存储
boolean var2 =var1;
System.out.println(var2);// false
}
}
变量的注意事项
使用变量的时候,有一些注意事项:
1.如果创建多个变量,那么变量之间的名称不可以重复。
2.对于float和long类型来说,字母后缀F和L不要丢掉。
3.如果使用byte或者short类型的变量,那么右侧的数据值不能超过左侧类型的范围。4,没有进行赋值的变量,不能直接使用:一定要赋值之后,才能使用。
5.变量使用不能超过作用域的范围。
【作用域】:从定义变量的一行开始,一直到直接所属的大括号结束为止。
6.可以通过一个语句来创建多个变量,但是一般情况不推荐这么写。
public class Demo03VariableNotice{
public static void main(String[] args){
int num1=10;// 创建了一个新的变量,名叫num1
//int num1 =20;//又创建了另一个新的变量,名字也叫num1,错误!
int num2 =20;
int num3; num3 =30;
int num4;// 定义了一个变量,但是没有进行赋值
// System.out.println(num4);//直接使用打印输出就是错误的!
// System.out.println(num5);// 在创建变量之前,不能使用这个变量
int num5 =500;
System.out.println(num5); // 500
{
int num6 =60;
System.out.println(num6); // 60
}
// int num6;
// System.out.println(num6);// 已经超出了大括号的范围,超出了作用域,变量不能再使用了
// 同时创建了三个全都是int类型的变量
int a, b, c;
// 各自分别赋值
a = 10;
b = 20;
c = 30;
System.out.println(a);// 10
System.out.println(b);// 20
System.out.println(c);// 30
// 同时创建三个int变量,并且同时各自赋值
int x = 100, y = 200, z =300;
System.out.println(x);// 100
System.out.println(y);// 200
System.out.println(z);// 300
}
}