Java数据类型和运算符

标识符

作用:

  • 给常量,变量,方法,类取名字
命名规则
  • 必须以字母,_下划线,$ 美元符号开头
  • 其他部分可以和字母,_下划线,$ 和数字任意组合
  • 大小写敏感,长度没有限制
  • 不可以是Java的关键字
  • java驼峰命名法或者见名之意
注意:
  • Java不使用通常语言使用的ascll字符集
  • Java采用unicode这样的标准国际字符集,因此这里的字母的含义:英文,汉语等(不建议使用汉语定义标识符)

关键字/保留字

Java关键字是Java语言保留供内部使用的,如class用于定义类,关键字也可以称之为保留字,他们的意思是一样的

字符集介绍

▪ ASCII – 英文字符集 1个字节
▪ ISO8859-1 – 西欧字符集 1个字节
▪ BIG5 – 台湾的大五码,表示繁体汉字 2个字节
▪ GB2312 – 大陆使用最早、最广的简体中文字符集2个字节
▪ GBK – GB2312的扩展,可以表示繁体中文 2个字节
▪ GB18030 – 最新GBK的扩展,可以表示汉字、维吾尔文、藏文等中华民族字符 2个字节
▪ Unicode – 国际通用字符集 2个字节 ISO8859-1 BIG5 GB2312 unicode utf-8,utf-16 GBK GB18030

常量和变量

常量和变量的定义:
在程序中存在大量的数据来代表程序的状态,其中有些数据在程序运行的过程值会发生变化,有些数据在程序运行的过程中值不能发生变化,这些数据在程序中分别叫做常量和变量
变量举例
在2d游戏中需要用坐标代表人物的位置,则需要两个变量,一个是x坐标,一个是y坐标,在程序的运行的过程中,这两个变量回发生变化
常量举例
-代表常数,便于程序的修改(例如 圆周率的值)
-增加程序的可读性(例如 常量up down left right 代表上下左右,其数值分别为1 2 3 和 4)
在实际的程序中,可以根据数据在程序运行过程中是否发生改变,来选择用常量或者变量
Java是一种强类型语言

  • 常量是有数据类型的
  • 变量必须定义数据类型
  • Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域
  • 变量在使用前必须声明,只有在变量声明以后,才能为其分配相应长度的
  • 存储单元声明格式如下:
    type varname [=value][{varname[=value]}];
    注意事项
    -每个变量都有类型,可以是基本类型也可以是引用类型
    -变量名必须是合法的标识符
    电脑使用内存来记忆计算时所使用的数据,人类使用旅馆来存储外出住宿的人们
    内存中变量好比旅馆房间,内存中的常量好比住旅馆的人
    变量声明
    变量声明举例
    int a;
    long b;
    double c;
    可以将变量的声明和初始化放在一起
    int a = 20;

数据类型

数据类型

  • 基本数据类型:
    整数类型:byte (1个字节)short(2个字节) int(4个字节) long(8个字节)
    浮点类型:float(4个字节) double(八个字节)
    字符型:char(2个字节)
    布尔类型:boolean(1位)
  • 引用数据类型
    类,接口,数组
  • 整型常量
    -十进制整数,如99,500,0
    -八进制整数,要求以0开头,如015
    -十六进制整数,要求0x或者0X开头,如0x11
  • 整型变量
  • 整型常量默认为int类型,声明long类型加l或者L
    浮点型数据类型
  • 浮点类型常量
    十进制形式,例如
    3.14 314.0
    科学技术法形式,例如
    313E2 314e2 321E-2
    double a = 313e2 //31310^2
    double b =314e-2 //314
    10(-2)
  • 浮点型变量
    float:单精度类型,尾数可以精确到7位有效数字,很多情况下不能够满足需求
    double:双精度类型,精度是float类型长度的二倍,大部分应用程序都采用它
    注意:
    浮点数类型默认为double,变为float需要在后面➕f/F
    浮点数存在误差,很多数字不能够精确表示,如果需要进行不产生误差的精度计算,需要用到bigdecimal类
    字符数据类型(2个字节)
  • 单引号用来表示字符常量。例如‘A’是一个字符,它与“A”是不同的, “A”表示含有一个字符的字符串。
  • char 类型用来表示在Unicode编码表中的字符。
  • Unicode编码被设计用来处理各种语言的所有文字,它占2个字节, 可允许有65536个字符;ASCII码占1个字节,可允许有128个字符 (最高位是0),是Unicode编码表中前128个字符。
  • Java 语言中还允许使用转义字符 ‘\’ 来将其后的字符转变为其它的 含义,char c2 = ‘\n’; //代表换行符
  • char类型在内存中存储的是该字符的Unicode编码值,所以char类 型可以当做int类型来处理
    布尔数据类型(占用一位,不是一个字节)
    布尔类型有俩个值,true和false
    布尔类型可以作为逻辑判断条件,一般用于流程控制程序
    实践
    请不要这样写:if ( is == true && done == false ) ,只有新手才那么写。 对于任何程序员 if ( is&& !done ) 都不难理解吧。所以去掉所有的 ==fasle 和 ==true。

运算符

▪ Java 语言支持如下运算符:

  • 算术运算符: +,-,*,/,%,++,–
  • 赋值运算符 =
  • 扩展赋值运算符:+=,-=,*=,/=
  • 关系运算符: >,<,>=,<=,==,!=
  • 逻辑运算符: &&,||,!
  • 位运算符: &,|,^,~ , >>,<<,>>> (了解!!!)
  • 条件运算符 ?:
    ▪注意:
    • :/ 除 6/4=1 6/4.0=1.5
    • : %取模(求余) 6%4=2
    • :+ 6+‘a’=103. 6+“a“=6a
    • :++
    • a=2;b=++a+“9”;
    • a=2;b=a+++“9”;
    • +:字符串相加,只要有一个 操作数是字符串,自动变为字 符串相连

算术运算符

▪二元运算符类型提升:
–整数运算:
▪如果两个操作数有一个为Long, 则结果也为long
▪没有long时,结果为int。即使操作数全为shot,byte,结果也是int.
–浮点运算:
▪如果两个操作数有一个为double, 则结果为double.
▪只有两个操作数都是float, 则结果才为float.
▪一元运算符(++, --):
int a = 3; int b = a++; //执行完后,b=3。先给b赋值,再自增。
int c = ++a; //执行完后,c=5。先自增,再给b赋值
赋值运算符
▪ 基本赋值运算符
▪ 扩展赋值运算符
– 算术运算符和赋值运算符结合
关系运算符
▪ 关系运算符用来进行比较运算
▪ 关系运算的结果是布尔值:true/false
▪ 注意
– 区分==和=
– 不等于是!=不是<>
逻辑运算符
▪ 逻辑运算符与布尔操作数一起使用,组成逻辑表达式
▪ 逻辑表达式的结果是布尔值
▪ &和&&的区别

  • “&”:无论任何情况,“&”两边的表达式都会参与算
  • “&&”: 当“&&”的左边为false,则将不会计算其右边的表达式。即左false则false
  • “|”和“||”的区别与“&”和“&&”的区别类似。

基本数据类型的类型转换

在赋值运算或算术运算时,要求数据类型相同,否则要进行类型的转换
转换方式

  • 自动转换:小类型向大类型转换时
  • 强制类型转换:大类型向小类型转换时
    注意
  • 除了布尔类型,所有基本数据类型因为各自的精度不同,赋值时都要考虑这个问题
  • 除了布尔类型,基本数据类型包括整型,浮点型,字符型
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值