目录
标识符的命名规范
定义变量的注意点
JAVA定义的数据类型
基本数据类型之间的运算规则
强制类型转换:自动类型提升运算的逆运算。
变量运算规则的两个特殊情况
Sring类型变量的使用
不同进制的表示方式
标识符的命名规范
包名:xxxyyyzzz
类名、接口名:XxxYyyZzz
变量名、方法名:xxxYyyZzz
常量名:XXX_YYY_ZZZ
定义变量的注意点
public class man { public static void main(String[] args){ //变量的定义 int myAge = 12; //变量的使用 System.out.println(myAge); int myNumber; myNumber = 1001; System.out.println(myNumber); }}
JAVA定义的数据类型
一、变量按照数据类型来分:
基本数据类型:
整型:byte short int long
浮点型:float double
字符型: char
布尔型:boolean
引用数据类型:
类(class)
接口(interface)
数组(array)
二、变量在类中声明的位置:
成员变量 vs 局部变量
VariableTest1.java
public class VariableTest1 { public static void main(String[] args){ //整型:byte(1字节=8bit) short(2字节) int(4字节) long(8字节) //①.byte范围:-128 ~127 byte b1 = 12; byte b2 = -128; //b2 = 128;//编译不通过 System.out.println(b1); System.out.println(b2); //②.声明long型变量,必须以“1”或“L”结尾 short s1 = 128; int i1 = 1234; long l1 = 3434535L; System.out.println(l1); //2.浮点型:float(4字节) double(8字节) //①浮点型,表示带小数点的数值 //②float表示数值的范围比long还大 double d1 = 123.3; System.out.println(d1+1); //③定义float类型变量时,变量要以“f”或“F”结尾 float f1 = 12.3f; System.out.println(f1); //④通常,定义浮点型变量时,使用double型。 //3.字符型:char (1字符=2字节) //①定义char类型变量,通常使用一对'',内部只能写一个字符 char c1 = 'a'; //c1 = 'AB';编译不通过 System.out.println(c1); char c2 = '1'; char c3 = '中'; System.out.println(c2); System.out.println(c3); //②表示方式:1.声明一个字符 2.转义字符 3.使用Unicode值来表示字符型常量 char c5 = 'n';//换行符 c5 = 't';//制表符 System.out.print("hello"+c5); System.out.println("world"); char c6 = 'u0123'; System.out.println(c6); //4.布尔型:boolean //①只能取两个值之一:true、 false //②常常在条件判断、循环结构中使用 boolean bb1 = true; System.out.println(bb1); boolean isMarried = true; if (isMarried){ System.out.println("你"就不"能n参\n加"); }else{ System.out.println("你可以多谈谈"); } }}
基本数据类型之间的运算规则
前提:这里讨论的只是7种基本数据类型变量间的运算。不包含boolean类型的。
1.自动类型提升:
结论:当容量小的数据类型的变量和容量大的数据类型的变量做运算时,结果自动提升为容量大的数据类型。
byte 、char 、short --> int --> long --> float --> double
特别的:当byte、char、short三种类型的变量做运算时,结果为int型
说明:此时的容量大小指的是,表示数的范围的大和小。比如:float容量要大于long的容量
VariableTest2.JAVA
public class VariableTest2 { public static void main(String[] args){ byte b1 = 2; int i1 = 12; //编译不通过 //byte b2 = b1 + i1; int i2 = b1 + i1; long l1 = b1+ i1; System.out.println(i2); float f = b1 + i1; System.out.println(f); short s1 = 123; double d1 = s1;//123.0 System.out.println(d1); //********************************** char c1 = 'a';//97 int i3 = 10; int i4 = c1 + i3; System.out.println(i4); short s2 = 10; //char c2 = c1 + s2;编译不通过 byte b2 = 10; //char c3 = c1 + b2;编译不通过 }}
强制类型转换:自动类型提升运算的逆运算。
1.需要使用强转符:()
2.注意点:强制类型转换,可能导致精度损失
VariableTest3.java
public class VariableTest3 { public static void main(String[] args){ double d1 = 12.9; //精度损失举例1 int i1 = (int)d1;//截断操作 System.out.println(i1); //没有精度损失 long l1 = 123; short s2 = (short)l1; //精度损失举例2 int i2 = 128; byte b = (byte)i2; System.out.println(b);//-128 }}
变量运算规则的两个特殊情况
VariableTest4.java
public class VariableTest4 { public static void main(String[] args){ //1.编码情况1; long l = 123213;//右边认为是int,int比long大 System.out.println(l); //编译失败:过大的整数 //long l1 = 223453453645646456; long l1 = 1231231231231313L;//遇到特别大的数必须加L //************************* //编译失败 //float f1 = 12.3f;//必须加f float f1 = (float)12.3; //2.编码情况2: //整型常量:默认类型为int //浮点型常量,默认类型为double型 byte b = 12; //byte b1 = b + 1; //float f1 = b + 12.3;//编译失败 }}
Sring类型变量的使用
1.String属于引用数据类型,翻译为:字符串
2.声明String类型变量时,使用一对“”
3.String可以和8种基本数据类型变量做运算,且运算只能是连接运算:+
4.运算的结果仍是String类型
StringTest.java
package Day02;public class StringTest { public static void main(String[] args){ String s1 = "HELLO"; System.out.println(s1); String s2 = "a"; String s3 = ""; //char c = '';//编译不通过 //****************************************** int number = 1001; String numberStr = "学号: "; String info = numberStr + number;// +:连接运算 boolean b1 = true; String info1 = info + b1; System.out.println(info1); //****************************************** //练习1 char c = 'a';//97 int num = 10; String str = "hello"; System.out.println(c + num + str);//107hello3 System.out.println(c + str + num);//str System.out.println(c + (str + num));//a10hello System.out.println((c + str) + num);//107hello System.out.println(num + str + c);//hello10a //练习2 System.out.println("* *"); System.out.println('*' + 't' + '*'); System.out.println('*' + "t" + '*');//单引号是char,双引号是String System.out.println('*' + 't' + "*"); System.out.println('*' + ('t' + "*")); //******************************** String str1 = 123 + ""; System.out.println(str1); //int num1 = str1;错误 //int num1 = (int)str1;错误 }}
不同进制的表示方式
二进制:以0b或0B开头
八进制:以数字0开头
十六进制:以0x或0X开头