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的数字默认是doublefloat f = 3.14F;//double可以加D或者ddouble 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亿就要在结尾加Lfloat d = 11.4f;//float要加fSystem.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文档}}
