jdk,jre,jvm的关系

JDK(java development kit java开发工具包),要开发java程序就需要这个,里面包含了jre,安装了jdk就不用单独安装jre。
JRE(java runtime environment java运行环境),里面包含了java虚拟机(JVM)和java所需的核心类库。
其实java程序就是运行在jvm上的。
只编写java程序,就需要jdk,只运行java程序只需要jre。
image.png

java程序的编译过程

用命令行这样,集成环境直接运行
image.png

命令行程序入口

  1. public static void main(String[] args)
  2. {
  3. //格式是固定的
  4. }

注释

  1. //1. 单行注释
  2. /*
  3. * 2.
  4. * 这是
  5. * 多行注释
  6. * */

java api文档

这是官方版本的,可以自己取下载中文版本

http://www.oracle.com/technetwork/java/javase/downloads/index.html

数据类型

类型 存储需求
int 4字节
short 2字节
long 8字节
byte 1字节
float 4字节
double 8字节
char 1字节
boolean 1字节
  1. //长整型后面可以跟大小写L表示
  2. long a = 1234567890L;
  3. a=2222222222l;
  4. //十六进制
  5. int b = 0xCAFE;
  6. b=0XA34DF;
  7. //八进制
  8. int c = 010;//8
  9. //二进制
  10. int d =0b1001;
  11. d = 0B1011;
  12. //还可以加给数字字面量加下划线,方便区分,不影响
  13. int e = 0b1111_1001_1010;
  14. //没有F或者f的数字默认是double
  15. float f = 3.14F;
  16. //double可以加D或者d
  17. double g = 6.18d;
  18. System.out.println(Double.POSITIVE_INFINITY); //正无穷大
  19. System.out.println(Double.NEGATIVE_INFINITY);//负无穷大
  20. System.out.println(Double.NaN); //不是一个数字

数据类型转换

image.png

强制类型转换

  1. double a = 100.9;
  2. int b = (int)a; //输出100,这种()的强制转换,会截断小数部分,可能损失精度
  3. long c = 123456789123456L;//long的值超过int的最大值21亿就要在结尾加L
  4. float d = 11.4f;//float要加f
  5. System.out.println(b);

String

String不是基本数据类型,是一个类,引用了类型,java没有字符串类型。但是用String类和字符串一样的用法。
判断字符串相等用

  1. String a = "abc";
  2. String b = "abc";
  3. if(a.equals(b))//判断字符串相等用这个,不能用==,==只能比较两个字符串是否存放在同一个位置上

常量

  1. final String NAME = "张三";
  2. //常量只能被赋值一次,命名用全大写

控制台键盘输入

  1. //导入包
  2. import java.util.Scanner;
  3. public class test1 {
  4. public static void main(String[] args) {
  5. Scanner scan=new Scanner(System.in);
  6. int num = scan.nextInt();//读取控制台输入的int类型的值,当然scan对象有很多方法,可以查看api文档
  7. }
  8. }