同时按住Java中的Alt键和'/'键,Eclipse会给你代码提示。
java 的几个基本概念
1. JVM : java 虚拟机.运行java 程序的根本
2. JRE : java 运行环境,java 虚拟机+ 核心类库
3. JDK :java 开发工具包
JDK > JRE > JVM
java 语言中取名的基本规范
1) 类名首字母大写,驼峰式
2) 变量名、方法名首字母小写,驼峰式
3) 常量全大写,划线式。例:CLASS_NAME
4)包名和工程名都要小写
变量名(标识符)的规定
1) 不能是关键字
2) 只能包含字符、数字、$
3) 不能以数字开头。
java类结构和main函数
类
Java文件必须以.java作为扩展名
一个Java文件只能有一个public class
public class 的名字必须和文件名字一样,大小写都要完全一致
一个文件可以有多个class,但是只能有一个是public。不提倡一个文件夹里面放多个类(内部类除外)
System.out.print 输出
System.out.println 换行输出
- 类是Java中的最基础逻辑单位。
- Java所有的内容都是需要放在类的范围中
- 内容不允许游离在类以外
- 换言之,Java项目就是由一个一个类组成的。
- 类的构成:变量和函数
Main函数
一个class最多只能有一个main函数,类可以没有main函数,但是没有main函数的类就不能主动执行,但是可以被动执行(被别人调用执行)。
程序的入口都是main函数,这点和C/C++一致。有一点不同的是,java要求所有的程序都必须放在类对象中,即所有代码都要放在class所辖的范围内。
main函数的形参和前缀修饰符public,static,void等都不能省略,是固定写法。可以简单记忆为PSVM。
从严格意义上说,main函数不属于这个类的所拥有函数。
只是因为Java要求所有的内容都必须放置在class的范围内,所以main函数“寄居”在某一个class中。
main函数是一个Java程序的总入口。
main函数也无法被其他方法,类所调用。
一个Java程序可以调用多个其他Java class。
String[]args是main的形参,即在main函数中可以使用args的值。
总结:
- 类是Java程序最小独立单元。
- 类包括成员变量和成员方法。
- main函数是程序启动的总入口。
- main函数的形参args是外界提供给main函数的形参,可以在main函数中使用。
基本类型和运算符:
Java中有八个基本类型,它们分别是boolen布尔,byte字节,short/int/long 短整数/整数/长整数,float/double浮点数,char字符。
boolen布尔变量
只有true和false两种值,默认是false。
以下几种情况都是错误的:
boolen a=True;//错误
boolen a=TRUE;//错误
boolen a=1;//错误,不能够将整数赋给布尔变量
注意:java中的bool变量true和false之间没有谁大谁小,它们间也无法比较大小
byte字节类型
1byte=8bits(8位)
存储有符号的,以二进制补码表示的整数。
最小值-128,最大值127,默认值0。
byte在二进制文件读写中使用得多。
当给的数字超过了byte所能表示的范围时可以参考下面这张图。
短整数/整数/长整数 略,跟C++的差不多。
float/double浮点数类型
单精度浮点型(float)和双精度浮点型(double)之间的区别主要是所占用的内存大小不同,float 类型占用 4 字节的内存空间,double 类型占用 8 字节的内存空间。双精度类型 double 比单精度类型 float 具有更高的精度和更大的表示范围。
Java 默认的浮点型为 double,例如,11.11 和 1.2345 都是 double 型数值。如果要说明一个 float 类型数值,就需要在其后追加字母 f 或 F,如 11.11f 和 1.2345F 都是 float 类型的常数。
注意:一个值要能被真正看作 float,它必须以 f(或 F)后缓结束;否则,会被当作 double 值。对 double 值来说,d(或 D)后缓是可选的。
总结
结论1: 整型一般情况下使用int 类型,当int 不够用的时候,使用long。short不能使用。
结论2:byte极少使用,只是在io操作中byte[] 用得比较多。
结论3:float和double都不能用来表示很精确的数字。
运算符优先级问题:
自定义函数
public class FunctionTest
{
public static void main(String[] args)
{
int a,b,c;
a=1;
b=2;
c=FunctionTest.add(a,b);
System.out.println("c is"+c);
}
public static int add(int m, int n)//函数定义
{
return m+n;
}
}
函数必须放在类的范围里。
修饰词(public或static)返回值(int 或 void),函数名(形参列表){函数体}。
通常情况下,我们都建议方法是public。
函数可以调用其他的函数,如上例中,main函数调用了add函数。
接下来是用java写的用来计算阶乘的函数。
public class FactorialTest
{
public static void main(String[] args)
{
int a=5;
int b=factorialCalculation(a);调用函数计算a!
System.out.println("The factorial of"+a+"is"+b);
}
public static int factorialCalculation(int m)//函数定义
{
if (m>1)
return m*factorialCalculation(m-1);
else
return 1;
}
}
同一个类中,函数名称可以相同,即重载函数。但形参的返回值类型或者个数必须有所不同。
不能以返回值来区分同名的函数。
常量
常量值
常量值又称为字面常量,它是通过数据直接表示的,因此有很多种数据类型,像整型和字符串型等。下面一一介绍这些常量值。
-整型常量值
1.十进制数形式:如 54、-67、0。
2.八进制数形式:Java 中的八进制常数的表示以 0 开头,如 0125 表示十进制数 85,-013 表示十进制数 -11。
3.十六进制数形式:Java 中的十六进制常数的表示以 0x 或 0X 开头,如 0x100 表示十进制数 256,-0x16 表示十进制数 -22。
注:整型(int)常量默认在内存中占 32 位,是具有整数类型的值,当运算过程中所需值超过 32 位长度时,可以把它表示为长整型(long)数值。长整型类型则要在数字后面加 L 或 1, 如 697L,表示一个长整型数,它在内存中占 64 位。
-实型常量值
1.十进制数形式:由数字和小数点组成,且必须有小数点,如 12.34、-98.0。
2.科学记数法形式:如 1.75e5 或 32&E3,其中 e 或 E 之前必须有数字,且 e 或 E 之后的数字必须为整数。
注:Java 实型常量默认在内存中占 64 位,是具有双精度型(double)的值。
-布尔型常量值
Java 的布尔型常量只有两个值,即 false(假)和 true(真)。
-字符型和字符串常量值
Java 的字符型常量值是用单引号引起来的一个字符,如 'e'、E'。需要注意的是,Java 字符串常量值中的单引号和双引号不可混用。双引号用来表示字符串,像 "11"、"d" 等都是表示单个字符的字符串。
定义常量
声明常量的同时要赋予一个初始值。常量一旦初始化就不可以被修改。
eg:
final int a=5;
这样就声明了一个常量a,它的值为5,其中final 是定义常量的关键字。
- final 关键字表示最终的,它可以修改很多元素,修饰变量就变成了常量。例如,以下语句使用 final 关键字声明常量。
public class HelloWorld {
// 静态常量,public static 修饰的常量作用域是全局的
public static final double PI = 3.14;
// 声明成员常量
final int y = 10;
public static void main(String[] args) {
// 声明局部常量
final double x = 3.3;
}
}
常量有三种类型:静态常量、成员常量和局部常量。
在定义常量时,需要注意如下内容:
- 在定义常量时就需要对该常量进行初始化。
- final 关键字不仅可以用来修饰基本数据类型的常量,还可以用来修饰对象的引用或者方法。
- 为了与变量区别,常量取名一般都用大写字符。
- 当常量被设定后,一般情况下不允许再进行更改,如果更改其值将提示错误。