<Core Java> 第三章 Java基本的程序设计结构
3.1
1.关键字class后紧跟类名(类名以大写字母开头,多个单词每个单词首字母大写,可接数字)。
2.源代码文件名要与公有类名一致,并用.java做后缀名。
3.运行编译程序时,Java虚拟机从指定类中的main方法开始执行,即main方法是一个程序的执行入口,每个程序必须有个main方法。
4.main方法必须被声明为public。
5.Java中的main方法必须是静态的,关键字void表示此方法无返回参数。
6.Java中的任何方法都是以"{"开始;以"}"结束。
7.对下面一行代码研究:
{
System.out.println("We will not use Hello World!");
}
(1)Java中每个句子必须以";"结束。特别说回车不是语句的结束标志,也就是说你可以把一条语句写成多行。
(2)使用了System.out对象并调用了他的println方法。注意:点号用来调用一个方法。
(3)System.out也有print方法,此方法为输出后不换行。
3.2 注释
1.单行注释用//;多行注释用/*.....*/;第三种注释可以用来自动生成文档/**.....*/。(其中/*.....*/注释不能嵌套)。
3.3数据类型
1.整型:int;short;long;byte。(Java没有unsigned类型)
2.浮点型:float;double
3.char型
4.boolean型:只有两个值true or false,用来做逻辑判断。
3.4变量
1.命名:类型名+变量名(int days);若变量名有多个单词构成,首单词小写,之后每个单词的首字母大写。声明变量后一定要赋值初始化。
2.常量:用关键字final声明常量。例如:
public class Test {
public static void main(String[] args) {
final double CM_PER_INCH = 2.54;
double paperWidth = 8.5;
double paperHeight = 11;
System.out.println("Paper size in centimeters: "
+ paperWidth * CM_PER_INCH + "by" + paperHeight * CM_PER_INCH);
}
}
关键字final表示这个变量只能被赋值一次。一旦被赋值就不能再更改。
3.能在一个类中的多个方法中使用的常量叫做类常量;用关键字static final设置,例如:
public class Test {
public static void main(String[] args) {
double paperWidth = 8.5;
double paperHeight = 11;
System.out.println("Paper size in centimeters: "
+ paperWidth * CM_PER_INCH + "by" + paperHeigh * CM_PER_INCH);
}
public static final double CM_PER_INCH = 2.54;
}
注意:类常量定义在main方法外部。这样才能使同一个类的其他方法共用一个类常量。
如果一个常量别声明为public,那么其他的类的方法也可以使用这个常量。
3.5运算符(与C语言一致,这里省略)
3.6字符串
1.检测字符串是否相等(区分大小写):表达式为:s.equals(t)返回true,否则返回false。其中s和t为字符串;
2.................(不区分大小写):表达式为:s.equalslgnoreCase(t)。
3.7输入输出
1.读取输入:要想通过控制台进行输入,必须先构造一个Scanner对象,例如:
Scanner in = new Scanner(System.in);
现在就可以调用Scanner中的各种方法了。例如,nextLine方法(输入一行)
System.out.println("What is your name?");
String name = in.nextLine();
要读取一个整数用nextInt方法
System.out.println("How old are you?");
int age = in.nextInt();
类似的,读取浮点数用nextDouble方法。
2.注意:Scanner类定义在java.util包中。当使用的类不是定义在基本java.lang包中时,一定要用import将相应的包加载过来。
import java.util.*;
public class InputTest {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
//get first input
System.out.println("What is your name?");
String name = in.nextLine();
//get second input
System.out.println("How old are you?");
int age = in.nextInt();
//display output consol
System.out.println("Hello," + name + ".Next year,you'll be " + (age + 1));
}
}
3.8流程控制语句
1.块(block)的概念:一对{}中的若干条语句构成一个块;块中可以嵌套块,但注意嵌套关系的两个块不能有同名的变量。
3.9大数值
1.如果基本的整数和浮点数精度不能满足需求,可以使用java.math包中的BigInteger(任意长度整数)和BigDecimal(任意长度浮点数)两个类。这两个类可以处理任意长度的数值
2.使用静态的valueOf方法将普通数值转换为大数值:
BigLinteger a = BigInteger.valueOf(100);
3.注意:大数值不能使用常用的运算符(如+和*),需要使用大数值类之的add和multiple方法
BigInteger c = a.add(b);//c = a + b
BigInteger d = c.multiply(b.add(BigInteger.valueOf(2)));//d = c * (b + 2)
3.10数组
1.创建数组:int[] a = new int[100];(创建了一个可以储存100个整数的数组)
说明:int[] a与int a[]一样,只是Java程序员喜欢使用前者