标签:必须 jvm top 自动 extends 规则 除了 存储 依次
1、关于编译型和解释型语言:
如果从编程语言的角度而言,应该分为两种:
(1)编译型:学习过C语言的同学应该知道,编译之后会出现一个*.exe文件,供用户
使用。
(2)解释型:像ASP语言那样,直接将代码放到服务器上进行解释执行。
所有的Java程序文件的后缀都应该是“*.java",而任何一个*.java程序首先必须经过编译,编译之后会形成一个*.class的文件(字节码文件),而后在计算机上执行,但是解释程序的计算机并不是一台真正意义上的计算机,而是一台由软件和硬件模拟出来的计算机—Java虚拟机(Java Virtual Machine. JVM)。
在Java中,所有的程序都是在Java虚拟机上运行的。Java虚拟读取并处理经编译过的与平台无关的字节码class文件。Java解释器负责将Java虚拟机的代码在特定的平台上运行。
2、
在程序中用于定义名称的都为标识符,如文件名称、类名称、方法名称或变量名称等,在
Java中标识符的定义格式由字母、数字、_(下划线),$所组成,不能以数字开头,不能是Java中的关键字,而且每一个标识符都要有自己的意义,如StudentName,表示的是学生姓名。
注意:标识符区分大小写。
在定义标识符时是有大小写区别存在的,如ORACLE,oracle,ORAcle等,虽然表示的单词一样,但都属于不同的标识符。
提示:标识符编写的简单建议。
一些刚接触编程语言的读者可能会觉得记住上面的规则很麻烦,所以在这里提醒读者,标识符最好永远用字母开头,而且尽量不要包含其他的符号。
和其他语言一样,Java中也有许多关键字作为特殊的标记使用,如public. static等,这些
关键字不能当作标识符使用。在程序开发中一旦使用了这些关键字做标识符时,编辑器会自动提示错误。由于说法的不同,一些技术书上会将关键字称为保留字。
Java中的关键字
abstract |
assert |
boolean |
break |
byte |
case |
catch |
char |
class |
continue |
const |
default |
do |
double |
else |
extends |
enum |
final |
finally |
float |
for |
goto |
if |
implements |
import |
instanceof |
int |
interface |
long |
native |
new |
package |
private |
protected |
public |
return |
short |
static |
synchronized |
super |
strictfp |
this |
throw |
throws |
transient |
try |
void |
volatile |
while |
3、
变量是内存中的小容器,用来存储数据。那么计算机内存是怎么存储数据的呢?无论是内存还是硬盘,计算机存储设备的最小信息单元叫“位(bit)”,我们又称之为“比特位”,通常用小写的字母b表示。而计算机最小的存储单元叫“字节(byte)”,通常用大写字母B表示,字节是由连续的8个位组成。
当程序需要使用存储空间时,操作系统最小会分派给程序1个字节,而不是1个位。你可能会说,如果程序只需要1个位的空间,系统分派不能只分派1个位吗?答案是不能!这就像你只需要1支烟,你到商店去买烟,商店分派的最小单元是1盒(20支),他不可能卖给你1支烟。
你可能会想,1个字节(8位)可以存储很大的数值了,1位最大是9那么8位最大值为99999999。你错了,因为计算机是采用二进行存储的,而不是我们生活中常用的十进制。所以1个字节存储的最大数据是11111111的二进制数。
除了字节外还有一些常用的存储单位,大家可能比较熟悉,我们一起来看看:
1B(字节) = 8bit
1KB = 1024B
1MB = 1024KB
1GB = 1024MB
1TB = 1024GB
1PB = 1024TB
4、基本类型之4类8种
大衣柜不能用来装载水,水杯也不能用来装载衣裤。这说明不同的容器装载不同的物品。变量也是如此,在创建变量时需要指定变量的数据类型,例如整型变量、浮点型变量等等。结论:变量必须要有明确的类型,什么类型的变量装载什么类型的数据。
水杯是用来装水的,那么水杯能装多少水呢?一吨?我们知道水杯在创建时不只确定了要装载的是水(数据类型),而且还确定了能装多少水(数据类型的具体种类)。变量也是如此,需要指定变量能装载什么类型的数据,同时也要指定变量能装载多大的数据。
Java中基本类型一共4类,把这4类展开后共8种基本类型。我们今后编写程序时使用的是这8种基本类型而不是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 |
5、常量与类型
前面我们说过100是整数常量,但它是byte、short、int、long中的哪一种呢?下面我们来聊聊这一常量类型的问题。
整数常量可以根据所在范围来确定类型,例如100在-128~127之间,所以他是byte类型;500在-32768~32767之间,所以它是short类型;100000在-2147483648~2147483648之间,所以它是int类型。java中默认的整数类型是int类型
你可能会认为12345678901在-263~263-1之间,所以它是long类型。注意了,这是错误的!!!在Java中整数常量如果不在-2147483648~2147483648之间就必须添加“L”后缀(小写的也可以,但建议使用大写),在-2147483648~2147483648之间的也可以添加“L”后缀。也就是说12345678901不在-2147483648~2147483648之间,所以它在Java中是错误的常量,你必须这样写:12345678901L,这才是正确的常量。所以添加了“L”后缀的整数常量都是long类型的,例如:100L、12345678901L都是long类型的常量。
浮点类型的常量也可使用后缀,在Java中所有没有后缀以及使用“D”后缀(小写也可以,但建议使用大写)的小数都是double类型;float类型常量必须添加“F”后缀(小写也可以,但建议使用大写)java中默认的浮点类型是double类型
l 3.14没有后缀,所以它是double类型;
l 5.28D为double类型;
l 1.26F为float类型。
6、
定义变量的语法格式:
数据类型 变量名 = 数据值;
int a = 100;
其中int是数据类型,指定了变量只能存储整数,而且指定了存储范围为-2147483648~2147483648。
其中a表示变量名,变量名是标识符,这说明只要是合法的标识符都可以用来做变量名。在程序中可以通过变量名来操作变量(内存中的小盒子)。
其中“=100”是给变量赋值,即向a变量中写入100(变量是个小盒子,现在小盒子中保存的是100)。注意,给变量赋的值一定要与类型符合,也就是说int类型只能存储整数,而且必须是在-2147483648~2147483648范围内的整数。100满足了这两个条件,所以是正确的。
7、数据类型转换
不同类型的变量是否可以在一起运算呢?答案是可以的,但要先进行类型转换再运算。下面我们来学习一下类型转换。
其实,我们所学习的数据,它的表示方式是可以灵活多变的,比如把小数转换成整数的操作
转换的过程中,数据遵循一个原则:
范围小的数据类型值(如byte),可以直接转换为范围大的数据类型值(如int);
范围大的数据类型值(如int),不可以直接转换为范围小的数据类型值(如byte)
那么,大家还记得每种类型表示数据的范围吗?忘记了不要紧,我来告诉大家,将各种数据类型按照数据范围从小到大依次列出:
byte -> short -> int -> long -> float -> double
关于数据类型转换有两种方式,我们来学习一下:
l 自动类型转换
表示范围小的数据类型转换成范围大的数据类型,这种方式称为自动类型转换
自动类型转换格式:
范围大的数据类型 变量 = 范围小的数据类型值;
如:
double d = 1000;
或
int i = 100;
double d2 = i;
l 强制类型转换
表示范围大的数据类型转换成范围小的数据类型,这种方式称为强制类型转换
强制类型转换格式:
范围小的数据类型 变量 = (范围小的数据类型) 范围大的数据类型值;
如:
int i = (int)6.718; //i的值为6
或
double d = 3.14;
int i2 = (int)d; //i2的值为3
标签:必须 jvm top 自动 extends 规则 除了 存储 依次
原文地址:https://www.cnblogs.com/LNH2019/p/13182998.html