Class类出现问题:Implicit super constructor Object() is undefined for default constructor. Must define an explicit constructor
解决方法:工程上右键选Properties——>Java Build Path——>Libraries——>Add Library——>JRE System Library ——>Next——>Execution environment——>选择版本或workspace default jre——>Finish
Java应用程序的基本结构:
public class ClassName /*关键字public称为访问修饰符,用于控制程序的其他部分对这段代码的{访问级别;
*关键字class表明Java程序中的全部内容都包含在类中;
*类名是首字母大写的名词, 如由多个单词组成,每个单词首字母均应大写(骆驼命名法:CamelCase)
public static void main(String[] args) *运行编译程序时,从main方法开始执行,每个Java应用程序必须有一个main方法,
*且必须声明为public
{ */
program statements
}
}
数据类型
Java是一种强类型语言,必须为每一个变量声明一种类型。在Java中,一共8中基本类型,1种非基本类型(8+1String),。
- 数值型包括整型和浮点型:整型:int 4字节 32位;short 2字节 16位;long 8字节 64位; byte 1字节 8位 。浮点型:float 4字节 32位;double 8字节 64位。
!警告:浮点数值不适用于禁止出现舍入误差的金融计算中,例如,命令System.out.println(2.0-1.1)将打印出0.899999999999999,而不是0.9,主要因为浮点数值采用二进制系统表示,而二进制系统中无法精确的表示1/10。类似于十进制无法精确表示1/3,如需要在数值计算中不含有任何舍入误差,使用BigDecimal类。
- 非数值类型:char;boolean(false&true);String
变量
一个数据存储空间的表示,不同的数据存入具有不同的内存地址对应空间,相互独立,计算机中一块特定的内存空间,有一个或多个字节组成。在Java中,每一个变量属于一种类型(type)。在声明变量时,变量所属的类型位于变量名之前。
1、声明变量
DataType variableName; 数据类型 变量名;
2、变量初始化——声明一个变量后,必须用赋值语句对变量进行显式初始化。
- 定义时初始化变量: DataType variableName = value; 数据类型 变量名 = 值;
- 定义后初始变量值: DataType variableName; variableName = value; 数据类型 变量名; 变量名 = 值;
常见错误和陷阱:
*未声明、未初始化的变量和未使用的变量 *赋值时溢出 Integer.MAX_VALUE Integer.MIN_VALUE
*取整错误 *冗余的输入对象
3、变量的命名
Java变量命名规则
首字母:字母、下划线、$ 小写,其他首字母大写
其他字母:字母、下划线、$和数字
关键字:不能当变量名(53个)
String nickName; //驼峰命名法 class Person; //帕斯卡命名法
注:变量名不要重复;一条语句可以声明多个同类型的变量:int i,j;见名知意;源代码文件名必须与公共类名相同
常量
在Java中常用关键字final指示常量,如:
public class Constants
{
public static void main(String[] args)
{
final double CM_PER_INCH = 2.54;
double paperWidth = 8.5;
double paperHeught = 11;
System.out.println("Paper size in centimeters:"
+ paperWidth*CM_PER_INCH + "by" + paperHeight*CM_PER_INCH);
}
}
关键字final表示这个变量只能被赋值一次,一旦被赋值,就不能再更改。习惯上常量名使用全大写。在Java中,常希望某个常量可以在一个类中的多个方法中使用,常称为类常量。
public class Constants
{
public static final double CM_PER_INCH = 2.54;
public static void main(String[] args)
{
double paperWidth = 8.5;
double paperHeught = 11;
System.out.println("Paper size in centimeters:"
+ paperWidth*CM_PER_INCH + "by" + paperHeight*CM_PER_INCH);
}
}
需要注意,类常量的定义位于main方法的外部。因此,在同一个类的其他方法中也可以使用这个常量。而且,如一个常量被声明为public,那么其他类的方法也可以使用这个常量。