java入门(二)
-
标识符
-
数据类型
-
类型转换
-
变量、常量、作用域
本次笔记引用B站:狂神说,虽然早就会了,现在回头来敲下基础,加深印象
1.标识符:
java所有的组成部分都需要名字。类名丶变量名丶方法名统称为标识符。
标识符大小写敏感。
不能使用关键字作为变量名或方法名。
首字母应以字母(A-Z或a-z),美元($),或者下划线(_)开始。
2.数据类型:
java是强类型语言,要求变量的使用严格符合规定。
补充知识:
位(bit)是计算机内部数据储存的最小单位。
字节(byte)是计算机中数据处理的基本单位,习惯上用大写B表示。
1B(byte字节)=8(bit位)。
字符:是指计算机使用的字母,数字,字和符号。
所有的字符本质还是数字,可以强制转换
3.类型转换
由于java是强类型语言,所以在有些运算时,需要用到类型转换。
运算中,不同类型的数据先转换为同一数据类型,然后在进行运算。
转换时应避免内存溢出
int g = 128;
byte o = (byte)g;//内存溢出
//强制转换(类型)变量名 从高到低
int g = 128;
long o = g;
//自动转换,从低到高
注意点:
-
不能对布尔类型进行转换
-
不能把对象类型转换为不相干的类型
-
在把高容量转换为低容量的时候,需要强制转换
-
在转换的时候可能存在内存溢出,或者精度问题
-
操作比较大的数时,注意溢出问题,jdk7新特性,数字之间可以用下划线分割
int money = 1_000_000_000;//下划线不会输出 int years = 20; int total = money*years;//控制台输出为-1474836480 ,计算的时候内存溢出了 long total2 = money*years;//默认是int,转换之前已经出问题了 long total3 = money*((long)years);//先把一个数转换为Long,计算之前把精度问题解决了 System.out.println(total3);
-
书写时需要用到L时尽量用大写L,因为小写l很多时候会被看成数字一。
4.变量、常量、作用域
变量:
变量是可以变化的量!
java是一种强类型语言,每个变量都必须声明其类型
java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域
int num = 1;
//数据类型 变量名 = 值;可以使用逗号隔开来声明多个同类型变量
注意:
每个变量都有类型,可以是基本类型,也可以是引用类型。
变量名必须是合法标识符。
变量声明是一条完整的语句,因此每一个声明都必须以分号结束。
注意程序可读性
变量作用域:
- 类变量
- 实例变量
- 局部变量
public class Variable{
static int allClicks = 0;//类变量,加一个static
String str = "hello world";//实例变量,没有static
public void method(){
int i = 0;//局部变量,必须声明和初始化值,生命周期在花括号里
}
}
public class Demo{
//类变量 static
static double saLary = 2500;
//属性变量
//实例变量:从属于对象,如果不自行初始化,这个类型的默认值0 0.0
//布尔值,默认是false
//除了基本类型,其余的都是null,比如引用类型String
String name;
int age;
//main方法
public static void main(String[] args){
//局部变量,必须声明和初始化值
int i=10;
System.out.println(i);
}
//变量类型 变量名字 = new Demo();
Demo demo = new Demo();
System.out.println(demo.age);
System.out.println(demo.name);
//类变量 static
System.out.println(saLary);
//类变量从属类Demo,声明周期随这个类开始和消失
}
常量:
常量(Constant):初始化(initialize)后不能再改变值,不会变动的值
所谓常量可以理解成一种特殊的变量,它的值被设定后,在程序运行过程中不允许改变
final 常量名 = 值;
final double PI = 3.14;
常量名一般使用大写字符
变量的命名规范:
所有变量丶方法丶类名:见名知意
类成员变量:首字母小写和驼峰原则:monthSalary
局部变量:首字母小写和驼峰原则
常量:大写字母和下划线:MAX_VALUE
类名:首字母大写和驼峰原则:Man
方法名:首字母小写和驼峰原则:run();runRun()