数据类型和运算符

本文详细介绍了Java中的数据类型,包括进制转换、数据存储单位、计数范围和字符编码。此外,还讨论了标识符和变量的规则、八大基本数据类型以及算术、关系和逻辑运算符。特别地,讲解了不同类型之间的自动和强制类型转换,强调了类型转换可能导致的数据精度损失和溢出问题。
摘要由CSDN通过智能技术生成

目录

一、进制及其转换

1.1进制类型

1.2计算机为什么使用二进制

1.3进制转换

二进制转十进制

十进制转二进制

1.4计算机数据存储单位

位 bit

字节 byte=8bit

字符  

KB、MB、GB、TB

1.5计数范围

符号位

字节 byte表示的数的范围

字符表示的数的范围

1.6 字符集和字符编码

常见的字符集和字符编码

二、标识符和变量

2.1 标识符

标识符需要遵守一定的规则: 

2.2 关键字

2.3 常量和变量

常量变量定义

变量举例:

常量举例

变量的声明

常量的声明

常量和变量的命名规范:

三、八大基本数据类型

3.1 数据类型

3.2 整数数据类型

3.3 浮点数据类型

3.4 字符数据类型

3.5 布尔数据类型

四、运算符

4.1.算术运算符

二元运算符的运算规则:

4.2.拓展运算符

4.3.关系运算符

4.5.逻辑运算符

4.6.运算符的优先级别

4.7.条件运算符

五、基本数据类型的类型转换

1.什么是类型转换

2.类型转换的类型

基本数据类型的类型转换:

引用数据类型的类型转换:

3.自动类型转换

4.强制类型转换


一、进制及其转换

1.1进制类型

十进制:人类使用    

二进制:计算机使用

八进制和十六进制:为了更好的表示二进制(缩短二进制长度)

1.2计算机为什么使用二进制

  1. 物理上容易实现,可靠性强;
  2. 运算简单
  3. 便于进行逻辑运算。

二进制,是计算技术中广泛采用的一种数制,由德国数理哲学大师莱布尼茨于1679年发明。二进制数据是用0和1两个数码来表示的数。它的基数为2,进位规则是“逢二进一”。

数字计算机只能识别处理由‘0’.‘1’符号串组成的代码。其运算模式正是二进制。

二进制对应两种状态,广泛应用于电子科学。比如:可以对应电子器件的开关状态、对应信号电压状态(+5V等价于逻辑"1",0V等价于逻辑"0")、对应卡带是否打孔状态、电磁存储(磁体状态:南为0,北为1)等等。

二进制广泛应用于我们生活的方方面面。比如,广泛使用的摩尔斯电码,它由两种基本信号组成:短促的点信号“·”,读“滴”;保持一定时间的长信号“—”,读“嗒”。然后,组成了26个字母,从而拼写出相应的单词。

1.3进制转换

二进制转十进制

二进制转十进制采用“权相加法”。

 

十进制转二进制

十进制整数转换为二进制整数采用"除2取余,逆序排列"法。

 

1.4计算机数据存储单位

位 bit

        最小值 0

        最大值 1

        表示的数的范围 0-1(21-1)

字节 byte=8bit

        最小值 00000000   

        最大值 11111111

        表示的数的范围  0-255(28-1)

字符  

        表示的数的范围0-65535(2^16-1)

KB、MB、GB、TB

        1Byte=8bit

        1KB = 1024Byte ≈103Byte

        1MB = 1024KB ≈ 106Byte

        1GB = 1024MB ≈ 109Byte

        1TB = 1024GB ≈ 1012Byte 

1.5计数范围

符号位

二进制数如何表示正数和负数呢?

使用最高位作为符号位,0代表正数,1代表负数;其余数位用作数值位,代表数值。

字节 byte表示的数的范围

无符号数:0-255(28-1)     256个数

有符号数:-128(-27)--127(27-1)  还是256个数

字符表示的数的范围

无符号数 0-65535(216-1)   65536个数

有符号数 -32768(-215)-----32767(215-1)  还是65536个数

1.6 字符集和字符编码

计算机中储存的信息都是用二进制数表示的;而我们在屏幕上看到的英文、汉字等字符是二进制数转换之后的结果。通俗的说,按照何种规则将字符存储在计算机中,如'a'用什么表示,称为"编码";反之,将存储在计算机中的二进制数解析显示出来,称为"解码",如同密码学中的加密和解密。在解码过程中,如果使用了错误的解码规则,则导致'a'解析成'b'或者乱码。

字符集(Charset):是一个系统支持的所有抽象字符的集合。字符是各种文字和符号的总称,包括各国家文字、标点符号、图形符号、数字等。

字符编码(Character Encoding):是一套法则,使用该法则能够对自然语言的字符的一个集合(如字母表或音节表),与其他东西的一个集合(如号码或电脉冲)进行配对。即在符号集合与数字系统之间建立对应关系,它是信息处理的一项基本技术。通常人们用符号集合(一般情况下就是文字)来表达信息。而以计算机为基础的信息处理系统则是利用元件(硬件)不同状态的组合来存储和处理信息的。元件不同状态的组合能代表数字系统的数字,因此字符编码就是将符号转换为计算机可以接受的数字系统的数,称为数字代码。

常见的字符集和字符编码

ASCII (阿寺克)

  • ASCII ((American Standard Code for Information Interchange): 美国信息交换标准代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言。它是最通用的信息交换标准,到目前为止共定义了128个字符。每个字符用1个字节表示。
  • 0~31及127(共33个)是控制字符或通信专用字符(其余为可显示字符),如控制符:LF(换行)、CR(回车)、DEL(删除)、BS(退格)等
  • 32 空格
  • 48~57为0到9十个阿拉伯数字。
  • 65~90为26个大写英文字母
  • 97~122号为26个小写英文字母

ISO-8859-1      ISO-8859-*

  •  Latin-1,是西欧常用字符,包括德法两国的字母
  •  1个字节 8bit,兼容ASCII码

GB2312

  • 大陆使用最早、最广的简体中文字符集;兼容ASCII编码
  • 每个汉字用2个字节表示 16bit  65536

GBK

  • GB2312的扩展,可以表示繁体中文
  • 一个汉字用 2个字节表示

GB18030

  • GBK的扩展,最新的规范,不仅可以表示汉字、还可以表示维吾尔文、藏文等多个少数民族的字符
  • 一个字符用 2个字节表示

BIG5

  • 台湾的大五码,表示繁体汉字  2个字节

Unicode  ----UTF-8  UTF-16

  • 统一码、万国码、单一码 通常认为一个字符占用2个字节
  • 为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求国际通用字符集。
  • 目前的Unicode字符分为17组编排,0x0000 至 0x10FFFF,每组称为平面(Plane),而每平面拥有65536个码位,共1114112个。然而目前只用了少数平面。第0平面(BMP)最为重要。
  • Unicode 编码共有三种具体实现,分别为utf-8,utf-16,utf-32,其中utf-8占用一到四个字节,utf-16占用二或四个字节,utf-32占用四个字节

ANSI:

  • 并不是某一种特定的字符编码,而是在不同的系统中,ANSI表示不同的编码。
  • 在简体中文Windows操作系统中,ANSI 代表 GBK 编码;在繁体中文Windows操作系统中,ANSI代表Big5;在日文Windows操作系统中,ANSI 代表 Shift_JIS 编码。

二、标识符和变量

2.1 标识符

(只要需要我们命名的东西就是标识符)标识符是用来给变量、类、方法以及包进行命名的,如Welcome、main、System、age、name、gender等。

标识符需要遵守一定的规则: 

  1. 标识符可以是字母、下划线“_”、美元符“$”和数字的任意组合,但是不能用数字开头。
  2. Java 标识符大小写敏感,且长度无限制。
  3. 标识符不可以是Java的关键字。

标识符的使用规范

  1. 表示类名的标识符:首字母大写  每个单词的首字母大写,如Man, GoodMan(大驼峰
  2. 表示方法和变量的标识符:第一个单词小写,从第二个单词开始首字母大写,我们称之为“驼峰原则”,如eat(), eatFood()(小驼峰

Java不采用通常语言使用的ASCII字符集,而是采用Unicode这样标准的国际字符集。因此,这里字母的含义不仅仅是英文,还包括汉字等等。但是不建议大家使用汉字来定义标识符!

字母开头,数字放后面  别用空格 特殊符号只能用_$

类名首字母大小,其他的首字母小写

合法的标识符:   

int  a = 3;

int  _123 = 3;

int  $12aa = 3;

int  变量1 = 55;  //不建议使用中文命名的标识符

不合法的标识符:

int  1a = 3;   //不能用数字开头

int  a# = 3;   //不能包含#这样的特殊字符

int  int = 3;  //不能使用关键字

2.2 关键字

Java关键字是Java语言保留供内部使用的,如class用于定义类。 关键字也可以称为保留字,它们的意思是一样的,我们不能使用关键字作为变量名或方法名。

Java中的关键字/保留字

abstract

assert

boolean

break

byte

case

catch

char

class

const

continue

default

do

double

else

extends

final

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值