Java 基础
1.什么是变量
用于指定内存中的一块存储区域。
变量必须有特定的数据类型,不同的数据类型表示不同的数据存储结构。
Java是强类型语言,变量在使用前必须声明,指明其数据类型。Java变量在使用前必须初始化,及赋以确定的初值。
Java变量有其存在范围,程序运行超出这个范围后,这个变量所占用的空间就会被回收。
同名变量,作用域不能重叠。
2.Java数据类型
Java有八种基本的数据类型
byte(1字节)、short(2字节)、int(4字节)、long(8字节)
float(4字节)
double(8字节) 存储双精度浮点数
char(2字节) 存储一个字符
boolean(1字节)存储逻辑变量(true、false)
整数类型--int
int(32位)的最大表示范围:-2^31 ~ 2^31-1,即-2147483648-2147483647.如表示更大的证书可以使用long。
直接量,即直接写出的常量。
整数类型--long
long(64位)的最大表示范围:-2^63 ~ 2^63-1
如果要表示long直接量,需要以L或l结束。
浮点类型
double精度大于float,因袭,一般使用double计算浮点数。默认的浮点数字面量是double类型。
由于舍入的原因,浮点数不能精确运算。如需精确运算,可以使用BigDecimal。
字符类型
字符类型事实上是一个16位无符号证书,这个值是对应字符的编码。
Java字符类型采用Unicode字符集编码。Unicode是世界通用的定长字符集,所有的字符都是16位。
对于不方便输入的字符采用转移字符表示。
数字编码:'0':48 ,'1':49....
英文编码:'A':65,'B':66....
字符是整数可以参加运算, char c = 'A' + 1; //B
整数字面量可以给char变量赋值。
控制字符是没有显示效果的。
只有本地字符集中存在的字符才能显示。
基本类型的转换
自动类型转换(隐式类型转换):从小类型到大类型可以自动完成。
byte-->short-->int-->long-->float-->double
char-->int
强类型转换:从大类型到小类型需要强制转换符,会造成精度损失或者溢出。
3.Java运算符及表达式
算数运算
加(+)、减(-)、乘(*)、除(/)、取余(%)
自增(++)、自减(--)。++(--)在后时,为先用后加(减);在前时表示先加(减)后用。
关系运算
Java关系运算用于判断数据之间的大小关系。
>、<、>=、<=、==、!=
关系表达式的值为boolean类型。
逻辑运算
&&、||、!
&& 、 || 具备"短路"的特性:如果通过第一个表达式的值就可以得出最后的结果,则不计算第二个表达式。
条件运算符
条件运算符又称"三目"运算符
赋值运算符
"="称为赋值运算符,用于对变量赋值。
赋值表达式本身也有值,其本身之值即为所赋之值。
可以使用扩展赋值表达式(+=、-=、*=、/=...)
字符串连接运算符
"+"可以实现字符串的连接,同时可以实现字符串与其他数据类型的"相连"。
4.分支结构
三种程序结构
顺序、分支。循环。
if结构
if(关系表达式) {
//语句块
}
if(关系表达式) {
//语句块
}else {
//语句块
}
swich-case结构
switch(整型表达式) {
case 整型值1:
//语句1
break;
case 整型值2:
//语句2
break;
default:
语句0
break;
}
循环结构
for(表达式1;表达式2;表达式3) {
//语句块
}
for(int i = 0;i < 10;i++) {
if(i==5) continue; //continue表示结束本次循环,开始下次循环。
if(i==9) break; //break用于退出当前语句块。
}
while结构
while(boolean表达式) {
//语句块
}
do-while结构
do {
//语句块
}while(boolean表达式)