因为事先学过c,所以我就只记下java独特的信息就好。
文件名称
- 在开发中如果类的定义使用了public class声明,那么文件名称必须与类名称保持一致。
- 如果没有使用public class而文件名和类名称不相同,则最终生成的*.class字节码文件的名称将与类名称相同。
- 也就是说class定义的类,文件名称可以与类名称不同,但是生成的.class文件的名称就是class定义的类的名称。那么最后要运行的时候执行的一定是*.class的文件名称,即执行的是字节码文件的文件名,
- 假如jave文件的文件名为he,但是class文件的文件名是hhe,则在命令行窗口中输入的为
java hhe
jave文件
- 一个java文件内可以定义多个class
- 一个java文件内只可以定义一个public class
- 一个java文件会产生多个class文件
java程序规范
- 类名称中每个单词的首字母要大写 Eg:Hello,TestDemo
- 主方法main()是程序的起点,执行程序时从main()开始,java中主程序的定义方式为
public static void main(String args[]){
}
- java的系统输出
System.out.println() 输出之后追加一个换行
System.out.print() 输出之后不追加换行
- 如果有多个值要输出的时候,中间可以用”+“连接.
public class TestJava{
public static void main(String[] args)
{
int num=10;
num=30;
System.out.println("num的内容是:"+num);
System.out.println("num*num="+num*num);
}
}
- 在编译的过程中如果出现中文无法显示的情况,那就是汉字库的问题。我们可以在编译的时候一个参数 -encoding utf8
如下: - Java中的注释和C++/C一样。
- Java中的包(C++中的头文件的意思,后面会进行介绍),类,方法(C++中的函数的意思),参数和变量的名字可由任意的大小写字母,数字,下划线,和美元符号组成,但标识符不能以数字开头,也不能是Java中的保留关键字。
关键字如下
保留字(reserved words):是语言已经定义过的字,一些保留字可能没有相对应的语法,考虑到扩展性,为了向后兼容不能再将其作为变量名。const和goto是java的保留字。 所有的关键字都是小写
classpath属性的作用
我们可以在任意盘符的命令行窗口执行 SET CLASSPATH=* (我们后面所需执行的java文件的位置)
接着我们就可以在当前盘符下执行这个java文件。
具体如下:
虽然C盘中没有Hello.class文件,但是也可以用java Hello执行Hello.class文件,因为set classpath
将类的加载路径指向了e:\java目录,这样在运行时,会从e:\java目录寻找所需要的类。
classpath与JVM的关系
classpath主要指的是类的运行路径,实际上在读者执行java命令时,对于本地的操作系统来说就意味着启动了一个JVM,JVM在运行时需要通过classpath加载所需要的类,在默认情况下classpath是指向当前目录(当前命令行窗口所在的目录)的,所以会从此目录下直接查找。
如果想让CLASSPATH针对全局都起作用,可以在此电脑的高级系统设置中的环境变量中添加CLASSPATH配置,并且将CALSSPATH的变量指更改为"."。
PATH 和 CLASSPATH 的区别
PATH是操作系统的环境属性,指的是可以执行命令的程序路径
CLASSPATH是所有*.class文件的执行路径,Java命令执行时将利用此路径加载所需要的*.class文件。
Java中的变量类型
- 整型int,长整型long,短整型short,浮点型float,双精度浮点型double,字符型char,布尔型boolen,字符串String(是一个类,是一种引用数据类型)。
- 在Java中使用浮点型数值时,默认类型是double,在数值后面可以加上D或d,作为double类型的标识,但是D或d是可有可无的。在数据后面加上F或是f,则为float类型的识别。若没有加上,Java就会将该数据视为double类型,而在编译时就会发生错误,错误提示会告诉设计者可能会失去精度。
如下
public class DataDemo06
{
public static void main(String args[])
{
float num=3.0f;
System.out.println("两个小数相乘:"+num*num);
}
}
- boolen类型的变量,只有true和false两种。也就是说,当将一个变量定义成布尔变量时,它的值只能是true或false
- String可以像普通变量那样直接通过赋值的方式进行声明,字符串是使用“ ”括起来的。两个字符串之间可以使用“+”进行连接。
基本数据类型的默认值
数据类型的转换
自动类型转化
- 转换前的数据类型与转换后的数据类型兼容
- 转换后的数据类型的表示范围比转换前的类型大
- 例如 short->int
- 类型的转换只限该行语句,不会对原先所定义的变量的类型造成影响。
- 这种转换类型也称为扩大转换
- 任何数据类型碰到String类型的变量或常量都会向String类型转换
接下来看一个例子
public class DataDemo10{
public static void main(String args[]){
int i=1;
int j=2;
System.out.println("1+2="+1+2);
}
}
我们是想让他输出3的,但是我们发现他的输出是为什么会输出12呢,因为中间的加号表示的是字符串连接的含义,我们要让他输出3的话就需要用括号将1+2括起来。这样表示输出时先计算两个数字相加的结果
public class DataDemo10{
public static void main(String args[]){
int i=1;
int j=2;
System.out.println("1+2="+(1+2));
}
}
强制类型转换
强制类型转换的转换语法
(欲转换的数据类型) 变量名称;
因为这种转换是直接编写在程序代码中的,所以也称为显示转换。又称为缩小转换,这一点是和C一致的,不再赘述。
Java中的转义字符
\r:回车 ,\n:换行(new line),\t:相当于tab键(叫制表符太生涩), \\:表示\ , \’:表示’ , \":表示"
\f:表示换页,\b:表示倒退一格