新手小白学习JAVA,记录学习第四弹~
*标识符
标识符开头只能是大小写字母(A~Z或a~z)、美元符($)、下划线(_)。
写完首字符之后,后面可以任意接,但是要注意一些特殊符号。
标识符是大小写敏感的。
举例:
public class Demo01标识符 { public static void main(String[] args) { String Ahello = "qingjiang"; String hello = "qingj1"; String $heloo = "qungjai"; String _hello = "qingsh1"; } }
*数据类型
一、基础数据类型
1.数值类型
①整数:byte、 short、int、long
②浮点数:float、double
③字符:char
2.boolean类型:
结果只有true和false
二、引用数据类型
1.类
2.接口
3.数组
三、各数据类型的表达方式
(一)整数的四种表达方式
举例:
public class Demo02{ public static void main(String[] args) { int num1 = 10; byte num2 = 19; short num3 = 333; long num4 = 9999999L; //如果定义的数字一样,怎么区别这个数字用了“long“,在数字后面加一个大写字母”L“ } }
(二)浮点数
举例:
public class Demo02{ public static void main(String[] args) { float num5 = 11.1F;//怎么区别这个小数用了“float“,在数字后面加一个大写字母”F“ double num6 = 123.32132112; } }
(三)字符类型
举例:
public class Demo02{ public static void main(String[] args) { char name = '小' //字符只能容纳一个字,多一个就不行,并且引号使用的的是单引号‘’ } }
(四)字符串类型
举例:
public class Demo02{ public static void main(String[] args) { String namea = "你好小鱼"; } }
(五)布尔值
举例:
public class Demo02{ public static void main(String[] args) { boolean flag = true; } }
或者:
public class Demo02{ public static void main(String[] args) { boolean flag = false; } }
*类型转换
一、自动转换:
低容量向高容量转换
举例:
public class Demo04 { public static void main(String[] args) { int i = 128; double b = i; System.out.println(i); System.out.println(b); //运行结果均为128 } }
二、强制转换:
高容量想低容量转换
举例:
public class Demo04 { public static void main(String[] args) { int i = 128; byte b = (byte) i; //要将int i转换成byte i 在i的前面输入类型,用括号括起来即可 System.out.println(i);//输出为128 System.out.println(b);//输出为-128,结果错误,为什么?因为byte的最大值为127,存在一个内存溢出的问题 } }
内存溢出问题举例:
public class Demo04 { public static void main(String[] args) { int money = 10_0000_0000; int years = 20; int total = money*years;//结果为-1474836480,计算时候溢出了 long total2 = money*years;//输出结果和上面相等,因为在计算时,money和years都先默认时int,在转换前就已经存在溢出问题了,所以后续转换为容量更大的long也会是复数 long total3 = money*((long)years);//w在计算前先将数据进行转换,输出结果正确 System.out.println(total); System.out.println(total2); System.out.println(total3); } }
注意事项:
- 不能对布尔值进行转换
- 不能把对象类型不能转换为不相干的类型
- 在把高容量转换到低容量的时候,强制转换
- 转换的时候可能存在内存溢出,或者精度问题!
精度问题举例:
public class Demo04 { public static void main(String[] args) { System.out.println((int)23.7)//结果为:23 System.out.println((int)-45.89)//结果为:-45 } }
*变量
分为:局部变量、实例变量、类变量
一、局部变量:
是在方法里面的,即生命周期在main或其他方法的{}里面,必须声明和初始化值.
public class Demo05 { //局部变量(是在方法里面的,即生命周期在main或其他方法的{}里面),必须声明和初始化值 //main方法 public static void main(String[] args) { //例: int i = 10; System.out.println(i);//输出结果:10 } }
二、实例变量:
从属于对象(简单理解为从属于类),如果不进行初始化。这个类型会自动输出默认值 如:0 0.0 u0000。
举例:
public class Demo05 { String name; int age; public static void main(String[] args) { //变量类型 变量名字 = new Demo05() Demo05 demo05= new Demo05(); System.out.println(demo05.age);//输出结果:0 System.out.println(demo05.name);//输出结果为:null //布尔值:默认输出false //除了基本类型,其余默认值都是null } }
三、类变量:
public class Demo05 { //属性:变量 //类变量 static 从属于类的,并且会随着类一起消失 static double salary = 3000 public static void main(String[] args) { System.out.println(salary);//输出值为:3000 } }
四、变量命名规范
- 1.所有变量、方法、类名都要见名知意
- 2.类成员变量:首字母小写和驼峰原则:monthSalary 除了第一个单词以外,后面的单词首字母大写
- 3.局部变量:首字母大写和驼峰原则
- 4.常量:大写字母和下划线:MAX_GOODMAN
- 5.类名:首字母大写和驼峰原则:Man GoodMan
- 6.方法名:首字母小写和驼峰原则:run() runRun()
*常量
通过final这个关键词进行定义
举例:
ublic class Demo06 { static final double PI = 3.14; //final是修饰符,不存在先后顺序,可以写在static前面也可以写在static后面 public static void main(String[] args) { System.out.println(PI);//输出结果为:3.14 } }