黑马程序员技术交流社区
标题: 我的笔记 [打印本页]
作者: JavaEE21期王煊 时间: 2018-1-29 13:58
标题: 我的笔记
基本数据类型分类(4类8种)
整数型
byte 占一个字节 -128到127
short 占两个字 -2^15~2^15-1
int 占四个字节 -2^31~2^31-1
long 占八个字节 -2^63~2^63-1
浮点型
float 占四个字节 -3.403E38~3.403E38 单精度
double 占八个字节-1.798E308~1.798E308 双精度
字符型
char 占两个字节 0~65535
布尔型
boolean
boolean理论上是占八分之一个字节,因为一个开关就可以决定是true和false了,但是java中boolean类型没有明确指定他的大小
变量: 内存中的一小块容器
最小存储单位:字节 = 8位
定义变量 : 数据类型 变量名 = 初始化值
数据类型分类:
基本数据类型:4类8种
整数:byte 1, short 2 int 4 long 8 整数常量默认int
浮点数: float 4, double 8 浮点数常量默认double
布尔类型: true false 1/8
字符型: char 2
引用数据类型: 类 , 接口 数组 枚举,
变量定义注意事项:
1.变量未赋值不能使用
2.变量只在所属范围内有效(生命周期)
包含他所在的大括号
在父作用域中定义的变量在子作用域中可以使用
在子作用域中定义的变量在父作用域不能使用,出了大括号变量被销毁
标识符: 用来给包, 方法 变量起名字的符号
规则:
1.unicode字符
2.下划线_
3.$
注意事项:
1.不能以数字开头
2.不能是java关键字
命名规范:
A:包
最好是域名倒过来,要求所有的字母小写
B:类或者接口
如果是一个单词首字母大写
如果是多个单词每个单词首字母大写(大驼峰标识)
C:方法或者变量
如果是一个单词全部小写
如果是多个单词,从第二个单词首字母大写
D:常量
如果是一个单词,所有字母大写
如果是多个单词,所有的单词大写,用下划线区分每个单词
常量:
字符串类型: "aasdada"
整数类型 : 12,23
小数类型 : 12.366
布尔常量: true false
字符常量 : 'a', '0'
空常量: null;*/
类型转换: 数据类型转换:
隐式转化:
byte , short ,char -----int -----long ----float---double
默认提升为int类型
强制转化:
目标数据类型 变量名 = (目标类型)(被转换的数据);
1.运算符与表达式
算术运算符: + - * / % ++ --
++,--, 看在变量前后
赋值运算符: = += -= *= /= (隐含强制类型转换)
关系运算符(返回值为boolean): == != > >= < <=
注意事项: == 与 = 的区别
逻辑运算符:
& | (有false则false) , |
| | (有true则true) , |
! | (相反) , |
^ | (相同为false,不同为true) |
&& | 短路(左边为false,右边不执行) |
|| | 短路(左边为true,右边不执行) |
位运算符:& | ^ ~ >> >>> <<
& | :有0则0 |
| | :有1则1 |
^ | :相同则0,不同则1 |
~ | :按位取反 |
<< | :左移 左边最高位丢弃,右边补齐0 |
>> | :右移 最高位是0,左边补齐0;最高为是1,左边补齐1 |
>>> | :无符号右移 无论最高位是0还是1,左边补齐0 |
位运算符:
Java语言基础(位运算符 按二进制计算的基本用法1)(了解)
A:位运算符有哪些
&,|,^,~,>>,>>>,<<
B:案例演示
位运算符的基本用法1
&,|,^,~ 的用法
&:有0则0
|:有1则1
^:相同则0,不同则1
~:按位取反
Java语言基础(位异或运算符的特点及面试题)(掌握)
A:案例演示
位异或运算符的特点
^的特点:一个数据对另一个数据位异或两次,该数本身不变。
Java语言基础(位运算符的基本用法2及面试题)(了解)
A:案例演示>>,>>>,<<的用法:
<<:左移 左边最高位丢弃,右边补齐0
>>:右移 最高位是0,左边补齐0;最高为是1,左边补齐1
>>>:无符号右移无论最高位是0还是1,左边补齐0
最有效率的算出2 * 8的结果
三元运算符: (关系表达式) ? 表达式1 : 表达式2;
运算符优先级:
算术运算符> 关系运算符 >逻辑运算符> 赋值运算符(除++ ,--外)
键盘录入格式:
导包: importjava.util.Scanner;
创建键盘录入对象:Scanner sc= new Scanner(System.in);
定义变量接收键盘录入数据: int a= sc.nextInt();
数据交换的三种方式
/*int temp = i;
i = j ; // 方法一: 占用内存多一点
j = temp;*/
/*i = i + j;
j = i - j; // 方法二:占用运算多一点
i = i - j; */
i = i^j;
j = i^j; //二进制运算效率最快
i = j^i;
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |