Java是一门编程语言
汉语:人和人交流的语言
Java:人和机器交流的语言
Java的创始人:詹姆斯 高斯林
2009年甲骨文收购了sun
1995年发布jdk 测试版
1996年 发布jdk1.0 不成熟
1998 发布jdk1.2 里程碑
2005年 发布 jdk5 升级 添加一些新的特性
2011年 jdk7 为主
2014年 jdk8 增加一些新的特性
2019年 jdk12
java的产品线
javase:标准版
javame:移动端设备开发
javaee:企业级应用开发
java网站开发
.net php python ..开发中小型的网站
java:开发分布式的大型网站
2011年 互联网+ 时代
互联网+传统的行业
天猫 淘宝 京东:电商 互联网+实体业
滴滴:互联网 + 黑车
美团:互联网+餐饮
抖音:直播行业
传统的企业级应用开发
金蝶 泛微 oa系统(自动化办公系统) crm系统(客户维护系统)
大数据开发:
hadoop spark 等
corejava 一个月 java的语法 java的常用的api 简单的集合框架等
javaweb 前端知识 数据库 jsp 等一些知识
框架阶段 sping spingmvc
简单性:相对而言 相对c c++ 等比较容易
跨平台:java的程序可以在任何平台运行
面向对象:后边讲
编译型语言:将源文件通过编译器编译成为机器码文件(可执行性文件) c语言 执行效率高 不可跨平台
解释型语言:主要是前端的一些语言 js css html 源代码---> 解释器(浏览器)--->逐行解释运行 跨平台效率低
java:源文件(源代码)----->编译器--->字节码文件(平台中立)---->java虚拟机(jvm)---->逐行解释运行
这样的运行机制既保证了效率 又实现了跨平台
jvm:java虚拟机 (解释器)
jre:java的运行环境 (jvm+核心的类库) 给java程序的使用者用
jdk:java开发工具包(jre+java开发的工具包(供开发者使用))
jdk>jre>jvm
安装jdk(软件)
32位的电脑 只能安装32位的软件
64位的电脑 32&64 都可以
DOS操作系统 命令行界面的操作系统 cmd
打开cmd方式:
1.win+r 输入cmd
2.在开始菜单输入cmd 双击打开
3.在资源管理器的输入框输入cmd 回车
cmd命令:
1.cd 文件夹的目录 --- 进入到这个文件夹
2.dir 显示当前目录的所有文件
3. 盘符: 如 D: 切换盘符
4. cd.. 返回上一层目录
5.cd / 直接切换到根目录
6.cls 清屏
环境变量:
目的:方便我们开发
1. 变量名: path: 是系统自己已经创建好的 它的值不能删掉 指示系统去哪些目录寻找程序
变量值: jdk的bin目录 如: D:\JAVA\JDK7\bin ---> %JAVA_HOME%\bin
2. 变量名:JAVA_HOME jdk的安装目录
变量值:jdk的安装路径 如 :D:\JAVA\JDK7\
意义:
1.后期有一些软件需要识别jdk的安装目录 如:tomcat
2.在开发中需要经常更换jdk的版本
3. 变量名: classpath 为jvm指定去哪个目录寻找字节码文件
变量值: . 代表当前目录
jdk5之后 就不用配置了 默认就是 .
程序: 数据结构+算法 尼古拉斯 沃斯 计算机届的诺贝尔奖 图灵奖 权威的定义 垃圾 官方的说法
通俗: 程序就是能够完成指定功能计算机指令的集合
人和人: 对话 肢体 写信
人和机器: 写信 代码
写程序:
1.创建一个文件 .java .c .cpp .py
2.在文件中写我们想对电脑说的话 让电脑帮我输出我的一句心里话 我希望我的女朋友 肤白 貌美 大长腿
3.交个电脑执行 输出在屏幕上
案例:
//亲爱的 小花
class Hello{
//程序的入口 特殊的标记 主函数
public static void main(String[] args){
}
}
注意:
1. void 不要写成 viod
2. main 不要写成 mian
3. String s是大写的
java程序的运行原理
先编译 再 解释运行
1.编译 javac.exe
命令---- javac java源文件名.java
经过编译会生成 字节码文件 .class 文件
2.运行 java.exe 将字节码文件交个jvm解释运行
命令---- java 字节码文件的名(类名) 注意:后边没有后缀
案例:
//亲爱的 小花
class Hello{
//程序的入口 特殊的标记 主函数
public static void main(String[] args){
//1 心里话 让电脑输出
//系统 输出 打印在屏幕 易语言
System.out.print(" 我希望我的女朋友 肤白 貌美 大长腿!");
}
}
一个.java文件中可以定义多个类 每个类都会生成一个字节码文件
案例:
//亲爱的 小花
class Hello{
//程序的入口 特殊的标记 主函数
public static void main(String[] args){
//1 心里话 让电脑输出
//系统 输出 打印在屏幕 易语言
System.out.print(" 我希望我的女朋友 肤白 貌美 大长腿!");
}
}
class World{
public static void main(String[] args){
System.out.println("hello World");
}
}
一个程序只有一个入口
案例:
//亲爱的 小花
class Hello{
//程序的入口 特殊的标记 主函数
public static void main(String[] args){
//1 心里话 让电脑输出
//系统 输出 打印在屏幕 易语言
System.out.print(" 我希望我的女朋友 肤白 貌美 大长腿!");
}
//这是错误的
public static void main(String[] args) {
}
}
注意:
一个.java中只可以定义一个主函数 这句话是错误的
一个程序中只可以定义一个主函数 这句话是正确的
问题:类名重复
//亲爱的 小花
class Hello{
//程序的入口 特殊的标记 主函数
public static void main(String[] args){
//1 心里话 让电脑输出
//系统 输出 打印在屏幕 易语言
System.out.print(" 我希望我的女朋友 肤白 貌美 大长腿!");
}
public static void main(String[] args) {
}
}
class Hello{
public static void main(String[] args) {
System.out.println("hello world");
}
}
包的语法:
package 包名1.包名2.包名3.。。。包名n;
带包编译:
javac -d . 源文件名.java
带包运行:
java 包名1.包名2.包名3.包名n.类名
注意:package 语句只能放在定义类之前
案例:
package cn.wzx;
class Hello{
}
案例:
package cn.baizhi.day01;
class Hello{
//程序的入口 特殊的标记 主函数
public static void main(String[] args){
//1 心里话 让电脑输出
//系统 输出 打印在屏幕 易语言
System.out.print(" 我希望我的女朋友 肤白 貌美 大长腿!");
}
}
package cn.wzx;
class Hello{
public static void main(String[] args){
System.out.println("六月的雨 就像无情的你");
}
}
概念:类是public修饰的
注意:
1.公开类的源文件名和类名必须保持一致(包括大小写)
2.一个java文件中 只能定义一个公开类 但是可以定义多个非公开类
案例:
public class Hello{
public static void main(String[] args) {
System.out.println("java 166班");
}
}
标识符:就是给类 方法 变量等起的名字
硬性的(法律)
1.标识符的命名只能用 字母 数字 $ _ 数字不能开头
2.java中严格区分大小写
3.不能使用关键字class 保留字 goto 等
4.java中标识符没有长度限制
5.java的标识符可以用中文 但是不建议
软性的(道德)
1.见名知意
2.类名 每个单词的首字母大写 HelloWorld (大驼峰)
3.(方法)函数的命名 如果一个单词小写 如果多个单词从第二个单词开始首字母大写 如:printHelloWorld (小驼峰)
4.变量名 和 函数名命名规则一样
5.常量名 所有字母全部大写 一般每个单词之间用_分割 如: HELLO_WORLD
6.包名 所有字母全部小写 包之间用.隔开 如 cn.baizhi.day01
单行注释
语法:
// 注释的内容
多行注释
/* 多行注释的内容 */
注意:多行注释不可以嵌套使用
文档注释:通过javadoc工具生成一个类的说明文档
/**
文档注释内容
*/
生成文档的命令 : javadoc -d 文档的文件夹名 源文件.java
案例:
/**
这是一个测试类 用于输出helloworld
*/
public class A{
/**
这是主函数 是程序的入口
*/
public static void main(String[] args){
/**
这是输出语句 输出了一句话
*/
System.out.print(" 我希望我");
}
}
注意:多行注释不可以嵌套使用
文档注释:通过javadoc工具生成一个类的说明文档
/**
文档注释内容
/
生成文档的命令 : javadoc -d 文档的文件夹名 源文件.java
案例:
/*
这是一个测试类 用于输出helloworld
/
public class A{
/*
这是主函数 是程序的入口
/
public static void main(String[] args){
/*
这是输出语句 输出了一句话
*/
System.out.print(" 我希望我");
}
}