Java的基本语法(标识符、数据类型、变量和常量)
标识符
标识符是程序员对程序中的各个元素(类名、变量名、常量名、方法名)命名时,使用的命名记号。
命名规则
- 开头第一个字符只能是字母、下划线_、或$
- 后面的字符为以上三种加数字
- 大小写敏感,不能使用关键字
命名习惯
- 类名首字母大小写
- 常量名全部字母均大写
- 如果名字由多个单词构成,则首字母小写,其后的单词的首字母大写
Java中常见的关键字
数据类型
输出数据的格式控制(C语言)
public class Demo {
public static void main(String[] args) {
int i =47;
System.out.printf("%d\n",i);// 47
System.out.printf("%x\n",i);// 2f
System.out.printf("%X\n",i);// 2F
System.out.printf("%#x\n",i);// 0x2f
System.out.printf("%#X\n",i);// 0X2F
}
}
整数类型
- 进制:十进制(123);十六进制(Ox123)= 十进制(291);八进制(O123)= 十进制(83),八进制(-011)= 十进制(-9)
- 整型变量
eg: long i=999999999999;// error
编译报错,提示数字过大,要改为: long i=999999999999L;
浮点数类型
- 分为单精度浮点数float和双精度浮点数double
- 一个实数默认是double类型,如果希望一个实数是float类型,可以在数字后加f(F)。
- 将一个double类型数值赋给float类型变量,编译会报错:
float x=2.2;// error
float x=2.2f;// ok
字符类型
- 必须用单引号括起来(双引号表示字符串),Java中字符和字符串都用Unicode编码表示,在此编码中,一个字符占两个字节。 eg: ‘a’, ‘B’, ‘\n’, ‘\u0030’
- 反斜线’\’;制表符’\t’;退格’\b’;换行’\n’;回车’\r’;单引号’’’
- char占2个字节,数的范围是0~216 -1 ,只能存放一个字符,超过一个字符就会产生编译错误。
char c = ‘中国’; // error
char d = ‘ab’; // error
布尔类型
- 布尔型数据只有两个值true和false,且它们不对应于任何整数值,都是小写字母
- 布尔型变量的定义如:boolean b = true;
- boolean占1个字节
数据类型转换
1.原则:小范围、低精度的数据类型转化为大范围、高精度的类型。
byte —> short, char —> int —> long —> float —> double(低—>高)
eg: int i = 9; double d = i; => d=9.0
2. 在把容量大的类型转换为容量小的类型时,必须使用强制类型转换。
3. 举例:
byte b = 10; // 1个字节
int i = 6; // 4个字节
i = b; // ok
//b = i; // error,会丢失数据
b = (byte) i; // ok,强制类型转化
float x;
//x = 10*0.2; //error,10*0.2是double类型
x = 10*0.2f; // ok
//x = (float)10*0.2; // error,只是将10转为float,再乘以0.2double类型时会报错
x = (float)(10*0.2); // ok,强制类型转化
变量
作用域
成员变量
在一个类内,但在方法之外的变量,这个变量就叫做字段或者属性、成员变量、Field。
public class HelloWorld {
int i = 1;
public void method(){
System.out.println(i); // method方法里可以访问i
}
}
变量i就是一个属性,从第2行这个变量声明的位置开始,整个类都可以访问得到。所以其作用域就是从其声明的位置开始的整个类
参数变量
在方法声明的( )中的变量。
public class HelloWorld {
public void method1(int i){ //参数i的作用域即方法method1
System.out.println(i);
}
public void method2(){
System.out.println(i); //method2 不能访问参数i
}
int j = i; //类里面也不能访问参数i
}
参数的作用域即为该方法内的所有代码
其他方法不能访问该参数
类里面也不能访问该参数
局部变量
声明在方法内或{ }内的变量,叫做局部变量 。
public class HelloWorld {
public void method1() {
int i = 5; //其作用范围是从声明的第3行,到其所处于的块结束11行位置
System.out.println(i);
{ //子块
System.out.println(i); //可以访问i
int j = 6;
System.out.println(j); //可以访问j
}
System.out.println(j); //不能访问j,因为其作用域到第9行就结束了
}
}
其作用域在声明开始的位置,到其所处于的块结束位置。
变常(变量final)
在Java中,利用关键字final标识常量,表示这个变量只能被赋值一次,一旦被赋值,就不能再更改。习惯上,常量名使用全大写。