java简介
java安装时需要配置环境变量:
JAVA_HOME:jdk安装路径
path:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
java的三大版本:
javaSE:标准版(桌面程序,控制台开发等。。。)
javaME:嵌入式开发(手机,家电。。已经放弃)
javaEE:E企业级开发(web段,服务器端)
jdk:java Development Kit(Java开发者工具)
jre:Java Runtime Environment(java运行时环境)
jvm:java Virtual Machine(Java虚拟机)
一个数在计算机是通过2进制表示的,这是机器数。最高位是他的符号位,0为正,1为负。
ex:3的机器数为0000 0011,真值是3;
-3的机器数为1000 0011.真值是-3而不是131;
负数二进制计算:反码=符号位不变,原码所有位取反;补码=反码+1,此计算方式可逆
原码就是符号位加上真值的绝对值(第一位表示符号,其余位为数值)如8位2进制:
[+1]原 = 0000 0001
[-1]原 =1000 0001
8位2进制的取值范围是
[1111 1111,0111 1111]—>[-127,128]
但是人为规定Java中byte类型是-128,127。
原因是0会有两种表示方法+0和-0(1000 0000);印度人将-0为-128。设计的非常巧妙。
对于如果大于8位的有符号整数类型,-128的补码刚好是1000 0000(计算机是利用补码计算的);
127(0111 1111)加1(0000 0001)刚好等于-128(1000 0000),而-128(1000 0000)加1(0000 0001)刚好等于-127,形成了一个闭环,如时钟。
计算机中减法运算可以换算成加法运算:如8-1=8+(-1)其补码运算为:0000 1000+1111 1111=0000 0111(整数的原反补码相同刚好是7)
而 -128+127—>为(1000 0000+0111 1111)刚好是-1(补:1111 1111)(反:1111 1110)(原:1000 0001)其中short的最小值是-32768,int最小值-(2的32次方)也是一样的道理。
其中二进制位运算跟10进制乘法除法相同
小数的二进制表示法:乘二去整
基本类型:数值数类型和boolean类型
备注:
字节(byte)类型代表:2进制的11111111
位(bit):计算机最小存储单位,字节中每个1都是1位。
1B(字节)=8bit(位)
byte占1个字节:-128—127
short占2个字节:-32768—32767
int占4个字节:-2147483648—2147483647
long占8个字节:-9223372036854775808—9223372036854775807
float占4个字节
double占8个字节
char字符类型占2个字节
boolean类型只占1位只有true和false(即0和1)
进制:
二进制表示:0b开头
8进制:0开头
十进制:正常数字
16进制:0x开头
flaot:有限的离散的,有舍入误差,接近但不等于;避免使用浮点数类型进行比较
例如:flaot f1=23123123123123;flaot f2=f1+1;
System.out.println(f1==f2);输出结果时true。
通常使用数据工具类:BigDeciml
字符拓展:
所有的字符本质还是数字,字符类型可以转化成数值类型(计算机原编码都是由01组成)
编码:Unicode编码占2个字节,通过编号标记汉字,可以处理任何语言的文字,最初时可以表示65536个字符(现已扩展)最初Excel也是最长有65536(格数)
例如:Unicode表中:a=97,A=65,字符还可以表示汉字
转义字符:\t:制表符(相当于Tab键);\n换行
布尔值扩展:
boolean flag=true;
if(flag==true){};
if(flag){};
1和2效果相同
电脑的32位和64位区别:
32位:只能用32位的CPU,最多支持4G内存
64位:能装32位和 64位的CPU,最多支持128G内存
“==”比较对象时会从内存分析内存地址是否相等
命名规范:
所有变量变量、方法、类名:见名知意
类成员变量:首字母小写和驼峰原则:moneySalary,出第一个单词外后续每个单词首字母都大写。
局部变量:首字母小写和驼峰原则
常量:大写字母和下划线:MAX_VALUE
类名:首字母大写和驼峰原则:GoodMan
方法名:首字母小写和驼峰原则:runRun();
算数运算符:+ ,— ,* , /,%,++,——
%是模运算(求余),++自增a++即a=a+1,——自减
a++表示先赋值再计算
++a表示先计算再赋值
int a=1;
System.out,println(a++);//输出1
System.out,println(++a);//输出2
赋值运算符:=
关系运算符:>,<,>=,<=,==,!=,instanceof
返回结果是true或者false
逻辑运算符:&&,||,!
&&:逻辑与运算,相当于且也叫做短路与,两边都为真结果为真,若左边条件为假则短路不知行右边。
||:逻辑或运算,相当于或,有一边为真,结果为真
!:逻辑非运算,逻辑取反
位运算符:&,|,^,~,>>,<<,>>>
条件运算符?:
扩展运算符:+=,-=,*=,/=
a+=b表示a=a+b;其余三个也是一样的
顺序问题,第一个+号前是字符串时后续的都是拼接,不相加
int a=10,b=20;
System.out.println(""+a+b);//输出1020
System.out.println(a+b+"");//输出30
java的包机制相当于文件夹,归类管理所编写的代码
命名规则一般时公司域名的倒置:如www.baidu.com写成com.baidu.www
javaDoc命令时用来
生成自己的API文档
其参数信息一般包括:
@author作者名
@version版本号
@since知名需要最早使用的jdk版本
@param参数名
@return返回值情况
@throws异常抛出情况
命令行生成javadoc文档:
javadoc -encoding UTF-8 -charset UTF-8 +类的路径
idea 下:tools—>generate javadoc设置生成参数