Java 笔记 Chapter1&2

1. 面向对象编程(OOP) : Object-oriented programming is a programming methodology that views a program as similarly consisting of objects that interact with each other by means of actions.  面向对象编程是一种编程方法,它把程序看作是 通过动作(actions)相互作用而构成的对象(objects)的集合。

2. 方法(Method): The actions that an object can take are called Methods. In Java, all methods are part of Class. 方法是类的组成部分。

3. 类(Class): Objects of the same kind are said to have the same type or, more often, are said to be in the same class. 同类型的对象的集合被称为类。 例如:飞机是一个class,他们都有相同的method(起飞,降落), 但是class里的每一个飞机都是不同的object,他们的型号规格各不相同,速度和高度也不同。 A Java application program is a class with a method named Main. 

4. Application 与 applet的区别: 前者在计算机上运行,后者在Web brower上运行(Can also be run with an applet viewer program for debugging)。

5. System.out 是一个object,println 是一个method。

6. Compiler(编译器)  is a program that translates a high-level-language program, such as a Java program, into an equivalent low-level-language program.

7. Java 代码运行时要先被Java编辑器翻译成byte-code,byte-code可以被看成JVM的机器语言,JVM (Java Virtual Machine)与计算机十分相似,因此可以吧byte-code再翻译为适用于任何计算机的机器语言。(JVM有时也指实现虚拟机的软件)。JVM通过两种方法实现这种翻译:interpreter 和Just-In-Time (JIT) compiler。Interpreter既可以翻译byte-code,又可以执行相应的机器语言。Interpreter是一行一行的翻译并执行byte-code,而非整体翻译后再执行。 现在的虚拟机大多采用JIT compiler(比interpreter更快),JIT编译器以块的形式读取byte-code,并根据需要将整个代码块编译为机器语言指令。被编译出来的指令们会被记忆,如cached(缓存),在未来使用。因此代码块必须被一次性编译好。

8. Class Loader(类加载器)用来将不同的class的byte-code连接起来。(在其他语言中被称为Linker)

9. The name of a variable (or other item you might define in a program) is called an identifier.  变量(或类与方法)的名字被称为标识符(Identifier)。标识符不能以数字开头,其中只能包含字母、数字,和下划线,$也可用,但是$在Java中有特殊用途,因此一般不使用。 下划线开头是可以的。 另外,Java是大小写敏感的语言。

10. 一般不使用科学计数法和浮点数进行算术运算(如0.000111,用1.11e-4来表示)银行一般不用浮点数来计算,一般会使用int,表示元角分。

11. Variable Op = Expression与 Variable = Variable Op (Expression)意义相同 如 a=a+b, 可以写成a+=b

12.  byte —> short —> int —> long —> float —> double 前面的可以转化成后面的,越往后的type范围依次增大。

13. 强制转化double ans = n/(double)m;       int i = (int)5.5;

14. 

    int n = 8;
    int valueProduced = n−−;
    System.out.println(valueProduced);
    System.out.println(n);
    答案是 8,7
    int n = 8;
    int valueProduced = −−n;
    System.out.println(valueProduced);
    System.out.println(n);
    答案是:7,7

15.  关于length

int n = "Hello".length();
等价于
String greeting = "Hello"; int n = greeting.length();

 

16. 关于equal

String greeting = "Hello";

greeting.equals("Hello");returns true

greeting.equals("Good-Bye"); returns false

greeting.equals("hello"); returns false

17. 

boolean equals(Other_String)  比较string

boolean equalsIgnoreCase(Other_String) 无视大小写比较string

String toLowerCase( )转小写

String toUpperCase( )转大写

String trim( ) 删除起始和末尾的空格,中间部分的空格不删除。

char charAt(Position) 返回第几位的字母

例如:greeting.charAt(0);returns 'H'

String substring(Start) 返回子字符串,strat是起始点。

例如:String sample = "AbcdefG";     sample.substring(2); returns "cdefG"

String substring(Start, End) 返回子字符串,有起始点,有结束点, 取起始点,不取结束点。

例如:String sample = "AbcdefG";    sample.substring(2, 5); returns "cde".

 

18.  int indexOf(A_String)  返回字符串在调用对象字符串中第一次出现的索引(位置)。位置计数为0、1、2等。如果未找到该字符串,则返回−1。 例如:

String greeting = "Hi Mary!";

greeting.indexOf("Mary") returns 3,

而 

greeting.indexOf("Sally") returns −1.

19. int indexOf(A_String, Start) 同上, start是搜索的起始点。

例如: 

String name = "Mary, Mary quite contrary";

name.indexOf("Mary", 1) returns 6.

而 name.indexOf("Mary", 0) returns 0.

name.indexOf("Mary", 8) returns –1.

20. int lastIndexOf(A_String) 返回最后一次出现 A_String的位置。

21. int compareTo(A_String)         A_String 比目标的字母顺序靠后,返回负数, 相同返回0, 比目标靠前返回正数

例如:

String entry = "adventure";

entry.compareTo("zoo") returns a negative number,

entry.compareTo("adventure") returns 0,

and entry.compareTo("above") returns a positive number.

int compareToIgnoreCase(A_String) 无视大小写。(大写的ASCII比小写的小)

22. 设置常量:public static final Type Variable = Constant; (必须在main外面设置)

23. 格式化输出:

Java 笔记 Chapter1&2_第1张图片

字符串和字符的s和c格式可以包括一个指定用于输出值的字段宽度的数字,例如%15s和%2c。如果没有给定数字,则输出值时不带前导空格或尾随空格。

24.  %后不带负号右对齐,带负号,左对齐。

    double value = 12.123;
    System.out.printf("Start%8.2fEnd", value);
    System.out.println();
    System.out.printf("Start%-8.2fEnd", value);
    System.out.println();

结果:

    Start   12.12End
    Start12.12   End

25. \n 跟%n相同的,都是换行,但是更倾向于用%n

26. 应该输出的值总是会输出的。如果指定的字段宽度太小,则会占用额外的空间,而不会损坏本应该输出的东西。

Java 笔记 Chapter1&2_第2张图片

27. %f  %e 都是默认输出12位。被吞掉的地方四舍五入, %e可以理解为科学计数法 e+04 代表10的4次方。

Java 笔记 Chapter1&2_第3张图片

输出结果:

Java 笔记 Chapter1&2_第4张图片

28.  format

Java 笔记 Chapter1&2_第5张图片

结果是12.35, 如果把格式改成0.00,结果依然是12.35, 为了不丢失数据,java会违背规则。在format里, 0代表固定的digit,#表示可能存在的digit。因此不确定有没有那一位的时候,可以用#。

29. E 在format也是科学计数法

Java 笔记 Chapter1&2_第6张图片

结果:12.003E2

%是百分号

Java 笔记 Chapter1&2_第7张图片

结果是:1234.57%

30.

在这种情况下,小数点右侧取能取到的最小值,左侧取能取到的最大值,这是为了保护数据的精确性。

31.  分隔符  例子: keyboard2.useDelimiter("##");  系统默认是空格whitespace为分隔符。

你可能感兴趣的:(JAVA)