关键字和保留字关键字

关键字是被赋予了特殊含义的字符串,不能有其他用途,关键字中所有的字母都小写

比如:class用来描述类,public是公共的

abstract

assert

boolean

break

byte

case

catch

char

class

const

continue

default

do

double

else

enum

extends

final

finally

float

for

goto

if

implements

import

instanceof

int

interface

long

native

new

package

private

protected

public

return

strictfp

short

static

super

switch

synchronized

this

throw

throws

transient

try

void

volatile

while

保留字

暂时并没有对其赋予特殊含义,但是将来可能会变为关键字使用,比如:goto、const

标识符

Java对各种变量、方法和类等要素命名时使用的字符序列称为标识符,其实就是可以自己起名的地方就都是标识符

标识符规则

一下字符哪些是合法的标识符:

miles, Test, a , --a, 4#R, $4, #44, apps, class, public, int, x, y, radius

命名规范变量

内存中一块存储区域,该区域的数据可以在同一个数据类型范围内不断变化,变量是程序中最基本的存储单元,包含数据类型,变量名和变量值,变量的作用:就是用来存储数据

变量的特点变量声明

/* 语法:数据类型 变量名; 例如:声明一个年龄 int:就是数据类型,表示一个整数 age:变量名,就是一个标识符,表示年龄 */ int age; /* 变量赋值 语法:变量名 = 值; */ age = 10; /* 变量声明带赋值 语法:数据类型 变量名 = 初始化值; String:表示描述字符串 name:变量名表示名字 "添甄":为变量的当前值,字符串需要使用双引号【""】包裹 */ String name = "添甄";

通过以上案例,可以画一张内存图,以便理解

java的八种基本数据类型(Java中的变量数据类型)(1)

案例

比如我们声明变量存储一个人的信息,则人的信息包含姓名,性别,年龄,则我们需要声明三个变量

public class Person { public static void main(String[] args) { // 姓名,字符串使用String描述 String name = "添甄"; // 性别,字符使用char描述 char sex = '男'; // 年龄,整数使用int描述 int age = 16; } }

数据类型

数据类型用来声明变量,程序在运行过程中个根据不同数据类型分配不同大小的空间,使用不同的数据类型来存储不同类型的数据

数据类型分类

Java分为8种基本数据类型和3种引用数据类型

基本数据类型

数据类型

关键字

内存占用

取值范围

布尔类型

boolean

1个字节 = 8bit位

true,false

短整型

short

2个字节

-32768 ~ 32767

整型

int(默认)

4个字节

-2 的 31 次方 ~ 2 的31次方的-1

长整型

long

8个字节

-2 的 63 次 方 ~ 2 的63次方-1

字节型

byte

1个字节

-128 ~ 127

字符型

char

2个字节

0 ~ 65535

单精度浮点型

float

4个字节

1.4013E - 45 ~ 3.4028E 38

双精度浮点型

double(默认)

8个字节

4.9E - 324 ~ 1.7977E 308

存储单位转换:

1MB = 1024KB

1KB= 1024B

1B= 8bit

bit是计算中最基本的存储单元,也就是一位,bit有0和1两个值,8个bit组成一个Byte,为最小存储单位

引用数据类型

字符串属于类,也就是引用数据类型,我们经常使用字符串,所以导致很多初学者认为字符串是基本数据类型

整型

Java各整数类型有固定的表数范围和字段长度,不受具体操作系统的影响,以保证java程序的可移植性

Java的整型常量默认为 int 型,声明long型常量须后加'l'或'L'

Java程序中变量通常声明为int型,除非不足以表示较大的数,才使用long

byte b = 127; short s = 1000; int i = 2000; long l = 3000l;

浮点型

与整数类型类似,Java 浮点类型也有固定的表数范围和字段长度,不受具体操作系统的影响。

浮点型常量有两种表示形式:

Java的浮点型常量默认为double型,声明float型常量,须后加'f'或'F'。

double d = 52.1; float f = 52.1f;

字符型

char型数据用来表示字符,占用内存为(2字节),Java中的所有字符都使用Unicode编码,故一个字符可以存储一个字

母,一个汉字,或其他书面语的一个字符,注意只能存储一个符号

三种表现形式

char类型是可以进行运算的。因为它都对应有Unicode码。

char c1 = 'a'; char c2 = '中'; char c3 = '\n'; // 参与运算,1为int类型,与char类型计算之后会类型提升,需要使用int类型接收计算后的值 // 计算时会将c4的值即 b 通过 ASCII 码表转换为数字98, 1后的结果为 99 char c4 = 'b'; int c5 = c4 1; System.out.println(c5);

布尔型

boolean 类型用来判断逻辑条件,一般用于程序流程控制:

boolean类型数据只允许取值true和false,无null

码表

世界上有很多种编码格式,同一个字符比如"添",根据不同的码表可以翻译成不同的二进制数字,也就是不同的0和1的组合,这里有两个概念编码解码。

编码:数据存储进计算机中需要转换为二进制存储,这个过程就是编码

解码:计算机读取数据,展示在页面上,需要将二进制转换为人类语言的过程,叫做解码

乱码:如果编码和解码时使用的码表不一样,就会产生乱码

码表:就是将人类可以看懂的数据格式转换成计算机能够认识的二进制形式的参考表,称为码表,第一个码表从美国诞生,再到各国都研发属于自己语言的码表,乱七八糟的,后来ISO统一了码表,现在码表有很多种。

常见码表

ASCII:美国信息互换标准代码,是一套基于拉丁字母的字符编码,共收录了 128 个字符,用一个字节就可以存储,它等同于国际标准 ISO/IEC 646,但是不能表示所有字符

ISO-8859-1:单字节编码,向下兼容ASCII,其编码范围是0x00-0xFF,0x00-0x7F之间完全和ASCII一致,0x80-0x9F之间是控制字符,0xA0-0xFF之间是文字符号。

此字符集支持部分于欧洲使用的语言,包括阿尔巴尼亚语、巴斯克语、布列塔尼语、加泰罗尼亚语、丹麦语、荷兰语、法罗语、弗里西语、加利西亚语、德语、格陵兰语、冰岛语、爱尔兰盖尔语、意大利语、拉丁语、卢森堡语、挪威语、葡萄牙语、里托罗曼斯语、苏格兰盖尔语、西班牙语及瑞典语。

Unicode :统一码,也叫万国码,是计算机科学领域里的一项业界标准,包括字符集、编码方案等。Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。

GBK:汉字内码扩展规范,GBK即“国标”、“扩展”汉语拼音的第一个字母,英文名称:Chinese Internal Code Specification ,中华人民共和国全国信息技术标准化技术委员会1995年12月1日制订,国家技术监督局标准化司、电子工业部科技与质量监督司1995年12月15日联合以技监标函1995 229号文件的形式,将它确定为技术规范指导性文件。2000年已被GB18030-2000《信息交换用 汉字编码字符集 基本集的扩充》国家强制标准替代。 [2] 2005年GB18030-2005发布,替代了GB18030-2000。

UTF-8:8位元,Universal Character Set/Unicode Transformation Format,是针对Unicode的一种可变长度字符编码。它可以用来表示Unicode标准中的任何字符,而且其编码中的第一个字节仍与ASCII相容,使得原来处理ASCII字符的软件无须或只进行少部分修改后,便可继续使用。因此,它逐渐成为电子邮件、网页及其他存储或传送文字的应用中,优先采用的编码。

,