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。
java程序的编译过程
命令行程序入口
public static void main(String[] args)
{
//格式是固定的
}
注释
//1. 单行注释
/*
* 2.
* 这是
* 多行注释
* */
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字节 |
//长整型后面可以跟大小写L表示
long a = 1234567890L;
a=2222222222l;
//十六进制
int b = 0xCAFE;
b=0XA34DF;
//八进制
int c = 010;//8
//二进制
int d =0b1001;
d = 0B1011;
//还可以加给数字字面量加下划线,方便区分,不影响
int e = 0b1111_1001_1010;
//没有F或者f的数字默认是double
float f = 3.14F;
//double可以加D或者d
double g = 6.18d;
System.out.println(Double.POSITIVE_INFINITY); //正无穷大
System.out.println(Double.NEGATIVE_INFINITY);//负无穷大
System.out.println(Double.NaN); //不是一个数字
数据类型转换
强制类型转换
double a = 100.9;
int b = (int)a; //输出100,这种()的强制转换,会截断小数部分,可能损失精度
long c = 123456789123456L;//long的值超过int的最大值21亿就要在结尾加L
float d = 11.4f;//float要加f
System.out.println(b);
String
String不是基本数据类型,是一个类,引用了类型,java没有字符串类型。但是用String类和字符串一样的用法。
判断字符串相等用
String a = "abc";
String b = "abc";
if(a.equals(b))//判断字符串相等用这个,不能用==,==只能比较两个字符串是否存放在同一个位置上
常量
final String NAME = "张三";
//常量只能被赋值一次,命名用全大写
控制台键盘输入
//导入包
import java.util.Scanner;
public class test1 {
public static void main(String[] args) {
Scanner scan=new Scanner(System.in);
int num = scan.nextInt();//读取控制台输入的int类型的值,当然scan对象有很多方法,可以查看api文档
}
}