1. JVM、JRE、JDK关系?
JVM Java Virtual Machine Java 虚拟机,简单看成⼀个操作系统,java程序会⾸先被编译 为.class的字节码,根据字节码指令进⾏识别并调⽤上层操作系统
JRE Java Runtime Environment java 运⾏时环境, 是整个 Java 程序运⾏的核⼼
JDK Java Development Kit 是我们的开发⼯具包,它集成了 JRE, 是整个 Java 开发的核⼼
总结 JRE = 基本类库 + JVM,没有JRE,java程序⽆法运⾏
JDK = JRE+JVM+开发⼯具包
Java核⼼优势:⼀次编译,到处运⾏,能够跨平台运⾏的核⼼在于 JVM
2.Java语⾔概念特点(也叫⾯向的基本概念)
类:就是模板,⽤来定义⼀类对象的⽅法和属性,⽐如⼈、学⽣、猫,万物都是有模板,都 是可以定义为类。(类名⾸字⺟⼤写)
class Student{ }
对象:类的实例化,⽐如 学⽣这个类实例化,就是 XX同学
Student student = new Student();
⽅法:类的⾏为属性,⽐学⽣这个类,有吃饭,学习,睡觉;猫这个类,可以抓⽼⿏
class Student{ //定义⼀个吃饭的⽅法 public void eat(){ }
//定义⼀个睡觉的⽅法
public void sleep(){ } }
属性:⽐如学⽣都有年龄,姓名等属性(⾯向过程的时候,⼀般叫变量;⾯向对象编程,⼀般 就叫属性) 参数:外部传递过来的叫参数 变量:除开属性之外的,和除开参数之外,就叫变量
class Student{ //定义⼀个年龄的属性 private int age;
//定义⼀个名称的属性 private String name;
public void set(int age){ this.age = age; } //定义⼀个吃饭的⽅法 public void eat(){ } //定义⼀个睡觉的⽅法 public void sleep(){ } }
3.第⼀个Java程序Hello World
public class HelloWorld{ public static void main(String [] args){ System.out.println("HelloWorld....xdclass"); } }
4.基础语法
java⽂件名: ⽂件名必须和类名相同,后缀为.java; 否则会出错
类class: 类名的⾸字⺟需要⼤写,多个单词的话需要使⽤驼峰形式
⽅法: ⽅法名需要⼩写字⺟开头,若有⼏个单词,则后续的采⽤驼峰形式
主⽅法:固定搭配,需要硬记,所有程序的主⼊⼝ public static void main(String [] args)
所有变量、名称都是⼤⼩写敏感的!!!!
5.IDEA调试模式
程序启动有两个模式:运⾏模式 run、调试模式 debug
step over:程序向下执⾏⼀⾏
step into:进⼊⾃定义⽅法
step out:跳出对应的⽅法
6.注释
单⾏注释
// 这个是单⾏注释
多⾏注释
/* * 这个是多⾏注释, 以 /* 开头 ,以 */ 结尾*/
⽂档注释,常⽤在类名上的注释
/** * 这个是作业 * 坐着 大爷灰 *版本 1.0。0 */
7.Java模块划分和包的使⽤
名称空间:同名的情况下,增加上⼀级信息⽤于区分,⽐如地名,xx地名,全国有重复的,但是增加 个省/市就可以区分
包 package,作⽤:为了更好的组装类,给类名增加个名称空间。控制不同类的访问权限
格式规范:包名:全部⼩写字⺟,可以是域名反过来写
常⻅的java⾃带的包:
java.lang 基础类包,默认⾃动导⼊的包,⾥⾯有Obect, String, StringBuffer, System等包, 应⽤最⼴
java.util 常⻅的⼯具类包
java.io 提供系统的输⼊输出
java.net 提供⽹络操作相关的类
导⼊其他包:
import 关键词导⼊其他包下的类
//导⼊util包下的Date类 import java.util.Date; // *号表示这个util包下⾯的全部类都导⼊进来 import java.util.*;
第一个java程序
package test; import java.util.Random; public class RandomTest { //主方法入口 public static void main(String [] args){ //输出 System.out.println("这是我的第一个java程序"); System.out.println("我灰常开心"); Random random = new Random(); // 随机生成true或者false boolean flag = random.nextBoolean(); System.out.println(flag); } }