Java中的变量
定义:
在程序运行期间,随时可能会产生一些临时数据,应用程序会将这些数据保存在一些内存单元中,每个内存单元都用一个标识符来标识,这些内存单元被称之为变量。
语法格式:
修饰语 变量类型 变量名 [ = 初始值];
例:
int a; int b = 0;
变量的数据类型
byte:
字节型变量,占用1个字节(8bit),取值范围是:-2⁷ ~ 2⁷-1,即Byte.MIN_VALUE ~ Byte.MAX_VALUE
short:
短整型变量,占用2个字节(16bit),取值范围是:-2¹⁵ ~ 2¹⁵-1,即Short.MIN_VALUE ~ Short.MAX_VALUE
int:
整数型变量,占用4个字节(32bit),取值范围是:-2³¹ ~ 2³¹-1,即Integer.MIN_VALUE ~ Integer.MAX_VALUE
long:
长整型变量,占用8个字节(64bit),取值范围是:-2⁶³ ~ 2⁶³-1,即Long.MIN_VALUE ~ Long.MAX_VALUE
float:
单精度浮点型变量,占用4个字节(32bit),取值范围是:1.4E-45 ~ 3.4E+38,-1.4E-45 ~ -3.4E+38,即Float.MIN_VALUE ~ Float.MAX_VALUE
double:
双精度浮点型变量,占用8个字节(64bit),取值范围是:4.9E-324 ~ 1.7E+308,-4.9E-324 ~ -1.7E+308,即Double.MIN_VALUE ~ Double.MAX_VALUE
char:
字符型变量,是一个单一的 16 位 Unicode 字符,用单引号括起来赋值,如:char a = 'A'; 若以数值赋值给char,如char a = 97; 那么该数值必须在0~65535之间;
boobean:
布尔类型变量,该变量只有两个值:true和false。
注:
1)long类型的变量赋值时要在所赋值的后面加L或l,但严禁加小写l,因为l和1易混。
正例:long a = 1L;
反例:long a = 1l;
2)float类型的变量赋值时要在所赋值的后面加F或f,因为小数默认为double类型
3)double类型后面的D或d,可加可不加
类型转换:
范围小的遇到范围大的会自动转换为范围大的,范围大的需要强制转换才能转换为范围小的
例:
short a = 1;
int b = 2;
double c = 3.0;
short d = (short)(a + b);
int e = a + b;
double f = a + b;
常量:
常量是以final修饰的变量,即最终的变量,就是不可变的变量,即为常量;
整型常量:
有二进制、八进制、十进制、十六进制4中表示形式
二进制:必须以0b或0B开头;
八进制:必须以0开头;
十进制:由0~9组成
十六进制:必须以0x或0X开头
浮点数常量:
以f或F结尾为float类型,否则默认为double类型;(也可也使用指数形式,如:5.022e+23f);
字符常量:
以单引号括起来,注意区分
字符串常量:
以双引号括起来,注意区分
boolean常量:
...
null常量:
(这玩意居然是常量,不复习不知道,一复习吓一跳,这玩意挺...,不对,这玩意巨...,不对,这玩意非常...恶心)
顾名思义,就是null,其他的不了解了,具体请参考:
(7条消息) java中的null类型---有关null的9件事LecW-优快云博客java null
[(7条消息) 你真的理解java中的null“类型”吗?明明如月的技术博客-优快云博客java null是什么类型
转义符:
就是反斜杠:\
可以表示一些特定的符号。如前面提到的单双引号等等,部分用法如下:
\r相当于按下了回车键;
\n表示换行;
\t表示制表符,相当于Table键;
\b表示退格键,相当于Back Space键;
\’ 表示单引号;
\’' 表示双引号;
\\表示一个字面意思上的斜杠\。
关于换行:
最新版win10的笔记本以及支持识别其他操作系统的换行符,所以当你System.out.println(\n);和System.out.println(\r\n);时都会换行。参考:(7条消息) 记事本 换行符30年后终更新!新一代Win10记事本详细体验weixin_39737317的博客-优快云博客
运算符:
算数运算符:
+:就是单纯的加,或者正号
-:就是单纯的减,或者负号
*:就是单纯的乘
/:就是单纯的除(但是是取商,即取整)
注:若除数或被除数有一方为浮点数类型,那么结果将自动向上转型为浮点数,也就是有小数
如:1.0/2 的结果是0.5;
%:就是单纯的除(但是是取余数,即取余)
注:如果操作数中有浮点数则采用的规则为 a%b=a-(b*q),这里q=int(a/b)
且结果正负和运算符左边相同
++:自增(++在数字前面先自增,再进行其他运算)
--:自减(-- 在数字前面先自减,再进行其他运算)
代码案例:
int a = 1;
int b = 3;
System.out.println(a + b); // 4
System.out.println(a - b); // -2
System.out.println(a * b); // 3
System.out.println(a / b); // 0
// 注:若除数或被除数有一方为浮点数类型,那么结果将自动向上转型为浮点数,也就是有小数
// 如:1.0/2 的结果是0.5;
System.out.println(a % b); // 3
// 注:如果操作数中有浮点数则采用的规则为
// a%b=a-(b*q),这里q=int(a/b)
// 且结果正负和运算符左边相同
System.out.println(a++); // 2
System.out.println(a++ +b); // 4 ,先算a+b,再算a++
System.out.println(++a +b); // 5 ,先算a++,再算a+b
// 自减同理
赋值运算符:
= :赋值**(注意和 == 相等于区分)**
+=:加等于
-= :减等于
*=: 乘等于
/=: 除等于
%=: 模等于
例:a+=b 等同于a = a + b;
其他同理。
比较运算符:
== :相等于(注意和=区分)
!= :不等于
< :小于
<= :小于等于
> :大于
>= :大于等于
逻辑运算符:
&:与:全假则假
|:或:有真即真
!:非:!true == false;
^:异或:同真异假(true ^ false == false ; false ^ false == true)
&&:短路与:当左边为false时不运算右边
||:短路或:当左边为true时不运算右边
位运算符:
......
总结:
对null的了解又增加了;
最后,分享一下我在这浩瀚的互联网中的一亩三分地:awind.xyz