1.win+R打开运行窗口输入cmd,按Enter打开dos命令窗口,然后输入“java -version”命令按Enter,如果出现"Java不是内部或外部的命令",则说明没有安装JDK,如果出现如图所示的内容则说明安装过JDK,JDK的版本为1.8.0
2.在dos命令窗口中输入"javac"命令,如果 出现"javac不是内部或外部的命令",则说明没有配置环境变量,若果出现如图所示则说明配置过环境变量
Java是分为编译期和运行期两个时期
编译期:听过编译器javac.exe将.java源文件编译成.class字节码文件
运行期:通过Java虚拟机JVM运行,class字节码文件
1.编程语言,由C++演变而来,摒弃了c++中难以理解的多继承以及指针等概念
2.Java是一门面向对象的编程语言
3.Java可以编写桌面应用程序,javaWeb应用程序,分布式和嵌入式程序
4.版本
JavaSE Java桌面应用程序
JavaEE JavaWeb应用程序
JavaME 嵌入式应用程序,后期被Android所代替
5.1995年5月Java正式发布
1996年Sun公司发布了第一个Java开发工具包(JDK1.0)
…
2019年发布了最新版本JDK13
6.Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立可移植可迭代、多线程、动态性等特征
7.编程环境
JVM(Java Virtual Machine) Java虚拟机
JRE(Java Runtime Envirnment) Java运行时环境
JDK(Java Development kit) Java开发工具包
JRE是一个运行环境,JDK是一个开发环境,因此,编写Java程序时需要的最小环境为JDK,而运行Java程序时需要的最小环境是JRE。因此只要安装了JDK,就可以编写Java程序,也可以正常运行Java程序.因此JDK中就包含了JRE环境
1.记事本,文本编辑器
2.MyEclipse,Eclipse
3.IDEA,是一个Java编程语言开发的集成工具
1>: .java结尾的文件,为Java源文件
2> :在D盘根目录下新建一个Demo.java
3> :Demo.java内部代码
public class Demo{ //class关键字后面的就是类名
//main方法就是Java程序的主入口
public static void main(String[] args){
System.out.println(“HelooWorld”);
}
}
4> :在dos命令中找到java文件的位置
cd… 返回上一级
cd 目录名 进入此目录
c: 进去C盘
d:
javac Demo.java java命令编译
java Demo java命令执行
Demo.java------>编译器javac.exe工具编译 ---->Demo.class字节码文件 ---->解释器java.exe工具运行—>机器码(0和1)
编译源文件的语法 javac 文件名.java
运行字节码的语法 java 类名
创建java项目:
1.右键New --》 project --》 Java Project --------------------------小区
2.在src上右键New --》Package ---------------------------------------单元楼
包名一般都小写
命名格式采用域名反写 域名反写.项目名.模块名.包名
3.在包名上右键New --》 Class ------------------------------------------门牌号
注意:Class的名字通常情况下建议首字母大写,如果是多个单词组合而成的则建议每个单词的首字母都大写
public class HelloWorld {
//单行注释 main方法就是java主程序的入口
public static void main(String[] args){
//输出语句 println输出并换行
System.out.println("HelloWorld");
// print输出不换行
System.out.print("Hello");
System.out.println("Star");
}
什么是标识符?
给类,包,变量,方法取名字
1.先声明后初始化
语法结构: 数据类型 变量名;
变量名 = 赋值;
2.声明的同时初始化
语法结构: 数据类型 变量名 = 赋值;
public static class Variate{
public static void main(String[] args){
//变量的初始化
//1.先声明后初始化
//声明变量的语法格式 数据类型 变量名
int a;//声明了一个整数类型的变量,名为a;
//初始化就是给变量第一次赋值,需要注意:初始化的值的数据类型应该与声明时候的数据类型匹配
a = 10;//将整数10赋值给变量a(第一次给变量赋值的过程就叫做初始化);
//2.声明的同时初始化
int b = 20;//声明了一个整数类型的变量,名为b,并且初始化为20;
//3.同时声明多个相同类型的变量
int c,d,e;//声明了三个整数类型的变量,分别为c,d,e
int x,y,z = 10;//声明了三个整数类型的变量,分别为x,y,z,但是只有z的初始化为10
}
}
1.在同一作用域下不能重复命名
2.严格区分大小写
3.见名知义
4.可以使用中文(不建议使用)
5.可以使用中文拼音
6.除了$和_以外不能使用别的特殊符号
7.变量名不能用数字开头
8.不能使用JAVA关键字
9.遵循驼峰命名法
public static class Variate{
public static void main(String[] args){
//变量的命名规范
//1.在同一作用域中变量名不能重复
// int a;//编译错误
//2.Java中严格区分大小写
int A;
//3.变量名可以使用中文(不建议使用)
int 年龄;
//4.变量名尽可能的做到见名知义
int age;
//5.变量名可以使用汉语拼音
int nianling;
//6.变量名除了$和_以外不能使用任何特殊的符号
// int age#;//编译错误
int age$;
int age¥;//使用¥虽然不会编译错误,但是一般不会这样去用,因为在编程过程中所有的符号都是英文半角输入法的符号
//7.变量名不能以数字开头
// int 1age;//编译错误
int age1;
//8.变量名不能使用java关键字
// int null;//编译错误
int NULL;
//9.变量名遵循驼峰命名法(多个单词组合而成时,第一个单词的首字母小写,后面每一个单词的首字母大写)
int helloWorld;
//红队 40:60 蓝队
int red = 40;
int blue = 60;
System.out.println("红队 "+red+":"+blue+" 蓝队");
}
}
使用变量就等同于使用了变量中的值
注意: 变量赋值的时候,要注意变量的值要和声明的变量数据类型一致
1.整数类型:byte, short, int, long
byte:1个字节,8位,-128~127 最大存储量为255
short:2个字节,16位,-32768~32767 最大存储量为65535
int:4个字节,32位,-2^31~2^31-1 最大存储量为2^32-1
long:8个字节,64位,-2^63~2^63-1 最大存储量为2^64-1
2.浮点数类型(小数类型):float,double
float:4个字节,32位 单精度浮点型
double:8个字节,64位 双精度浮点型
3.字符型:char
char:2个字节,16位,存储Unicode编码,用' '
4.布尔型:boolean 取值只能是true或者false
除了基本数据类型以外几乎全部都是引用数据类型
特别注意:String字符串类型,虽然我们用的比较多比较频繁,但是它是引用数据类型
public static class DataType{
public static void main(String[] args){
//byte 1个字节 -128~127
byte b; //声明了一个byte类型的变量,名为b;
// b = -129;//编译错误,内存溢出
b = -128;
//short 2个字节 -32768~32767
short s;
// s = -32769;//编译错误,内存溢出
s = -32768;
s = 32767;
//int 4个字节 -2^31~2^31-1
int i = 2100000000;
// i = 2200000000;//编译错误,内存溢出
// System.out.println(2100000000+100000000);
//long 8个字节 -2^64~2^64-1
//注意:在初始化long类型变量时,在最后要加上一个L或者l,通常建议添加L
long lo = 2100000000L;
//double 8个字节 双精度浮点型
double dou =3.14;
//float 4个字节 单精度浮点型(在初始化float类型的变量时,最后需要加上一个F或者f)
float flo = 3.14F;
//char 2个字节 字符型
char ch = '男';//只能存储一个字符
// char c = '男人';//编译错误
//boolean 取值只能是true或false
boolean boo = true;
boolean bo = false;
}
}
数据类型之间的转换仅存在于数值类型之间,数值类型间的大小关系从小到大依次为
byte, short, int, long, float, double
boolean类型不参与转换
char类型在参与运算时会先转为int再参与运算
转换规则:从小转到大,自动类型转换
从大转到小,强制类型转换
注意:在强制类型转换的过程中可能会造成数据的精度丢失,当浮点数为整数时,都是无条件的舍弃掉小数位;在强制类型转换过程中可能会造成数据溢出,所以强制类型转换需要慎重
public static class DataTypeChange
public static void main(String[] args){
//byte short int long float double
short s = 10;
int i = s; //自动类型转换,short会自动转换成int
short s1 = (short)i;//强制类型转换
double dou = 3.14;
int i2 = (int)dou;//在强制类型转换的过程中可能会造成数据的精度丢失,当浮点数为整数时,都是无条件的舍弃掉小数位;在强制类型转换过程中可能会造成数据溢出,所以强制类型转换需要慎重
System.out.println(i2);
short s2 = -200;
byte b = (byte)s2;//在强制类型转换的过程中可能会造成数据溢出,强转需谨慎
System.out.println(b);
float fl = 3.14F;
long lo = (long)fl;
System.out.println(lo);
int i3 = 250;
long lo1 = i3;
System.out.println(lo1);
}