Java的三大版本
Write Once、Run Anywhere
JavaSE:标准版(桌面程序,控制台开发…)
JavaME:嵌入式开发(手机,小家电…)
JavaEE: E企业级开发(web端,服务器开发…)
JDK : Java Development Kit,Java开发者工具,在JRE之上扩充了一些开发工具
JRE: Java Runtime Environment,包含Java虚拟机,函数,一些库,就是一些运行时环境,只要安装了JRE就可以运行Java环境
JVM : JAVA Virtual Machine,Java虚拟机,可以当作一些规范,可以使用软件实现或者硬件来实现,就是在操作系统上模拟CPU来运行Java程序。Java的跨平台核心就是使用了JVM,屏蔽了底层系统的一些差别,真正实现了一寸编译到处运行
JDK组成
HelloWorld。java程序写出来之后会在jdk里面找寻javac这样一个工具来对他进行编译,编译后会产生HelloWorld.class这样一个文件,第二步就是去jdk里面找到java这样一个工具把HelloWorld.class这样一个程序送到jvm虚拟机里面运行,程序在虚拟机里面运行还需要调用java自己写好的程序,java自己的程序放在核心类库里面
卸载JDK
1.删除java的安装目录,jdk文件
找到JAVA_HOME对应的地方将旧版本的jdk删除
2.删除JAVA_HOME对应的环境变量
3.删除Path对应的和jdk有关系的环境变量
4.java -version cmd窗口查询java环境是否删除干净
安装JDK8
1.百度搜索JDK8,找到下载地址
2.同意协议
3.下载电脑对应的版本
4.双击安装DK
5.记住安装的路径
6.配置环境变量
1.我的电脑–>右键–>属性
2.环境变量–>JAVA_HOME
3.配置path变量
4.测试JDK是否安装成功
1.打开cmd
2. java -version
5.安装的jdk的目录结构
bin:存放的是一些可执行程序
include:存放一些头文件。java的jdk是由c/c++写的,启动的时候需要引用一些头文件
jre:下面是java的一些运行环境,如果只跑java的话,只有jre就够了
lib:存放了java的一些类库
6.编译运行java代码
public class Hello{
public static void main(String [] args)
{
System.out.print("Hello World!");
}
}
可能会遇到的问题:
1.javac不是内部命令:表明环境变量没有配置好
2.javac Hello.java 没有运行出.class文件
表明.java文件大小写有问题。java是大小写敏感的
3.文件名和类名必须保持一致
Java跨平台机制
Java程序运行机制
java编码的快捷命令
psvm
sout
IDEA使用
IDEA常用快捷键
Java关键字
Java数据类型
强类型语言安全性高,但是速度就会变慢
像VB,JS都是弱类型语言
变量
变量分类:
运算符
包机制
Scanner对象
switch选择结构
break 和 continue
Java方法
方法调用
方法重载
命令行传参
使用命令行执行代码,需要在源程序目录下执行,因为Demo7里面导入了package xsy.Scanner这个包
可变参数
public class Demo8 {
public static void main(String[] args) {
Demo8 d8=new Demo8();
d8.test(1);
}
public void test(int... i)
{
System.out.println(i[0]);
}
}
package xsy.Scanner;
public class Demo8 {
public static void main(String[] args) {
//Demo8 d8=new Demo8();
// d8.test(1);
printMax(34,2,4,1,89,0);
printMax(1,2,3);
}
public void test(int... i)
{
System.out.println(i[0]);
}
public static void printMax( double... numbers){
if (numbers.length==0) {
System.out.println("No argument passed" );
return;
}
double result = numbers[0];
//排序!
for (int i = 1; i <numbers.length; i++){
if ( numbers[i] >result) {
result = numbers[i];
}
}
System. out.println( "The max value is " + result);
}
}
递归
数组
public class Demo01 {
public static void main(String[] args) {
int[] nums;//1.定义一个数组
int arr[];
nums=new int[10];//创建一个数组
//nums数组里面可以存放10个int类型的数字
//3,给数组元素赋值
for(int i=0;i<nums.length;i++)
{
nums[0]=i+1;
System.out.println("nums[" + (i) + "]" + "=" +(i+1));
}
}
}
多维数组
package array;
public class Demo01 {
public static void main(String[] args) {
// int[] nums;//1.定义一个数组
// int arr[];
//
// nums=new int[10];//创建一个数组
// //nums数组里面可以存放10个int类型的数字
//
// //3,给数组元素赋值
// for(int i=0;i<nums.length;i++)
// {
// nums[0]=i+1;
// System.out.println("nums[" + (i) + "]" + "=" +(i+1));
// }
int [][]array={{1,2},{2,3},{3,4},{4,5}};//[4][2]
/*
1,2
2,3
3,4
4,5
*/
printArray(array[0]);
}
public static void printArray(int[]arr)
{
for(int i=0;i<arr.length;i++)
{
System.out.print(arr[i]+" ");
}
}
}