Java 学习 Day02
一、关键字与保留字
二、标识符的使用
1.标识符:凡是自己可以起名字的地方都叫标识符。
比如:类名、变量名、方法名、接口名、包名…
2.标识符的命名规则:–>如果不遵守,编译不通过!
由26个英文字母的大小写,0-9,_或$组成。
数字不可以开头。
不可以使用关键字和保留字,但能包含关键字和保留字。
java中严格区分大小写,长度无限制。
标识符不能包含空格。
3.java中的名称命名规范:–>如果不遵守,编译可以通过!
包名:多单词组成时所有字母都小写:xxxyyyzzz
类名、接口名:多单词组成时,所有单词的首字母大写:XxxYyyZzz
变量名、方法名:多单词组成时,第一个单词首字母小写,第二个单词开始每个字母首字母大写:xxxYyyZzz
常量名:所有字母都大写。多单词时每个单词用下划线连接:XXX_YYY_ZZZ
4.注意1:起名字时,为了提高阅读性,要尽量有意义,“见名知意”。
注意2:java采用unicode字符集,因此标识符可以使用汉字声明,但是不建议使用。
三、变量的使用
1.java定义变量的格式:数据类型 变量名 = 变量值
2.说明:
①变量必须先声明,后使用。
②变量都定义在其作用域内。在作用域内,它是有效的,换句话说,出了作用域,它就失效了。
③同一个作用域内,不可以声明两个相同的变量
class VariableTest {
public static void main(String[] args) {
//变量的定义
int myAge = 12;
//变量的使用
System.out.println(myAge);
//变量的声明
int myNumber;
//变量的赋值
myNumber = 1001;
System.out.println(myNumber);
}
}
3.变量按照数据类型来分:
基本数据类型:
整型:byte,short,int,long
浮点型:flot,double
字符型:char
布尔型:boolean
引用数据类型:
类(class)
接口(interface)
数组(array)
4.变量在类中声明的位置:
成员变量 VS 局部变量
class VariableTest1 {
public static void main(String[] args) {
//1.整型: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型变量,必须以“L”或“l”结尾
//③通常定义整形变量时,使用int型
short s1=128;
int i1=256;
long l1=12345l;
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';
//编译不通过
//char c2 = 'ab';
System.out.println(c1);
char c3 = '4';
char c4 = '中';
System.out.println(c3);
System.out.println(c4);
//②表示方式:1.声明一个字符 2.转义字符 3.直接使用Unicode值来表示字符型常量
char c5 = '\n';//换行符
c5 = '\t';//制表符
System.out.println("hello" + c5);
System.out.println("world");
char c6 = '\u0043';
System.out.println(c6);
//4.布尔型:boolean
//①只能取两个值之一:ture、false
//②常常在条件判断、循环结构中使用
boolean bb1 = true;
System.out.println(bb1);
boolean isMarried = true;
if (isMarried){
System.out.println("你就不能参加\"单身\"聚会了!\\n很遗憾");
//强调“单身”,输出体现\n,则需要\\n。
}
else{
System.out.println("你可以多谈谈女朋友!");
}
}
}
四、基本数据类型之间的运算规则
前提:这里讨论只有7种基本数据类型变量间的运算。
1.自动类型提升:
结论:当容量小的数据类型的变量与容量大的数据类型的变量做运算时,结果自动提升为容量大的数据类型。
byte,short,char --> int --> long --> float --> double
说明:此时的容量大小指的是,表示输的范围的大和小。
特别的:当byte,short,char三种类型的变量做运算时,结果为int型
2.强制类型转换:自动类型提升运算的逆运算。
(1)需要使用强制转换符:()
(2)注意:强制类型转换,可能导致精度损失。
class VariableTest2 {
public static void main(String[] args) {
byte b1 = 2;
int i1 = 129;
//编译不通过
//byte b2 = b1 + i1;
int i2 = b1 + i1;
long l1 = b1 + i1;
System.out.println(i2);
System.out.println(l1);
float f1 = b1 + i1;
System.out.println(f1);
short s1 = 132;
double d1 = s1;
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;//编译不通过
//***************************************
//***********强制类型转换*****************
double d1 = 12.9;
//精度损失举例1
int i5 = (int)d1;//截断操作
System.out.println(i5);
//没有精度损失
long l2 = 125;
short s2 = (short)l2;
//精度损失举例2
int i6 = 128;
byte b = (byte)i6;
System.out.println(b);//-128
}
}
说明:(1)整型常量,默认类型为int型
(2)浮点型常量,默认类型为double型
五、 String类型变量的使用
1.String属于引用数据类型,翻译为:字符串
2.声明String类型变量时,使用一对""
3.String可以和8种基本数据类型变量做运算,且运算只能是连接运算:+
4.运算的结果仍然是String类型
class StringTest {
public static void main(String[] args) {
String s1 = "Hello World!";
System.out.println(s1);
String s2 = "a";
String s3 = "";
//编译失败,char型必须包含一个字符
//char c1 = '';
char c2 = ' ';
//********************************
//练习一
char c = 'a';//97 A:65
int num = 10;
String str = "hello";
System.out.println(c + num + str);//107hello
System.out.println(c + str + num);//ahello10
System.out.println(c + (num + str));//a10hello
System.out.println((c + num) + str);//107hello
System.out.println(str + num + c);//hello10a
//练习二
//* *
System.out.println("* *");//可
System.out.println('*' + '\t' + '*');//不可,按照ASCII码进行计算了
System.out.println('*' + "\t" + '*');//可"\t"仍然是制表符
System.out.println('*' + '\t' + "*");//不可,前两个是ASCII运算,后面是字符串连接运算,结果是51*
System.out.println('*' + ('\t' + "*"));//可,小括号内运算后是字符串
//***************************
String str1 = 123 + "";
System.out.println(str1);//"123" ,尽管输出显示是123,其实是"123"
//int num1 = (int)str1;//强制转换失效
int num2 = Integer.parseInt(str1);
System.out.println(str1);
}
}
六、进制转换
1.四种进制表示方法
2.进制间的转换