天天看点

java基础语法

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设置生成参数