1、变量
☆定义:用来储存数值的内存区域,用来记录数值。可用于代数计算。
☆格式:数据类型 变量名 = 变量值;(int a = 2;)
变量类型——java是强类型语言,不同的数据类型在内存中的储存方式不尽相同,所以必须指定其类型。
变量名——即标识符,这个名字代表了储存数值的空间。
“=”——赋值。
变量值——变量真正储存的值,与数据类型一致。
☆其他:可以同时定义多个变量(int a=1,b=2;);定义变量后可以不赋值,使用时赋值,不赋值不可使用;变量有作用域限制(有全局变量、局部变量等)。
2、数据类型
java对不同数据结构进行了严格区分,对每一种数据类型都做了明确定义(C标准没有明确定义),也同时规定了每种数据类型的变量在内存中占用空间的大小。
☆分类:基本数据类型:整数、小数、字符、布尔;引用数据类型:数组、接口、类
☆具体定义(无引用类型):
整数型:byte-1字节;short-2字节;int-4字节(整数默认类型);long-8字节(赋值时需L后缀区分)
浮点型:float-4字节(赋值时需F后缀区分);double-8字节(小数默认类型)
字符型:char-2字节,必须用单引号包裹,不可为空。(注意转义字符,转义符号\)
布尔型:boolean-1字节
byte | -128~127 |
---|---|
short | -32768~32767 |
int | -2147483648~2147483647 |
long | -263~263-1 |
float | -3.403E38~3.403E38 |
double | -1.798E308~1.798E308 |
char | ‘A’,‘2’,‘戈’ |
boolean | true or false |
☆数字类型转换
1、规则:数据表示范围从小到大:byte、short、int、long、float、double
2、自动类型转换:范围小的数据类型值可以自动转换为范围大的数据类型值(double d=100;)
3、强制类型转换:范围大的数据类型值不可以自动转换为范围小的数据类型值,但是可以强制转换。(int i = (int)3.14159;)
3、运算符
☆定义:运算符是用来计算数据的指令。数据可以是常量,也可以是变量。
☆算术运算符
运算符 | 运算规则 | 范例 | 结果 |
---|---|---|---|
+ | 正 | +2 | 2 |
+ | 加 | 1+2 | 3 |
+ | 连接字符串 | “天”+“下” | “天下” |
- | 负 | int a=3;-a | -3 |
- | 减 | 2-2 | 0 |
* | 乘 | 2*2 | 4 |
/ | 除 | 2/2 | 1 |
% | 取模 | 1%2 | 1 |
++ | 自增 | int a=1;a++/++a | 2 |
– | 自减 | int a=3;a–/--a | 2 |
注意事项:
- 加法运算符在连接字符串时要注意,只有直接与字符串相加才会转成字符串。
- 除法“/”当两边为整数时,取整数部分,舍余数。当两边为浮点型时,按正常规则相除。
- “%”为整除取余符号,小数取余没有意义。取余结果的符号与被取余数的符号相同。
- 整数做被除数,0不能做除数,否则报错。
- 小数做被除数,整除0结果为Infinity,对0取模结果为NaN
- 自增与自减:前缀式是先运算再使用;后缀式是先使用再运算。可以用于整数类型byte、short、int、long,浮点类型float、double,以及字符串类型char。在Java5.0及以上版本中,它们可以用于基本类型对应的包装器类Byte、Short、Integer、Long、Float、Double、Character。它们的运算结果的类型与被运算的变量的类型相同。
☆赋值运算符
运算符 | 运算规则 | 范例 | 结果 |
---|---|---|---|
= | 赋值 | int a=2 | 2 |
+= | 加后赋值 | int a=2;a+=2 | 4 |
-= | 减后赋值 | int a=2;a-=2 | 0 |
*= | 乘后赋值 | int a=2;a+=2 | 4 |
/= | 除后赋值 | int a=2;a/=2 | 1 |
%= | 取模后赋值 | int a=2;a%=2 | 0 |
诸如+=这样形式的赋值运算符,会将结果自动强转成等号左边的数据类型。
☆关系运算符
运算符 | 运算规则 | 范例 | 结果 |
---|---|---|---|
== | 相等于 | 4==3 | false |
!= | 不等于 | 4!=3 | true |
< | 小于 | 4<3 | false |
> | 大于 | 4>3 | true |
<= | 小于等于 | 4<=3 | false |
>= | 大于等于 | 4>=3 | true |
☆逻辑运算符
运算符 | 运算规则 | 范例 | 结果 |
---|---|---|---|
& | 与(并且) | false&true | false |
| | 或 | false|true | true |
^ | 异或 | true^false | true |
! | 非(取反) | !true | false |
&& | 短路与 | false&&true | false |
|| | 短路或 | true||false | true |
单&时,左边无论真假,右边都进行运算;双&时,如果左边为真,右边参与运算,如果左边为假,那么右边不参与运算。“|”和“||”的区别同理,双或时,左边为真,右边不参与运算。
☆三元运算符
格式:(条件表达式)?表达式1:表达式2;
规则:先判断条件表达式的值,若为true,运算结果为表达式1;若为false,运算结果为表达式2。
☆运算符优先级
优先级相同的情况下,按照从左到右的顺序依次运算
1 | 括号 | ()、[ ] |
---|---|---|
2 | 正负号 | +、- |
3 | 自增自减、非 | ++、- -、! |
4 | 乘除、取模 | *、/、% |
5 | 加减 | +、- |
6 | 移位运算 | <<、>>、>>> |
7 | 大小关系 | >、>=、<、<= |
8 | 相等关系 | ==、!= |
9 | 与(并且) | & |
10 | 异或 | ^ |
11 | 或 | | |
12 | 逻辑与 | && |
13 | 逻辑或 | || |
14 | 条件运算 | ?:] |
15 | 赋值运算 | =、+=、-=、*=、/=、%= |
16 | 位赋值运算 | &=、|=、<<=、>>=、>>>= |
public class hello{
public static void main (String[] args){
System.out.println("湖科大商学院学生,交朋友呀");
}
}