java第二天
·标识符
·常量和变量
·数据类型----整型 浮点型 字符型 布尔型
·运算符
----算术运算符 赋值运算符 关系运算符
逻辑运算符 位运算符 条件运算符
·基本数据类型的类型转换
·自动类型转换
·强制类型转换
标识符
作用:常量,变量,方法,类和包等的名称。
命名规则:1.只能以字母,数字,_下划线和美元符$组成
2.不能以数字开头
3.区分大小写,长度无限制
4.不能和Java的关键字相同
注:Java采用unicode这样的标准的国际字符集。因此,这里的字母的含义:英文、汉字,韩文等等都可以。(不建议大家使用汉字来定义标识符!)
字符集简介
ASCII
英文字符集 1个字节
ISO8859-1
西欧字符集 1个字节
BIG5
台湾的大五码,表示繁体汉字 2个字节
GB2312
大陆使用最早、最广的简体中文字符集 2个字节
GBK
GB2312的扩展,可以表示繁体中文 2个字节
GB18030
最新GBK的扩展,可以表示汉字、维吾尔文、藏文等中华民族字符 2个字节
Unicode
国际通用字符集 2个字节
常用ASCLL和Unicode编码
常量和变量
常量变量定义
----在程序中存在大量的数据来代表程序的状态,其中有些数据在程序的运行过程中值会发生改变,有些数据在程序 运 行过程中值不能发生改变,这些数据在程序中分别被叫做变量和常量。
Java是一种强类型语言
常量是有数据类型的
变量都必须声明其数据类型
Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。
变量在使用前必须对其声明, 只有在变量声明以后,才能为其分配相应长度的存储单元,声明格式为:
type varName [=value] [{,varName[=value]}] ;
数据类型
整型常量的3种表示形式:
1、十进制整数:99,-100,0
2、八进制整数:要以0开头,如015
3、十六进制整数:以0x开头,如0x15
整形变量、
Byte 一个字节, 8位, 有符号 范围是-2^7-2^7-1;无符号范围2^8-1
Short 两个字节,16位, 有符号范围 -32768~32767之间的任意整数
Int 四个字节,32位,带符号整数 -2^31到2^31-1之间的任意整数
Long 八个字节,64位, 带符号整数 -2^63到2^63-1之间的任意整数
单引号用来表示字符常量。例如‘A’是一个字符,它与“A”是不同的,“A”表示含有一个字符的字符串。
char 类型用来表示在Unicode编码表中的字符。
Java 语言中还允许使用转义字符 ‘\’ 来将其后的字符转变为其它的含义,
char c2 = '\n'; //代表换行符
整型常量默认为int型 声明long型常量可以后加‘ l ’或‘ L ‘(建议使用大写,小写容易误认为数字1)
浮点常量默认为double 要变为float,需在后面增加F/f
浮点型变量
float类型:单精度类型,7-8位有效数字,在很多情况下,float类型的精度很难满足需求。
double类型:双精度类型 精度是float类型的两倍15-16,绝大部分应用程序都采用double类型。
boolean类型有两个值,true和false
boolean 类型用来判断逻辑条件,一般用于程序流程控制
final常量
使用final修饰的变量,只能被初始化一次,变成了常量
命名规则:
常量:字母都大写,两个以上但此时用下划线连接
方法,变量:首字母小写加驼峰式
包名:都小写
类名:首字母大写加驼峰式
运算符
算数运算符(7):+ - * / % ++ --
关系运算符(6):== != > >= < <=
逻辑运算符(6):&& || ! ^ & |
位运算符(7):& | ~ ^ >> << >>>
一:算数运算符:
注:算数运算符操作数必须是数值类型。
分为一元运算符和二元运算符;
一元运算符,只有一个操作数;
二元运算符有两个操作数,运算符在两个操作数之间。
一元运算符:正‘+’,负‘-’,自加‘++’,自减‘--‘这四个。
二:关系运算符:
关系运算符用于比较两个数值之间的大小,其运算结果为一个逻辑类型(boolean布尔类型)的数值。
等于'==',不等于'!=',大于'>',大于等于'>=',小于'<',小于等于'<='
三:逻辑运算符:
逻辑运算符要求操作数的数据类型为逻辑型,其运算结果也是逻辑型值。
逻辑运算的数据和逻辑运算符的运算结果是boolean类型。
逻辑与'&&',逻辑或'||',逻辑非'!',逻辑异或'^',逻辑与'&',逻辑或'|'
四:位运算符:
位运算是以二进制位为单位进行的运算,其操作数和运算结果都是整型值。
位与'&',位或'|',位非'~',位异或'^',右移'>>',左移'<<',0填充的右移'>>>'
位运算的位与'&',位或'|',位非'~',位异或'^'与逻辑运算的相应操作的真值表完全相同,其差别只是位运算操作的操作数和运算结果都是二进制整数,而逻辑运算相应操作的操作数和运算结果都是逻辑值boolean型。
右移是将一个二进制数按指定移动的位数向右移位,移掉的被丢弃,左边移进的部分或者补0(当该数为正时),或者补1(当该数为负时)。这是因为整数在机器内部采用补码表示法,正数的符号位为0,负数的符号位为1。
将一个数左移"<<"会使该值乘以2的幂。 将一个数右移>>"会使该值除以2的幂。 右移(补零)运算符,即无符号右移,">>>"永远不会产生负号,因为其符号位总是被补零。 不论被移动数是正数还是负数,左边移进的部分一律补0。
赋值运算符 =扩展赋值运算符:+=,-=,*=,/=
③ 字符串加(+)运算符
当操作数是字符串时,加(+)运算符用来合并两个字符串;当加(+)运算符的一边是字符串,另一边是数值时,机器将自动将数值转换为字符串,并连接为一个字符串。
④ 条件运算符(三目运算符)
<表达式1> ?<表达式2> : <表达式3>
执行过程
其中 x 为 boolean 类型表达式,先计算 x 的值,若为true,则整个三目运算的结果为表达式 y 的值,否则整个运算结果为表达式 z 的值。
经常用来代替简单的if-else判断
⑤强制类型转换符
强制类型转换符能将一个表达式的类型强制转换为某一指定数据类型
- int a;
- double b = 5.66600;
- a = (int) b;
- System.out.println(a);
⑦点运算符
点运算符"."的功能有两个:一是引用类中成员,二是指示包的层次等级。