java基础总结二(变量、数据类型、运算符)
一.变量
日常变量的使用分为四个部分
变量定义格式
数据类型 变量名 = 变量值;
如 int a = 100;
变量类型 每一个变量均必须指定其变量类型。Java是强类型语言,在Java中不同的数据类型在内存中的存储方式是不尽相同的。所以必须在存储内容之前指定数据类型。
变量名 即使用标识符为变量起一个名字,之后在计算时,使用该名字即可参与计算。这个名字就代表了存储数值的空间。
“=”号 这里的“=”号是运算符的一种,即=代表赋值运算,并非数学意义上的相等。
值 即真正变量存储的数值,需要与变量的数据类型一致。
二.数据类型
Java是一种强类型语言,对不同数据结构进行了严格的区分,对每一种数据类型都做了明确定义,也同时规定了每一种数据类型的变量在内存中占用空间的大小。
字节
字节是计算机当中存储数据的基本单位,每种数据类型都会占用一定的空间。
比特位
比特位(bit)是计算机当中最小的存储单位,由于机器码只识别1与0,所以每一位的1与0均为一个比特位
字节组成规则
在计算机当中如果使用bit来计算数据过于冗余复杂,所以以8个比特位组成一个新的单位——字节,作为数据存储的基本单位
常见的数据存储单位之间的换算
1B(字节) = 8bit
1KB = 1024B
1MB = 1024KB
1GB = 1024MB
1TB = 1024GB
三.数据类型分类
数据类型分为基本类型与引用类型,引用类型包括:数组、类、接口,在面向对象后期会全部介绍完毕。这里着重介绍基本数据类型。
l 整数型(精确)
int 占用4个字节 (整数的默认值)
byte 占用1个字节
short 占用2个字节
long 占用8个字节
long类型在赋值时,需要在值后加入字母l(L)区分其是一个长整型
如 int i = 100; short s = 66; long l = 100L;
l 浮点型(小数型,非精确,为近似值)
double 占用8个字节 (小数的默认值)
float 占用4个字节
float类型在赋值时,需要在值后加入字母f(F)区分其是一个长整型
如 double d = 100.0; double d2 = 10.1; float f = 100F;
l 字符型
char 占用2个字节,必须使用’’包裹,且不能为空。
如 char c = ‘a’; char c2 = ‘中’; char c3 = ‘ (空格)’; char c4 = ‘$’
i. 转义字符
有时我们无法直接给出一个字符,需要使用转义字符进行转义动作。转义字符也为一个字符,由转义符号与被转义字符组成
转义符号:\
如:
\t 制表符
\’ 单引号
\” 双引号
\\ 反斜杠
ii. 字符存储原理
每一个值在存储时,均存储的为值对应的数字。即字符、声音、图片、文字,最用都以数字1或0的方式存储在计算机中。
每一个英文字符都有其固定的数字对应。英文字符与数字的对应关系组成了一张编码表,该表名称为ASCII表。(内容见资料)
l 布尔型
布尔值是我们比较陌生的类型,它代表一些条件成立与不成立的判断。只有两个值true与false。
boolean 占用1个字节
如 boolean b = true; boolean b2 = false;
四:数字类型转换
数字类型可以有数据类型上的转换,即将一种类型的值赋值给另外一种类型的变量。但要依据数据范围,符合一定规则:
各种数据类型按照数据范围从小到大:
byte -> short -> int -> long -> float -> double
自动类型转换
范围小的数据类型值(如int),可以自动转换为范围大的数据类型值(如double)
范围大的数据类型 变量 = 范围小的数据类型值;
如:
double d = 1000;
或
int i = 100;
double d2 =i;
强制类型转换
范围大的数据类型值(如double),不可以自动转换为范围小的数据类型值(如int),但是可以强制转换
范围小的数据类型 变量 = (范围小的数据类型)范围大的数据类型值;
如:
int i = (int)6.718; //i的值为6
或
double d = 3.14;
int i2 = (int)d; //i2的值为3
五:运算符概念
运算符是用来计算数据的指令。数据可以是常量,也可以是变量。被运算符操作的数成为操作数。
算数运算符
将操作数参与数学计算(通常为数学计算)
1.加法运算符在连接字符串时要注意,只有直接与字符串相加才会转成字符串。
2.除法“/”当两边为整数时,取整数部分,舍余数。当两边为浮点型时,按正常规则相除。
3.“%”为整除取余符号,小数取余没有意义。取余结果的符号与被取余数的符号相同。
4.整数做被除数,0不能做除数,否则报错。
5.小数做被除数,整除0结果为Infinity,对0取模结果为NaN
6.自增与自减
单独使用:
前置与后置效果相同,均为直接+1或-1
混合使用:
++或- -为前置时,先+1或-1,再使用值。
++或- -为后置时,先使用值再+1或-1。
赋值运算符
为变量赋值的运算符
比较运算符
又叫关系运算符,即判断两个操作数的大小关系及是否相等关系,比较运算符的返回一定为布尔值。
逻辑运算符
用于计算两个布尔值经过指定逻辑后的运算结果,结果同样是一个布尔值
注意:
1.表达式:通俗的说,即使用运算符将操作数联系起来的式子
2. 逻辑运算符通常连接两个其他表达式计算后的布尔值结果
3. 当短路的优点:只要能判断出结果则后边的部分就不再判断
三元运算符
三元运算符即三个操作数参与计算的运算符。
1.格式:
(条件表达式)?结果1:结果2;
2.运算规则:
判断条件表达式
true,运算结果为表达式1
false,运算结果为表达式2
注意:
1.当短路的优点:只要能判断出结果则后边的部分就不再判断
运算符优先级
优先级概念
运算符运算的先后顺序,优先级越高(数字越小),计算顺序越靠前。
优先级规则
优先级相同的情况下,按照从左到右的顺序依次运算