java基础学习笔记
一、标识符、关键字注意点
-
标识符开头:都应该以字母、美元符、下划线。切记:不能以数字开头
-
首位字符以后,可以是字母,美元符,下划线,数字的任何字符组合
-
标识符对大小写敏感
-
不能使用关键字作为变量名或方法名
-
变量,标识符可以用中文命名但尽量写英文,类名尽量不用中文。
二、数据类型

-
银行业务,表示钱:一般会用数信工具类:BigDecimal
-
强制转换,在需要强制转换的数据前加小括号,写上需要转换的类型。
//char c1 ='a' c1是字符型数据
//(int)c1; 将字符型数据强制转换为整数型
// 所有字符都是数字
-
转义字符
// \t:制表符
// \n:换行-
进制注意点
// 八进制前 加0
// 十六进制前 加0x
-
-
布尔值书写,代码要精简易读
boolean flag = true;
if (flag == ture){} // 新手
if (flag){} //老手, 默认为true
三、类型转换
-
java是强类型语言,所以在运算时,必须用到类型转换。
-
运算中,不同类型的数据必须先转化为同一类型。
int i = 128;
byte b = (byte)i; //输出结果为-128,因为byte的范围为(-128—127).此现象为:内存溢出
//且将i值赋于b值时,前面必须强制转换为与b值同一类型。
System.out.println((int)23.7); // 结果为:23
System.out.println((int)-25.7f); //结果为:-25 后面小数不见了,存在一个精度问题
-
自动转换
-
不能对Boolean值进行转换
-
不能把对象类型转换为不相干的类型
-
在把高容量数据转换到低容量的时候,需要强制转换(由低容量转高容量,则自动转换)
-
转换的时候可能存在内存溢出的情况,或者精度问题
-
操作比较大的数的时候,注意溢出问题
int money = 10_0000_0000;
int years = 20;
int total = money*years;//输出结果为-1474836480,计算结果溢出了;
long total2 = money*years;// 将输出总价定义为long,结果还是会溢出,因为转换之前,数据已经出了问题
long total3 = money*((long)years);
System.out.println(tota13);// 此时输出结果正常
四、变量
-
变量是可以变化的量。
-
java是一种强类型语言,每个变量都必须声明其类型。
-
java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。
Type varName [=value] //格式:数据类型 变量名 = 值;
Type varName [{ ,varName[ =value]}] //可以使用逗号隔开,来声明多个同类型变量
-
注意事项
-
每个变量都有类型,类型可以是基本类型,也可以是引用类型。
-
变量名必须是合法的标识符。
-
变量声明是一条完整的语句,因此每一个声明都必须以分号结束。
-
-
变量作用域
public class Variable{
static int allClicks=0; //类变量 (前面加了static),与最前面命名的类共存亡。
string str="hello world"; //实例变量(方法外面,类里面。从属于类=从属于对象)
public void method(){
int i=10; //局部变量 (在方法里面,必须声明和初始化值)
}
}-
局部变量:只能在局部有效,使用前必须声明和初始化值。
public static void main(String[] args){ //在main方法
int i=9;
System.out.println(i);//可以输出 i值为9。
}
//其他方法:
public static void main(String[] args){
System.out.println(i);// 无法输出i值,因为在这个main类里面没有对i变量进行声明和赋值
}
-
实例变量:从属于对象(必须在类里面使用,可以不用初始化,默认值为0)
布尔值:默认为false;
除了八大基本类型以外,其余默认值都为null。
-
类变量:前面加一个static,后面可以直接使用。
变量的命名规范:
-
所有变量,方法,类名:都要能认识,不要乱起名。
-
类成员变量:书写规则—首字母小写加驼峰原则,eg:monthSalary (月工资)
-
局部变量:书写规则也要遵循—首字母小写加驼峰原则
-
类名:首字母大写加驼峰原则; eg :GoodMan (好男人)
-
方法名:首字母小写加驼峰原则
-
常量
-
final 代表常量,不允许改变的值,用final 做修饰符,不存在先后顺序。
-
常量尽量全用大写字符,eg:PI
-
常量在前面命名和赋值后,后面不用重新赋值。
public class 类名{
final static double PI =3.14;
static final double PI =3.14;// 与前面一行语句输出结果是一致的。
} -
-
-