public class Test { // class block 开始 public static void main(String[] args) { // method block 开始 System.out.println("Welcome to Java!"); } // method block 结束} // class block 结束
Classes
即类
是Java中最基础最重要的结构之一;他是创建objects的template
例如:
class Student { String name; int age;}//定义了一个名为Student的类,具有name/age两种data fields//class中通常会有两类主要内容:datafield(描述对象有什么)和methods(描述对象能做什么)
Method
即方法
指的是一组statement的集合,用来完成某个操作
public static void main(String[] args) { System.out.println("Hello");}//此处的整个code就是一个名为main的method,包含两个statement
The main method: 程序开始执行的入口, Java interpreter 会通过调用main method来开始执行应用程序
Chapter 2-7
Reading input from the console
System.out.print(...)//在控制台提示用户输入Scanner input = new Scanner(System.in);//创建一个 Scanner 对象,从键盘读取输入input.nextDouble()//读取用户输入的一个 double 数值
if (boolean-expression){ statement(s-true);}else{ statement(s-false)}
Muti-way if statement
if (boolean-expression){ statement(A);}else if(boolean-expression){ statement(B)}else if......else(boolean-expression){ statement(X)}
switch statement rules:根据表达式的值,从多个case中选择一个执行
switch(switch-expression){ case value1:statement(s)1; break; case value2:statement(s)2; break; ... default:statement(s)default}
printf statements
use the printf statement get formatting output
System.out.printf(format,items);/*%b a boolean value%c a character%d a decimal integer%f a floating-point number%e a umber in standard scientific notation%s a string*/
For example:
int count = 5;double amount = 45.56;System.out.printf("the count is %d and amount is %f",count,amount);display
public class Demo { public static void main(String[] args) { System.out.println(add(1, 2)); // 两个int → 调用 add(int, int) System.out.println(add(1.5, 2.5)); // 两个double → 调用 add(double, double) } public static int add(int a, int b) { return a + b; } public static double add(double a, double b) { return a + b; }}
public static void printArray(int[] array){ for (int i=0;i<array.length;i++){ System.out.print(array[i]+""); }}//invokeint[] array={1,2,3,4};printArray(list);//or in one step'printArray(new int[]{1,2,3,4}) //使用anonymous array
Pass By Value
在Java中,对于prmitive date types,调用method时传入的是variable的值而不是变量本身
public class Test { public static void main(String[] args) { int x = 1; int[] y = {1}; change(x, y); System.out.println(x); System.out.println(y[0]); } public static void change(int a, int[] b) { a = 100; b[0] = 100; }}
Two-dimensional Arrays
二维数组的基本声明和构建方法
//declare:dataType[][] refVar//create:refVar = new dataType[][]int[][] martix = new int[10][10]; //in one step//access:refVar[][]martix[1][3] = 3;//shorthand notationsint[][] array = { {1, 2, 3}, {4, 5, 6}, {7, 8, 9}, {10, 11, 12}};//等价于先创建再逐一赋值
对于二维数组int[][] x = new int[3][4],x.length为3,因为x中包含三个行数组,而x[i].length为4,因为每个行数组包含4个元素
for (int i = 0; i < scores.length; i++) { double totalScore = 0; for (int j = 0; j < scores[i].length; j++) for (int k = 0; k < scores[i][j].length; k++) totalScore += scores[i][j][k];}
最终得到每个学生的最终成绩
ArrayList
可动态更改size的一种列表
//声明并创建ArrayList<String> obj = new ArrayList<String>();//添加元素add();//删除元素remove();//取得元素get();//修改元素set();//获取长度size();//清空clear();//判断是否包含某元素contain();