
常量和变量
概述
- 在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-elseif-else if-elseswitch-case-break-defaultforwhiledo-whilebreak和cotinuebreak:结束当前所有循环,但是只是结束一层循环(比如在嵌套for中只是结束一层for循环)continue:结束这次的循环,但是继续下一个循环(比如在for循环中结束一次循环,继续下次循环)
权限修饰符
| public | protected | default(默认) | private | |
|---|---|---|---|---|
| 同一个类 | ✔ | ✔ | ✔ | ✔ |
| 同一个包 | ✔ | ✔ | ✔ | |
| 子类与父类 | ✔ | ✔ | ||
| 不同包的无关类 | ✔ |
现在看来,联系关系的亲密从大到小可以为:类—>包—>继承—>无关
方法
方法定义
方法定义在类中,其他方法外
public class Demo {
public static void main(String[] args){}
public void method(){}
}
方法的格式
修饰符 返回值类型 方法名(参数列表){
return 结果;
}
