上海市|java的学习基础

上海市|java的学习基础

1.修改eclipse默认编码:utf8
2.src:源代码文件夹; 包是用来打包存放我们的java源代码的 。 .java文件是源代码
3.main函数 , main入口:有main入口的类 , 是可以直接运行的 。
4.java的编译原理:首先 , java类需要用javac编译 , 得到可执行的class文件 , 然后用java命令执行 。
【上海市|java的学习基础】5.二进制:计算机能识别计数方式 。 计算机的核心元件:二极管 。
十进制:(1111)10 = 1x10^3+1x10^2+1x10^1+1x10^0=1000+100+10+1=1111
二进制:(1111)2 = 1x2^3+1x2^2+1x2^1+1x2^0=8+4+2+1=15
6.位 , bit:二进制的每一位代表一比特
字节 , byte:1byte=8bit; 1111 1111这个就是一byte的长度 。
1byte最大能表示多少?2^8-1=255 。 为什么是-1?因为是从0-255 , 这里是256个数 。
有符号数和无符号数:无符号数 , 最高位代表数;有符号数 , 最高位代表符号 。
正数 , 最高位代表+;负数 , 最高位代表- 。
short , 短整型 , 2个字节:1111 1111 1111 1111 。 short的范围?[-3276832767

int , 整型 , 4个字节 。 int的范围?[-21474836482147483647

long , 长整型 , 8个字节 。 long的范围?
float , 浮点数 , 4个字节 。
double , 双精度小数 , 8个字节 。
单精度和双精度的区别:float最多只能表示小数点后面八位 , double能精确到小数点后面16位
7.如果是特殊字符 , 需要用\\转义 。
8.在数学里面 , =既表示给某个未知数赋值 , 也表示判断两个未知数是否相等 。
在编程里面=表示赋值 , ==表示判断相等 。
9.类型强转:算式的结果 , 是算式里面精度最高的类型 。
强转:默认高精度的 , 不能直接赋值给低精度的 , 需要用(float)1.1d , 强转会丢掉精度 。 正确 , 但不精确 。
低精度转换为高精度的数 , 会丢失精度 。 精确但不正确 。
11111111 0110 。
1. ++ , --;自增 , 自减 。
++在效果上等于:i=i+1;--在效果上等于:i=i-1;
++i , 是在取值之前 , i+1;i++ , 是在取值之后 , i+1;
2.赋值:=
把一个值给变量 。 变量 , 值是可变的量 。
i+=1它就是i = i + 1;
3.位移 , 二进制
36的二进制:0010 0100 右移一位:0001 0010:前面空出来的 , 补0 , 后面被移出去的 , 丢掉;得到的结果是18 。 所以 , 又移其实是做什么操作?除法操作 , 除以2 。 左移 , 反之 。 位移只能用在整数 。 不能位移负数位 。
4.寄存器计算原理 。 数据寄存器 。
计算的时候 , 我们不是直接用变量来计算的 , 我们需要先把变量的值取出来 , 放到寄存器里面 , 再用寄存器进行计算 。
5.关系运算 , 判断 。
6.逻辑运算 , 与、或、非 。
与 , 而且:两个判断都要成立 , 两个判断只要有一个是假的 , 就一定是假的
或 , 或者:两个判断只要有一个成立即可 , 两个判断只要有一个是真的的 , 就一定是真的
非 , 相反:某个判断的反面 。
“!”(逻辑非)、“&&”(逻辑与)、“||”(逻辑或)
7.取值范围:!(x>1 && x<=2)
x的取值范围是什么?(-∞1
∪ (2+∞)
8.逻辑运算和关系运算的优先级
!高于关系运算
关系运算高于 &&、||
&& = ||
1.int y=3; int x; x=1/y; 最后x=0 。
2.求取值范围:x<-3 x=\"\">=5x的取值范围 。 [-∞ , 3)∪[5∞) else里面 , x的取值范围?[-35)