java基础(一)
(1)Java主类结构
Java程序中最基本的组成单位是类
(2)数据类型
计算机存储设备的最小信息单元叫“位(bit)”,我们又称为“比特位”,通常用小写的字母“b”表示,而计算机中最小的存储单元叫“字节(byte)”,通常用大写字母“B”表示,字节是由连续的8个位组成。
除了字节外还有一些常用的存储单位:
1B(字节) = 8bit
1KB = 1024B
1MB = 1024KB
1GB = 1024MB
1TB = 1024GB
数据类型:不同数据类型分配了不同的内存空间,它们所表示的数据大小也不一样
①整数类型:
byte 8位 -128~127
short 16位 -32768~32767
int 32位 -2147483648~2147483647(默认类型)
long 64位 ------------
(8位等于1字节)
对于long类型值,若赋给的值大于int型的最大值或小于int型的最小值,则需要在数字后加L或l,表示该数值为长整数。
如: long num = 3147483650L;
使用不同进制的整数赋值
10进制
8进制 : 以0开头 如 int a = 033;
6进制 以OX 或 Ox开头 如 int c = Ox33;
②浮点类型
float 32位
double 64位 (默认类型)
(8位等于1字节)
默认情况下,小数都被看做double型,若使用float型小数,则需要在小数后面添加F或f(可以使用后缀d或D来明确表示这是一个double类型数据)
声明float型变量时如果不加f,系统会认为变量是double类型,从而出错。
float 修饰 必须加F或f后缀
double 修饰 可加D、d后缀也可不加
注意: 近似值不精准!
例① 4.35*100 = 434.999999994
处理方法 四舍五入法
使用Java提供四舍五入方法 Math.round()
double a= 4.35*100;
System.out.println(a);
System.out.println(Math.round());
例② 0.1==2.0-1.9
处理方法 最小值对比法
使用Java提供取绝对值方法 Math.abs()与最小数“1e-6”相比较
double a = 0.1;
double b = 2.0-1.9;
System.out.println(a);
System.out.println(b);
System.out.println(a==b);
System.out.println(Math.abs(a-b)<1e-6);
③字符类型
char型
字符类型(char)用于存储单个字符,占用16位(两个字节)的内存空间。
java中的char采用unicode编码 取值范围:0~65536
字符:用单引号包含的可打印的单个符号
字符串:用双引号包含的可打印的符号
如 ‘s’表示一个字符
而“s”表示一个字符串 ,虽然只有一个字符,但由于使用双引号,它仍然表示字符串,而不是字符
char x = 'a';
//等于
char x = 97;
System.out.println('8'*2);// 112
System.out.println(8*2); // 16
转义字符
如果想输出一个单引号,用(’‘’)三个单引号编译器会报错,用转义字符
④布尔类型
布尔类型又称逻辑类型,通过关键字boolean来定义布尔类型变量,只有true和false两个值,分别代表布尔逻辑中的“真”和“假”,布尔值不能与整数类型进行转换,布尔类型通常被用在流程控制中,作为判断条件。
(3)变量与常量
在程序执行过程中,其值不能被改变的量称为常量,其值能被改变的量称为变量。变量与常量的命名都必须使用合法的标识符。
①标识符和关键字
标识符
标识符可以简单地理解为一个名字,用来标识类名、变量名、方法名、数组名、文件名的有效数字符序列。
Java语言规定标识符由任意顺序的字母、下画线(_)、美元符号($)和数字组成,并且第一个字符不能是数字、标识符不能是java中的保留关键字。
注意:在Java中标识符中的字母是严格区分大小写的 如 good和Good是不同的两个标识符。
java语言使用unicode标准字符表,最多可以表示65535个字符。
标识符的命名规范:
类名:通常使用名词
所有单词首字母大写
例如:Panda、Family
方法名:通常使用动词
首单词字母小写
后续单词首字母大写
例如:openDoor()
变量名:首单词字母小写
后续单词首字母小写
例如:sisterName
常量名:所有字母均大写
例如:GENDER(性别)
关键字
关键字是java语言中已经被赋予特定意义的一些单词,不可以把这写字作为标识符来使用。
Java关键字
关键字特点:1.关键字的字母全部小写
2.常用的代码编辑器针对关键字有特殊颜色标记 非常直观。
②声明变量
变量的使用是程序设计中一个十分重要的环节,定义变量就是要告诉编译器这个变量的数据类型,这样编译器才知道要配置多少空间给它,以及它能存放什么样的数据
在程序过程中,空间内的值是变化的,这个内存空间就称为变量,给这个空间取个名字,称为变量名。变量名的命名必须是合法的标识符。内存空间内的值就是变量值,在声明变量时可以是没有赋值,也可以是直接赋给初值。
语法: 数据类型 变量名称 = 变量值
变量命名规则:变量名必须是一个有效的标识符
变量名不可以使用Java中的关键字
变量名不能重复
应选择有意义的单词作为变量名
③声明常量
在程序运行过程中一直不会改变的量称为常量,通常也被称为“final变量”,常量在整个程序中只能被赋值一次,在为所有的对象共享值是,常量是非常有用的。
在java语言中声明一个常量,除了要制定数据类型外,还需要通过final关键字进行限定
语法:final 数据类型 常量名称[=值]
常量分类:
字符串常量:用双引号括起来的内容
整数常量:不带小数的数字
小数常量:带小数的数字
字符常量:用单引号括起来的内容
布尔常量:布尔值表示真假
空常量:一个特殊的值,空值,null
System.out.println("HelloWorld");//字符串常量:用双引号括起来的内容
System.out.println(520);//整数常量:不带小数的数字
System.out.println(13.14);//小数常量:带小数的数字
System.out.println('A');//字符常量:用单引号括起来的内容
System.out.println(true);//布尔常量:布尔值表示真假
System.out.println(null);//空常量:一个特殊的值,空值,null
//空常量是不能直接输出的
④变量的有效范围
在程序中,一般会根据变量的“有效范围”将变量分为“成员变量”和“局部变量”。
Ⅰ.成员变量
在类体中所定义的变量称为成员变量,成员变量在整个类中都有效。类的成员变量又可分为静态变量和实例变量。
注意事项:
.名字不能重复
.变量为赋值,不能使用
.long类型的变量定义时候为了防止整数过大后面要加L或l
.float类型的变量定义的时候,为了防止类型不兼容后面要加F或f
如果在成员变量的类型前面加上关键字static,这样的成员变量称为静态变量。静态变量的有效范围可以跨类,甚至可以达到整个应用程序之内。对于静态变量,除了能在定义它的类内存取,还能直接以“类名.静态变量”的方式在其他类内使用。
Ⅱ.局部变量
在类的方法体中定义的变量(方法内部定义,“{”与“}”之间的代码中生命的变量)称为局部变量,局部变量只在当前代码块中有效。
在类的放大中声明的变量,包括方法的参数,都属于局部变量。局部变量只在当前定义的方法内有效,不能用于类的其他方法中。
Java虚拟机为方法中的局部变量分配内存空间,当该方法调用结束后,则会释放方法中局部变量占用的内存空间,局部变量也将会销毁。
局部变量可与成员变量的名字相同,此时成员变量将被隐藏,即这个成员变量在此方法中暂时失效。