>JAVA基本语法
标识符
定义:凡是自己可以起名字的地方都叫标识符。
涉及到的结构:
包名、类名、接口名、方法名、变量名、常量名。
标识符命名规则:(必须遵守,否则编译不通过)
1.由26个英文字母大小写,0-9、_或$组成。
2.数字不可以开头。
3.不可以使用关键字或保留字,但可以包含关键字和保留字。
4.Java中严格区分大小写,长度无限制。
5.标识符不能包含空格。
标识符命名规范:(建议遵守,不影响编译和运行)
包名:多单词组成时所有字母都小写:xxxyyyzzz
类名、接口名:多单词组成时,所有单词的首字母大写:XxxYyyZzz
变量名、方法名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写:xxxYyyZzz
常量名:所有字母大写,多单词时每个单词用下划线连接:XXX_YYY_ZZZ
注意点:起名尽量“见名知意”。
变量的分类
1.按数据类型分类
2.详细说明:
整型:
byte(1字节=8bit) -128~127 short(2字节) int(4字节) long(8字节)
①声明long型变量,必须以“l”或“L”结尾
②通常定义整型变量,使用int型
③整型的常量,默认类型为:int
浮点型:
float(4字节),double(8字节)
①表示带小数点的数值
②float表示数值的范围比long还大
③定义float类型变量时,变量要以f或F结尾
④通常,定义浮点型变量时,使用double型
⑤浮点型的常量,默认类型为:double
字符型:
char(1字符=2字节=16bit)
①定义char型变量,通常使用一对'',内部只能写一个字符
②表示方式:1.声明一个字符2.转义字符3.直接使用unicode值表示字符型常量
③
char c5='\n';//换行符
c5='\t';//制表符,tab键功能
char c1=87;//开发中非常少见
//****************
char c3=5;//数字5
char c4='5';//字符5所对应的ASCII码值
布尔型:boolean
①只能取两个值之一true,false
②常常在条件判断、循环结构中使用
③
boolean bb1=true;
System.out.println(bb1);
boolean isMarried=true;
if(isMarried){
// "\"表示后一位为字符
System.out.println("你就不能参加\"单身\"派对了!\\n很遗憾");
}
else{
System.out.println("你可以多谈女朋友");
}
// "\"表示后一位为字符
System.out.println("你就不能参加\"单身\"派对了!\\n很遗憾");
3.按声明的位置分类(了解)
4.定义变量的格式:
数据类型 变量名 = 变量值;
或
数据类型 变量名;
变量名 = 变量值;
5.变量使用的注意点
①变量必须先声明,后使用。
②变量都定义在其作用域内,仅在其作用域内是有效的。
③同一个作用域内,不可以声明两个同名的变量。
基本数据类型变量间运算规则
1.涉及到的基本数据类型:
除了boolean之外的其他七种。
2.自动类型转换(只涉及7种基本数据类型)
当容量小的数据类型的变量与容量大的数据类型的变量做运算时,结果自动提升为容量大的数据变量。
byte、char、short -->int -->long -->float -->double
特别的:当byte、char、short三种类型的变量做运算时,结果为int型
说明:此时的容量大小指的是,表示数的范围的大和小。比如:float容量要大于long的容量。
示例:
byte b1=2;
int i1=12;
float f=b1+i1;
System.out.println(f);//输出结果自动补小数点后零 14.0
3.强制类型转换(只涉及7种基本数据类型):自动类型提升运算的逆运算。
①需要使用强转符:()
②注意点:强制转换类型,可能导致精度损失
示例:
class VariableTest3 {
public static void main(String[] args) {
double d1=12.9;
//精度损失举例1
int i1=(int)d1;//截断操作,去除小数点后数字
System.out.println(i1);//12
//没有精度损失
long l1=123;
short s2=(short)l1;
//精度损失举例2
int i2=128;
byte b=(byte)i2;
System.out.println(b);//-128
}
}
String与8种基本数据类型间的运算
①String属于引用数据类型,翻译为:字符串
②声明String类型变量的时候,使用一对“”
③String可以和8种数据类型变量做运算,且运算只能连接运算:+
④运算的结果仍然是String类型
//************************
//练习1
char c='a';//a:97 A:65 B:66
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
//练习2
//***********
System.out.println("* *");//* *
System.out.println('*'+'\t'+'*');//93
System.out.println('*'+"\t"+'*');//* *
System.out.println('*'+'\t'+"*");//51*
System.out.println('*'+('\t'+'*'));//93
//***********
//String不是数字运算
//String str =123;//编译不通过
String str1=123+"";
System.out.println(str1);//"123"
//int num1=str1;编译不通过
//int num1=(int)str1;编译不通过//"123"
int num1=Integer.parseInt(str1);
System.out.println(num1);//123
进制
1.编程中涉及到进制及表示方法
2.二进制的使用说明
①计算机底层的存储方式:所有的数字再计算机底层都以二进制形式存在
②二进制数据的存储方法:所有的数值,不管正负,底层都以补码的方式存储
③原码、反码、补码的说明:
正数:三码合一
负数:原码:直接将一个数值换位二进制数,最高位是符号位
反码:是对原码进行按位取反,只是最高位(符号位)确定为1
补码:其反码加1