常量和变量
概述
- 在Java中固定不变的数据,叫做常量
- 在Java中可以改变的数据称为变量
数据类型
数据类型分为两类
- 基本数据类型
- 引用数据类型
基本数据类型
基本数据类型又分为四类八种
数据类型 | 关键字 | 内存 | 范围 |
---|---|---|---|
字节 | byte | 1字节 | -2~2-1 |
短整型 | short | 2字节 | -2~2-1 |
整型 | int | 4字节 | -2~2-1 |
长整型 | long | 8字节 | -2~2-1 |
单精度浮点数 | float | 4字节 | 2~2-1 |
双精度浮点数 | double | 8字节 | 2~2-1 |
字符型 | char | 2字节 | 0~65535,为2-1 |
布尔 | boolean | 1字节 | true/fasle |
引用数据类型
类型 |
---|
字符串 |
数组 |
接口 |
枚举 |
数据类型转换
自动转换:范围小的自动提升为范围大的
public static void main(String[] args) {
int x = 1;
byte y = 2;
int z = x + y;
}
强制转换:范围大的手动转换为范围小
public static void main(String[] args) {
byte b = 1;
b = (short)(b+1)
}
b+1
会提升为int类型,然后只能通过强制转换来转为short
注意
- 浮点型转换成整数,会直接取消小数点,直接造成精度丢失
- 高位转换为低位,会直接砍掉相应的字节,可能造成数据丢失。
(比如int转为short,会直接砍掉2个字节)
ASCII
常用的
字符 | 数值 |
---|---|
0 | 48 |
A | 65 |
a | 97 |
ASCII表完整版:https://blog.csdn.net/wangzhyy/article/details/78720514
运算符
算数运算符
+ | 加法 |
---|---|
- | 减法 |
* | 乘法 |
/ | 除法 |
% | 取余 |
++,— | 自增自减 |
- ++:自增运算,让变量自己加一
- —:自减运算,让变量自己减一
自增自减运算符放到变量前边还是后边是不同的
- 放到前边先进行自增自减,然后进行其他运算
- 放到后边先进行其他运算,再进行自增自减
int a = 1;
int b = a++;
int c = ++a;
b为1,c为2
赋值运算符
= |
---|
+= |
-= |
*= |
/= |
%= |
举个例子:
int a = 1;
a+=1;
a+=1
==a = a+1
比较运算符
== |
等于 |
---|---|
< |
小于 |
> |
大于 |
<= |
小于等于 |
>= |
大于等于 |
!= |
不等于 |
逻辑运算符
&& |
短路与 | ||
---|---|---|---|
` | ` | 短路或 | |
! |
取反 |
A && B
:当A为false的时候,不会去看B了,直接返回结果A || B
:当A为true的时候,不会去看B了,直接返回结果
三元运算符
数据类型 变量名 = 布尔类型表达式?结果1:结果2
- 表达式为true,则变量为结果1
- 表达式为false,则变量为结果2
运算符优先级
由高向低分别是:()、!、算术运算符、关系运算符、逻辑运算符、赋值运算符
流程控制语句
if-else
if-else if-else
switch-case-break-default
for
while
do-while
break
和cotinue
break
:结束当前所有循环,但是只是结束一层循环(比如在嵌套for中只是结束一层for循环)continue
:结束这次的循环,但是继续下一个循环(比如在for循环中结束一次循环,继续下次循环)
权限修饰符
public | protected | default(默认) | private | |
---|---|---|---|---|
同一个类 | ✔ | ✔ | ✔ | ✔ |
同一个包 | ✔ | ✔ | ✔ | |
子类与父类 | ✔ | ✔ | ||
不同包的无关类 | ✔ |
现在看来,联系关系的亲密从大到小可以为:类—>包—>继承—>无关
方法
方法定义
方法定义在类中,其他方法外
public class Demo {
public static void main(String[] args){}
public void method(){}
}
方法的格式
修饰符 返回值类型 方法名(参数列表){
return 结果;
}