C语言是所有语言的基础
C(运行速度最快) :语言性能最快,大型游戏用C,电脑上大型的软件
C++ :性能仅次于C
JAVA (运行速度快):安卓系统开发,WEB(互联网)[超大型]
GO (运行速度快):WEB(互联网)[超大型]
C#(运行速度快) :WEB(互联网)电脑桌面开发 [中型],windows桌面 (打辅助)
PHP(运行速度极慢) :小游戏,WEB(互联网)[中型] (打辅助)
PYTHON(运行速度极慢) :WEB(互联网)[中型],数学计算 (打辅助)
脚本语言(运行速度极慢) :JS、VB、SHELL(操作系统自带他们的翻译环境,所有攻击别人的服务器,脚本语言更合适)
Java中的数据类型:
字节:Byte
1Byte=8bit (32位和64位的电脑表示内存一下可以从磁盘里面读取32bit或者64bit)
计算机规定用8位比特流(即8bit)代表一字节
在1Byte中,规定第一个位(bit)表示数据是正数还是负数,它所能存储的数据长度为2^8=256,即Byte a=128会报错,因为它超过了自己所能存储的范围。
1short=2Byte,所有它所能存储的数据长度为2^16
1int=4Byte,它所能存储的数据长度为2^32
1long=8Byte
1float=4Byte
1double=8Byte
类型转换:
自动类型转换:小类型转换为大类型 eg:int num1 = 34;long num2 = num1;
强制类型转换:大类型转换为小类型 eg:long num1 =34;int num2 = (int)num1;
比特流的三种存储形式:原码,反码,补码。
原码是用来解决计算的加法问题
反码是用来解决计算的减法问题,但其计算结果不准确,所有需要补码来进行完善
正数的原码,反码,补码是一样的
负数的反码是原码的符号位不变,其他位取反
补码是反码加一
十进制数转二进制数如下:
eg:七进制转为十六进制:先把七进制转为十进制(乘7),再把十进制转为十六进制(除16)
在上面图示中,公式:2^(阶位-127)*数值位 表示float中的小数部位,当阶位大于127时,2^(阶位-127)的值为小数。
这个公式也导致了浮点型数据不准确,精度低,因为它描述的数据不均匀。
因为浮点型的数据不正确,所以在计算机中:1.2-1!=0.2
字符型:计算机中是无法存储字符的,它所存储的是每个字符所对应的编码,因此字符型的字节数取决于计算机所用的编码。
Java中采用的是unicode编码(2字节),所以在java中,char类型是2字节
因为char类型中存的数字符所对应的编码,所以int='我' 这种写法是正确的,因为‘我’这个字符表示的是一串编码,即一串数值,所以它可以存到int里面。
表达式中,只要有浮点型参与,结果就是浮点型。都是整型参与的话,结果就是整型。eg:5/2=2但是5.0/2=2.5。
整型不能除零,浮点型可以除零,结果为无穷大(Infinity)
在一次运算里面,同一个变量的赋值只认可第一次。eg:int x=0;x=x++;这里面x最终的值为0。
计算机运算是先将基本运算符转化为位运算符后再对数据进行计算的,所以位运算符运算的速度比基本运算符的速度快
位运算是对二进制数的计算
按位与:两个都为1的时候为1,否则为0。
按位或:两个都为0的时候为0,否则为1。
按位异或:不同的为1,相同的为0。(下面是按位异或对交换代码的优化)
左移:左移几位,相当于乘2的几次方。eg:6
有符号右移:右移几位,相当于除2的几次方。eg:6>>2=6/(2*2)
字符串(String)的一些常用方法:
Scanner