java基础笔记
注释
java中三种注释:
单行注释://
多行注释:/* */
文档注释:/** */
标识符
-
java所有组成部分都需要名字。 -
类名,变量名,方法名都称为标识符 -
java中已经定义的关键字:  -
我们取名时不能取关键字作为标识符 取名的要求
Java标识符的注意点
-
所有的标识符都应该以字母(A-Z 或者 a-z),美元符($)、或者下划线(_)开始 -
首字符之后可以是字母(A-Z 或者 a-z),美元符($)、下划线(_)或数字的任何字符组合 -
不能使用关键字作为变量名或方法名。 -
标识符是大小写敏感的 -
合法标识符举例:age、$salary、_value、__1_value -
非法标识符举例:123abc、-salary、#abc -
虽然可以使用中文,但一般不建议使用,也不建议使用拼英
数据类型:
强弱类型语言:
强类型语言:即每个变量都需要声明其类型。当一个变量一但定义了其类型,如果没有通过转换,则它永远都是这个类型。如java。
弱类型语言:与强类型语言相反,如vb,php等。
数据类型分为两类:
- 基本类型
- 引用类型

long类型要在数字后面加’L’,如‘80L’,float类型要在数字后面加’F‘,如’50.3F‘,double类型要在数字后面加’D‘,如‘50.3D’ 都是大写为了避免混淆。
字节类型要在值上加单引号,整数类型、浮点数类型和布尔类型不用加
【注:引用数据类型的大小统一为4个字节,记录的是其引用对象的地址!】
数据量度单位
位(bit):是计算机储存的最小计量单位。11001100是8位的二进制数,用小写“b”表示。
字节(byte):是计算机“数据处理”的基本单位。习惯用大写"B"表示。4
1B=8b
字符:是指计算机中一个字母、数字、子或符号。 多个位字符集。
1B=8b
1KB=1024B
1M=1024KB
1G=1024KB
1T=1024G
如何表示各种进制

字符型拓展
单引号表示字符常量,如:‘A’,
双引号表示字符串,如:“AA“
其实文字和符号也是由数字组成的,即所有的字符本质是数字,每个字符都有自己的数字。当输入\u0061时,输出的位a

类型转换
由于java是强类型语言,所以有时运算时需要类型转换。
由高级容量转换位低级容量需要强转换,低级到高级则不需要。
浮点数类型的等级>整数类型等级。
转换由低等级到高等级(根据容量来看)

转换类型需要注意:
-
boolean不能进行类型转换。 -
当高等级转换为低等级时,需要进行强转换,且需注意内存溢出的问题。当加括号写入低等级的类型这一操作称为**强转换**。 (水壶里面的水>杯子的容量,就会出现溢出现象;高等级类型的数值相当于水壶里的水,低等级类型的容量相当于杯子的容量) 当出现溢出现象时,则计算出来的值是不准确的,需要换更大容量的数据类型。

3.转换过程需注意精度问题,如从浮点数类型转换为整数类型不是通过四舍五入取得的,而是通过直接取消小数取得的。
? 
4.当出现计算时,低等级类型转换为高等级类型,是先计算再转换类型,此时要注意计算后的结构仍未低等级类型,是否出现溢出现象

-
默认转换的数值类型是int:
-
当计算有long和int时,结果则为long(高等级) -
当计算里只有byte和short时,计算时是先把byte和short先自动转换成int再进行计算,所以不超int内存限值不会出现溢出现象。 -
当计算结果的值需要是byte类型时,计算式算然都是byte类型,但是因为自动转为int类型,所以需要进行强转换才能转换为byte类型,此时要考虑int值转换为byte值是否出现溢出现象。

tips:当数字很大是,可以用’_'来分隔。如 ‘10_0000_0000’。
变量(variable)
变量:就是可以变化的量
变量的作用:
我们通过变量来操作储存空间中的数据。储存空间是固定的,数据就是变量的值,是可以变化的。
举个栗子
(家里的柜子,有很多格子,每个各自都可以存放上衣,裤子,鞋子等,柜子我们可以看作是储存空间,每个各自要放什么东西呢,是鞋子还是裤子还是衣服呢?那我们就给每各格子贴上标签来确定是放什么定西的,我们可以把标签看作是变量的名字,那格子需要放多少件衣服,多少双鞋子呢,这就是变量的值)
java变量的组成要素
- 变量类型
- 变量名
- 作用域
注意事项:
变量作用域
变量根据作用域可划分为三种
- 类变量(静态变量):独立于方法之外的变量,用static修饰,(从属于类,生命周期伴随类始终,从类加载到卸载。)
- 实例变量:独立于方法之外的变量,不过没有static修饰 ,(从属于对象,生命周期伴随对象结束)
- 局部变量:类方法中的变量 ,(生命周期从声明开始到‘}’结束)
实例变量:
当不填值时,
变量类型为byte、short、int、long时,默认值为0,
? float、double时为0.0,
变量类型 | 默认值 |
---|
byte、short、int、long | 0 | float、double | 0.0 | char | null | boolean | false |
常量
常量:初始化后,不会再有变动的值,即它的值被设定后,程序不允许它的值发生改变。
final 数值类型 常量名 = 值;
final double AB = 15.5;
注:常量名一般使用大写字母
变量名的命名规范
-
所有变量、方法、类名:见名知意 -
类成员变量:首字母小写和驼峰原则:monthSalary -
局部变量:首字母小写和驼峰原则 -
常量:大写字母和下划线:MAX_VALUE -
类名:首字母大写和驼峰原则:Man,GoodMan -
方法名:首字母小写和驼峰原则:run(),runRun()
运算符
-
%:余值,(a=2,b=5 则 c=b%a =1) -
:等于,(a=2,b=2 则ab) -
!=:不等于,(a=2,b=5则a!=b) -
++:自增1 a=2,b=5 b=a++ 则a=3,b=2 // ++在a后面时,则a先赋值给b,然后a再自增  a=2,b=5 b=++a 则a=3,b=3 // ++在a前面时,则a先自增,然后再赋值给b  -
–:自减1 与++同理 -
&&:与(and) -
||:或(or) -
!:非(取反)  注: 短路运算 当a&&b中a与b反过来时,则b&&a,因为需要a与b同时为true时,结果才为true,所以计算机当判断到b为false时,计算就终止了,直接出结果了,并不会去进行a部分的运算,我们称之为短路运算。 -
+=,-=,*=,/= 是缩减写法,如a+=b 实际为a=a+b,a-=b 实际为a=a-b. -
? ::是三目条件运算,如x?y / Z,意思是如果x不等y则为z。  -
字符串连接符:当运算符两侧有一个是字符串类型(string)时,则会自动把操作数转化为字符串类型,然后进行想连接。 
? 但是如果字符串是在后面的,则前面的仍然会进行计算


? 如果想哪个部分进行计算,可以在需要计算的地方增加括号。


包机制
tips:import java.io.* --(*为通配符,即导入io包的所有类)
?
Javadoc
JavaDoc是一种将注释生成HTML文档的技术,生成的HTML文档类似于Java的API,易读且清晰明了。(需要用到文档注释)
|