1、 标识符
指给Java程序中变量,类,方法,包等命名的规则。
规则
1、标识符必须以字母(A-Z和a-z)、数字(0-9)、下划线“_”、美元符号“$”组成。
2、标识符不能以数字开头,其他部分可以任意组合。
3、Java标识符大小写敏感,且长度无线。
规范
1、类名必须以大驼峰式命名法则。
例如:Person, GoodStudent
2、方法名和变量名以小驼峰式命名规则。
例如:int userName; public void eatFood(){}
2、变量
总结: 1、在方法中声明的变量,必须是赋值之后才能使用。
2、先声明后赋值,没有声明的变量名什么都不是。
3、变量名必须是合法的标识符,采用首字母小写的小驼峰式命名。
4、赋值的数据类型必须和声明变量类型一致。
5、在同一方法中,不能声明多个同名的变量。
3、常量
1、特点
只能赋值一次,赋值之后在不能执行赋值操作。
2、关键字修饰
语法:final 数据类型 常量名
3、注意
命名规范:单词全部大写,多个单词以下划线连接。
4、固定值常量
整数型常量固定值类型为:int类型。
浮点型常量固定值类型为:double类型。
数据类型分类
1、基本数据类型
Java中八大数据类型:
1、数值型:
byte,长度:1字节,范围:-27~27-1
short,长度:2字节 , 范围:-215~215-1
int, 长度:4字节,范围:-231~231-1
long,长度:8字节,范围:-263~263-1
2、浮点型:
float 长度:4字节
double 长度:8字节
3、boolean型:true,flase
4、字符型:char 长度:4字节
字符在内存中的存取
把整数转化为二进制,然后存储在内存中,
把内存中二进制转化为十进制,然后输出
解决:编码表,存---->编码。取---->解码
char类型和int类型之间的联系和区别
联系:
在内存中存储的都是整数!
区别:
a)char类型占用2个字节,int类型占用四个字节。
char存储的数值范围小于int类型存储的数据范围!
b)char类型在内存中存储的是正整数
int类型在内存中可以存储正整数,也可以存储负整数
char类型和int类型之间的转换
char类型转换为int类型
char c = 'a';
System.out.println(c + 10);
int类型转换为char类型
int num = 97;
char c = (char)num;
2、引用类型
数组、String等…
数据类型/转换
1.基本数据类型转换
1.1为什么需要学习基本数据类型转换???
java是强类型语言,要求参与“赋值运算”和“算数运算”的数据类型保持一致!
1.2基本数据类型转换的方式有哪些???
a)隐式类型转换(自动)
b)强制类型转换(手动)
1.3哪些基本数据类型能够相互转换???
八大基本数据类型中,除了boolean类型之外,其余的数据类型都可以相互转换
1、隐式类型转换(自动)
原则:从低字节向高字节提升!
byte --> short --> int --> long --> float --> double
char --> int
赋值运算:
从低字节向高字节提升!
特例:把int类型常量赋值给byte、short和char类型的变量时,属于
隐式类型转换的特例,只需要赋值的结果不超出其表数范围即可
要求:1)赋值的数据必须是int类型的常量
2)赋值的数据不能超出其表数范围
算数运算:
如果两个操作数其中有一个是double类型,另一个操作就会转换为double类型。
否则,如果其中一个操作数是float类型,另一个将会转换为float类型。
否则,如果其中一个操作数是long类型,另一个会转换为long类型。
否则,两个操作数都转换为int类型。
例子:
byte b1 = 11; byte b2 = 12;byte sum = b1 + b2; // 错误
2、强制类型转换
1.1什么时候需要强制类型转换???
当隐式类型转换搞不定的时候,就使用强制类型转换!
1.2强制类型转换的语法???
语法:(目标类型)常量或变量;
1.3强制类型转换的注意点
a)强制类型转换的底层实现使什么???详情请看画图
b)使用强制类型转换的时候需要慎重,可能会丢失精度!
c)如何实现对一个小数取整????
int num = (int)123.45;
d)强转的时候,请明确需要强转数据的范围!!
byte num1 = 10;
byte num2 = 20
short sum1 = (short)num1 + (short)num2; // 错误
short sum2 = (short)(num1 + num2); // 正确
PS:小白学习分享笔记,有不对的地方,请大家指出!