(一)Java的标识符与关键字
现实世界,所有东西都有属于自己的名字,从而方便分类和区别其他事物。在程序中,常常用一个记号对变量、数组、方法和类等进行标识,这个记号就叫标识符(名字)。
由于Java语言本身使用一些标识符(称为Java关键字),在我们命名变量、数组、方法和类时应该避免使用这些标识符。否则,将导致程序无法进行编译。
访问控制 | 类、接口、方法、变量、代码块修饰符 | 程序控制 | 错误处理 | 基本类型 | 变量引用 | 包相关 | 保留字 |
public | class | for | try | boolean | new | import | goto |
private | abstract | break | catch | byte | super | package | const |
protected | extends | while | finally | char | this | var | |
default | implements | do | throw | short | void | outer | |
interface | continue | throws | int | null | inner | ||
final | if | long | true | future | |||
stricfp | else | flaot | false | byValue | |||
static | switch | double | operator | ||||
synchronized | case | rest | |||||
transient | default | generic | |||||
volatile | return | ||||||
native | assert | ||||||
enum | instanceof |
Java标识符的命名规则
① 由26个英文字母大小写,0-9,_ 或 $ 组成。
② 标识符的首字符必须是字母、下划线(_),或者美元符号($),切记数字不可以开头。
③ 不可以使用关键字(class、int等)和保留字(goto和const),但能包含关键字和保留字。
④ Java中严格区分大小写,长度无限制。(例:class×,Class√),一般来说,常量通常以大写字母英文单词命名,变量通常以小写字母英文单词命名。如果一个变量名由多个单词构成,第一个单词为小写,第二个单词为首字母大写,如anInt。
⑤ 类标识符通常以大写英文字母开始。
⑥标识符不能包含空格。
(二)数据类型
Java的数据类型分为简单数据类型和复合数据类型(引用类型)。
1.数据类型
数据类型 | 关键字 | 所占位数 | 默认值 | 取值范围 |
布尔类型 | boolean | 8 | false | true,false |
字节型 | byte | 8 | 0 | |
短整型 | short | 16 | 0 | |
整型 | int | 32 | 0 | |
长整型 | long | 64 | 0 | |
单精度型 | float | 32 | 0.0 | |
双精度 | double | 64 | 0.0 | |
字符型 | char | 16 | '\u0000' | '\u0000'~'\uFFFF' |
注意:
(1)对于不同类型的数据,其所占内存空间不同。
(2)对于不同类型的数据,其所能执行的操作不同。如整型和浮点型数据可以执行加减乘除四则运算,而布尔型数据就不行。
(3)float和double均用于表示浮点型数值,区别在于它们所能表示的数值范围和精度不同。double比float可以存储范围更大,精度更高。
(4)byte、shot、int和long均用于表示整数,只不过取值范围不同。
(5)字符型用来表示Unicode字符集中的符号,如各种控制字符、字母、数字和汉字。Unicode字符集采用16进制数表示每一个字符,如'\u0061'表示小写a。
(6) 布尔型只有true和false,不可以将0或非0的数代替true或false.。
2.数据类型转换
① 简单数据类型的优先级
在Java中,规定(byte、shot、char)->int->long->float->double
② 数据类型的自动转换与强制类型转换
数据类型的自动转换:byte、shot、char)->int->long->float->double ,右边=左边时,会默认把左边转成右边的数据类型。
数据类型的强制类型转换:
类型转换可以是隐式的,由编译器自动执行,也可以是显式的,通过使用强制类型转换运算符来指定。在编程时,有需要类型转换的时候都用上强制类型转换运算符,是一种良好的编程习惯。
相关代码:
package com.sxt;
import java.util.Scanner;
public class Test {
public static void main(String args[])
{
int a=4;
//数据类型的自动转换
float a1=a,a2=9.12f;
System.out.println(a1);
//强制类型转换
a=(int)a2;
// a=a1;Incompatible types. Found: 'float', required: 'int'
System.out.println(a);
}
}
(三)各种数据类型数据表示方式
1.整型数值:
2.浮点型数值
浮点型数值有如下两种表示方式:①小数表示法,它由整数部分和小数部分组成,如1.3,5.32等
②科学表示法:他常用来表示很大的数或者很小的数,表示方法是在小数表示法面加“E”或“e”及指数部分。
注意,对于float型变量来说,必须在数值后加“F”或“f”;对于double型变量来说,应该在数值后加“D”或“d”,也可以省略不写。
3.字符值
字符值有普通字符表示法和转义字符表示法两种。
4.字符串值
字符串值是使用双引号括起来的0个或多个字符,且字符串中可以包含转义字符。用户还可以使用“+”将多个字符串串联在一起。其他数据类型+String型=String型。
注意: ""指的是空字符串,与" "仅含空格的字符串不同。
(四)常量与变量
1.引言
在程序中存在大量的数据来表示程序的状态,其中有些数据的值在程序运行过程中会发生改变,而有些数据的值在程序运行过程中不能发生改变,这些数据在程序中分别被称为变量和常量。
2.声明变量的方法
变量是指在程序运行过程中可以发生变化的量,它用于在程序运行时临时存放数据。为了使用变量,需要首先声明变量,预先告诉编译器将要使用的变量名及其所表示的数据类型,以便在后面的代码中出现该变量时编译器知道该如何处理。
声明变量的语法格式如下:
① 数据类型 变量名1 ;
② 数据类型 变量名1 ,变量名2……;
注意:
⒈ 可以同时声明多个变量,各变量之间用逗号分隔。
⒉可以在声明变量的同时为它赋一个初值。初值既可以是一个值,也可以是一个有确定值的表达式,
⒊Java语言是完全面向对象的编程语言,故Java变量又分为成员变量(于类中方法体以外的变量)和方法变量(位于方法体内的变量,又称局部变量)。对于成员变量而言,我们还可以为其增加访问控制修饰符(如public、private等)和“static”字样以权限访问变量的权限和变量的创建方式。
3.声明常量的方法
常量是指在程序运行过程中不能改变的量,它用来记忆一个固定的数值即常量只能被赋值一次。
一般来说,如果某个固定数据在程序中多处被引用,那么最好将它定义为常量,然后用常量替换掉各处的固定数据。如果需要改变这个数据,只需在程序中修改常量值就可以了。否则,要在程序中改变这个固定数据,必须对程序多处逐一修改。在Java中,常量用final来声明,而且常量名全部用大写字母,以便与变量名有所区别。定义常量的的一般格式如下:
final 数据类型名常量名=值或表达式;
使用常量有三个好处:1)当一个值多次被使用时,不必重复输入;2)如果必须修改常量值(例如,将PI的值从3.14改为3.14159),只需在源代码中的一个地方做改动;3)给常量赋一个描述性名字会提高程序的可读性。
注意:
⒈常量也可以先声明后赋值,不过,只能赋值一次。否则,系统会给出编译错误。
⒉ 与变量类似,常量也有成员常量和方法常量之分,其特点和用法与变量类似,
相关代码:
package com.sxt;
import java.io.IOException;
class VarType
{
int var1;//该变量只能被当前包中所有类访问
public int var2;//该变量只能被当前包和其他包中所有类访问;基于该类创建多个对象时,每一个对象均可单独操作该变量;该变量占用多个存储空间,各对象之间互不影响
public static int var3;//该变量只能被当前包和其他包中所有类访问;基于该类创建多个对象时,各对象均可共享该变量;该变量占用1个存储空间,在某个对象对其改变其值后,其他对象都将引用其值
}
public class Text {
public static void main(String[] args ) throws IOException{
//声明1个变量
int a;
char c;
float []s={1.2f,1.56f,6.3f};//声明的同时给它赋值
//声明多个相同变量
double A,B,D;
int A1=0,B1=1;//声明的同时给它赋值
//声明常量
final double PI=3.14,R=20;
final double C;//先声明后赋值,但只能赋值一次
C=2*PI*R;
}
}