jDK和JRE的关系和区别。
l JDK:它是Java开发运行环境,在程序员的电脑上当然要安装JDK;
l JRE:Java Runtime Environment它是Java运行环境,如果你不需要开发只需要运行Java程序,那么你可以安装JRE。例如程序员开发出的程序最终卖给了用户,用户不用开发,只需要运行程序,所以用户在电脑上安装JRE即可。
l JDK包含了JRE。
跨平台特性
l 平台指的是操作系统 (Windows,Linux,Mac)。
l Java程序可以在任意操作系统上运行,一次编写到处运行
l 实现跨平台需要依赖Java的虚拟机 JVM (Java Virtual Machine)
编写的程序大致如下
1. 源文件:编写Java源文件(我们也称之为源代码文件),它的扩展名为.java;
2. 编译:然后通过编译器把源文件编译成字节码文件,字节码文件扩展名为.class;
3. 运行:最后使用解释器来运行字节码文件。
在编译时,编译器会忽略注释的存在,就好像注释内容不存在一样。所以注释并不会导致编译出错,同时注释还方便编写者和其他人阅读源代码,加强对代码的理解。
l 单行注释 //注释内容
l 多行注释 /*注释内容*/
文档注释 /**注释内容*/
关键字是被Java语言赋予特殊含义,具有专门用途的单词,比如之前接触的class,public,static,void均为Java已经预设好的。你可以先把Java关键字理解为“命令”!
所有的名称都统称为标识符。Java中经常要定义类、方法、变量(后面会学习到),在定义他们时总要给它们起名字,这些名字就是标识符。
组成元素
l 英文字符: a-zA-Z
l 数字: 0-9
l 符号: _与$
标识符规则
l 数字不能开头
l 不可以使用关键字
l 严格区分大小写,不限制长度起名时,尽量达到见名知意
基本数据类型是Java语言中内置的类型,分别是整数类型、小数类型、字符类型、布尔类型。这四类基本类型是最简单、最基础的类型。
引用数据类型是强大的数据类型,它是基于基本数据类型创建的。JavaSE中提供了一个超级类库,类库中包含了近万种引用数据类型。
常量就是不变的数据量 例:π
计算机存储设备的最小信息单元叫“位(bit)”,我们又称之为“比特位”,通常用小写的字母b表示。而计算机最小的存储单元叫“字节(byte)”,通常用大写字母B表示,字节是由连续的8个位组成。
变量必须要有明确的类型,什么类型的变量装载什么类型的数据。
Java中基本类型一共4类,把这4类展开后共8种基本类型。
四类 |
八种 |
字节数 |
数据表示范围 |
整型 |
byte |
1 |
-128~127 |
|
short |
2 |
-32768~32767 |
|
int |
4 |
-2147483648~2147483648 |
|
long |
8 |
-263~263-1 |
浮点型 |
float |
4 |
-3.403E38~3.403E38 |
|
double |
8 |
-1.798E308~1.798E308 |
字符型 |
char |
2 |
表示一个字符,如('a','A','0','家') |
布尔型 |
boolean |
1 |
只有两个值true与false |
Java中整数常量如果不在-2147483648~2147483648之间就必须添加“L”后缀
在-2147483648~2147483648之间的也可以添加“L”后缀。
也就是说12345678901不在-2147483648~2147483648之间,所以它在Java中是错误的常量,
你必须这样写:12345678901L,这才是正确的常量。所以添加了“L”后缀的整数常量都是long类型的,
例如:100L、12345678901L都是long类型的常量。
java中默认的整数类型是int类型
java中默认的浮点类型是double类型
添加了“L”后缀的整数常量都是long类型的float类型常量必须添加“F”后缀
3.14没有后缀,所以它是double类型;
++,--前置(如++a),当参与运算时,变量a的值先自增1,然后用自增后的新值再参与运算;
++,--后置(如a++),当参与运算时,变量a先使用原有值参与运算符,变量a的值再自增1。
+=,-,*=,/=这样的赋值运算符包含了一个强制转换的操作,会将左右两边运算后的结果,强制类型转换后赋值给左边
逻辑与& 和逻辑短路与&&:代表着并且的意思,左右两边都要条件成立,结果才为true;
逻辑或| 和逻辑短路或||:代表着或者的意思,左边两边有一个条件成立,结果就为true;
逻辑非!:代表着相反的意思,原先是false,结果就为true;原先是ture,结果就为false;
逻辑异或^: 左右两边条件结果相同,结果就为false,左右两边条件结果不同,结果就为true;
三元运算符
根据判断条件运算结果,执行不同的表达式值;条件为true,执行表达式1,否则,执行表达式2。
(条件表达式)?表达式1:表达式2;