Java学习过程中的一些记录和总结,比较零散和主观,如有理解错误烦请指正,谢谢
- 二进制
- 二进制转十进制 - 第n位的值为2^(n-1),之后将所有位数的值相加
- 十进制转二进制 - 对十进制数进行2的短除法,每一步得到一个余数,短除法结束后将余数从后往前排列即得十进制数对应的二进制数
- 变量 - 存储数据的容器;内存中分配的一块空间
- 变量划分
- 根据数据类型划分(数据类型不同):基本数据类型变量(8大基本数据类型);引用数据类型变量
- 根据被声明位置划分(作用域不同):成员变量(class之内,方法之外),局部变量(方法内)
- 大作用域内的变量可以用于小作用域,反之不行
- 变量划分
- class之外没有变量
- 数据类型 - 不同的数据有不同的大小,需要不同数据类型的变量进行存储
- 分类:1. 基本数据类型;2. 引用数据类型
- 基本数据类型 = 数值型 + 布尔型
- 数值型 = 整型(btye,short,long,int) + 单双精度型(float,double) + 字符型(char)
- 布尔型(boolean)
- 引用数据类型 = 类(calss)+ 接口(interface)+ 数组
- 基本数据类型 = 数值型 + 布尔型
- 基本数据类型
- 字节型/byte - 最小的数据类型,内存中占1个字节(4位2进制数),范围:(-127, 128)
- 短整型/short - 内存中占2个字节(8位)
- 整型/int - 内存中占4个字节(16位),范围:略大于21亿
- 长整型/long - 内存中占8个字节(32位)
- 浮点型/float - 表示带小数的数;内存中占4个字节(16位)
- 双精度型/double - float升级版;内存中占8个字节(32位)
- 字符型/char - 描述单个字符;内存中占2个字节
- 分类:1. 基本数据类型;2. 引用数据类型
- 小数据类型转化为大数据类型,没有问题;大数据类型转小数据类型,可能出错,需要人为确定数值的范围是否在小数据类型的范围之内,并使用强制类型转换符,例子如下:
double i=10;
int j = (int)i;
- Java在类型转换时,只判断转换前后的类型,不关注具体数值
- 以整数表示的数,默认类型为int,即使在long变量的赋值过程中;若要直接写出long,则如下:
long i = 2200000000l;
- 以小数表示的数,默认类型为double - 若要直接写出float,则如下:
float i = 10.1f;
- byte,short,int类型的数进行计算时,默认均为int
- char实际上为数值,可进行数值运算
- 方法/Method
- 格式:
权限修饰符 返回值声明 方法名称(参数列表){ 方法体(逻辑功能); return 返回值; }
- 格式:
- 权限修饰符 - private < 默认 < protected < public
- private - 同一个class中可以调用
- 默认 - 同一个package钟可以调用
- protected - 不同package的子类中可以调用
- public - 都能调用
- 返回值声明 - 即8大数据类型;没有返回值用void,不能有return
- 参数列表 - 从外部输入给方法的参数
- 运算符 - 算术运算符,赋值运算符,关系运算符,逻辑运算符,字符串连接符,三目运算符
- 算数运算符(基本的不写了)- 1. %(取余数);2. /(求商,输出为int,向下取整);3. ++自增(若同一行有其他逻辑表达式:++i,先自增再调用i;i++,先调用i再自增)
- 关系运算符(比大小)
- 逻辑运算符(输出为boolean)- 与或非,异或 "^"(两者相同则为false,不同则为true),短路与&&,短路或||(与和或的智能版,功能一样)
- 字符串连接符(+)- “+”的两侧,任意一侧为String,则“+”为字符串连接符
- 三目运算符(boolean表达式?表达式1:表达式2)- 布尔表达式=true,则表达式1;反之,表达式2
- 转义字符(\) - 转换一些符号的含义,使其具有别的作用(或者被打印)
- \n - 换行,将当前位置移至下一行的开头
- \r - 回车,将当前位置移至本行开头
- \t - 制表符,跳到下一个tab的位置
- \v - 垂直制表符(不常用)