zoukankan      html  css  js  c++  java
  • Chapter 2 Basic Elements of JAVA

    elaborate:详细说明

    Data Types
    Java categorizes data into different types, and only certain operations
    can be performed on a particular type of data.


    Data type: A set of values together with a set of operations on those values.
    Primitive Data Types
     There are three categories of primitive data types:

    • Integral, which is a data type that deals with integers, or numbers
    without a decimal part (and characters)
    • Floating-point, which is a data type that deals with decimal numbers
    • Boolean, which is a data type that deals with logical values
    Integral data types are further classified into five categories: char, byte, short, int, and long.

    Which data type you use depends on how big a number your program needs to deal with.

    In the early days of programming, computers and main memory were very expensive.
    Only a small amount of memory was available to execute programs and manipulate data.
    As a result, programmers had to optimize the use of memory. 
    Table 2-2 gives the range of possible values associated with the five integral data types and
    the size of memory allocated to manipulate these values.

    java中字符编码采用的是Unicode,所以是16bit而不是c语言里面的8bit

    boolean DATA TYPE
    The data type boolean has only two values: true and false. The memory allocated for the boolean data type is 1 bit.

    FLOATING-POINT DATA TYPES:float or double, the memory allocated for them respectively are 4 byte and 8 byte.
    In java, by default, float-point refers to double.

    关于负数的取余:http://ceeji.net/blog/mod-in-real/

    总结

    我们由此可以总结出下面两个结论:

    1. 对于任何同号的两个整数,其取余结果没有争议,所有语言的运算原则都是使商尽可能小
    2. 对于异号的两个整数,C++/Java语言的原则是使商尽可能大,很多新型语言和网页计算器的原则是使商尽可能小。

    Character arithmetic: Java allows you to perform arithmetic operations on char data. 


    class String
    A string is a sequence of zero or more characters. Strings in Java are enclosed in double
    quotation marks . To process strings effectively, Java provides the

    class String. The class String contains various operations to manipulate a string. Technically speaking, the class String is not a primitive type.

    A string that contains no characters is called a null or empty string. 
    Every character in a string has a specific position in the string. The position of the first
    character is 0, the position of the second character is 1, and so on. The length of a string
    is the number of characters in it.

    Strings and the Operator +
    One of the most common operations performed on strings is the concatenation operation,
    which allows a string to be appended at the end of another string. The operator +
    can be used to concatenate (or join) two strings as well as a string and a numeric value or a
    character.

    The complete description of this class can be found at the Web site http://java.sun.com/javase/7/docs/api/.

    In Java, you can use a named constant to instruct a program to mark those memory locations in which data is constant throughout program execution. Named constant: A memory location whose content is not allowed to change during program execution.

    The syntax to declare a named constant is:              static final dataType IDENTIFIER = value;             //注意static是可选的(optional)

    The reserved word final specifies that the value stored in the identifier is fixed and cannot be changed. 

     Notice that the identifier for a named constant is in uppercase letters. This is because Java programmers

    typically use uppercase letters for a named constant. (If the name of a named constant is a
    combination of more than one word, called a run-together-word, then the words are
    separated using an underscore; see the next example.)

    To put data into variables from the standard input device, Java provides the class Scanner. Using this class, we first create an input stream object and associate it with the standard input device. The following statement accomplishes this:

    static Scanner console = new Scanner(System.in);


     The object console reads the next input as follows:
    a. If the next input token can be interpreted as an integer, then the expression:
    console.nextInt()
    retrieves that integer; that is, the value of this expression is that integer.
    b. If the next input token can be interpreted as a floating-point number, then
    the expression:
    console.nextDouble()
    retrieves that floating-point number; that is, the value of this expression
    is that floating-point number. 
    c. The expression:
    console.next()
    retrieves the next input token as a string; that is, the value of this
    expression is the next input string. 

    d. The expression:
    console.nextLine()
    retrieves the next input as a string until the end of the line; that is, the
    value of this expression is the next input line. (Note that this expression
    also reads the newline character, but the newline character is not stored
    as part of the string.)
    While scanning for the next input, the expressions console.nextInt(),
    console.nextDouble(), and console.next() skip whitespace characters. Whitespace
    characters are blanks and certain nonprintable characters, such as newline and tab.


    System.in is called a standard input stream object and is designed to input data from the
    standard input device. However, the object System.in extracts data in the form of
    bytes from the input stream. Therefore, using System.in, we first create a Scanner
    object, such as console, as shown previously, so that the data can be extracted in a
    desired form.

    Reading a Single Character
    Suppose the next input is a single printable character, say, A. Further suppose that ch is a
    char variable. To input A into ch, you can use the following statement:
    ch = console.next().charAt(0);
    where console is as declared previously.

    Increment and Decrement Operators

    Output

    The syntax to use the object System.out and the methods print and println is:
    System.out.print(expression);
    System.out.println(expression);
    System.out.println();

    Packages, Classes, Methods, and the import Statement

    Only a small number of operations, such as arithmetic and assignment operations, are explicitly defined in Java. Many of the methods and identifiers needed to run a Java program are provided as a collection of libraries, called packages. A package is a collection of related classes. Moreover, every package has a name. 

    In Java, class is a broadly used term. The term class is used to create Java programs, either application or applet; it is used to group a set of related operations; and it is used to allow users to create their own data types.

     This and other mathematical methods are contained in the class Math. The name of the package containing the class Math is java.lang.

    The package java.util contains the class Scanner. This class contains the methods
    nextInt, nextDouble, next, and nextLine for inputting data into a program. 
    To see the complete definitions of the (predefined) Java classes, such as String, Math,
    and Scanner, as well as the class hierarchy, you can visit the Web site http://
    java.sun.com/javase/7/docs/api/.

    In skeleton form, a Java application program looks like the following:
    import statements if any
    public class ClassName
    {
    named constants and/or stream objects declarations
    public static void main(String[] args)
    {
    variable declaration
    statements
    }
    }
    Notice that the heading of the method main contains the reserved word static. The
    statements to declare the named constants and the input stream objects are placed outside
    the definition of the method main. Therefore, to use these named constants and stream
    objects in the method main, Java requires that you declare the named constants and the
    input stream objects with the reserved word static.

  • 相关阅读:
    POJ 1789:Truck History
    POJ 1258:Agri-Net Prim最小生成树模板题
    POJ 1837:Balance 天平DP。。。
    杭电1754--I Hate It(线段树)
    Poj3259--Wormholes(Spfa 判负环)
    杭电1068--Girls and Boys(二分图最大独立集)
    杭电1010--Tempter of the Bone(Dfs+剪枝)
    杭电2647--Reward(反向拓扑)
    杭电1083--Courses(二分图匹配)
    杭电2063--过山车(二分匹配)
  • 原文地址:https://www.cnblogs.com/hare/p/4054220.html
Copyright © 2011-2022 走看看