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/
总结
我们由此可以总结出下面两个结论:
- 对于任何同号的两个整数,其取余结果没有争议,所有语言的运算原则都是使商尽可能小。
- 对于异号的两个整数,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.
Chapter 2 Basic Elements of JAVA的更多相关文章
- [Basic] The most basic things about java
[Basic] The most basic things about java // */ // ]]> [Basic] The most basic things about java ...
- HTTP基本认证(Basic Authentication)的JAVA实例代码
大家在登录网站的时候,大部分时候是通过一个表单提交登录信息. 但是有时候浏览器会弹出一个登录验证的对话框,如下图,这就是使用HTTP基本认证. 下面来看看一看这个认证的工作过程: 第一步: 客户端发送 ...
- JVM Specification 9th Edition (4) Chapter 3. Compiling for the Java Virtual Machine
Chapter 3. Compiling for the Java Virtual Machine 内容列表 3.1. Format of Examples 3.2. Use of Constants ...
- HTTP基本认证(Basic Authentication)的JAVA示例
大家在登录网站的时候,大部分时候是通过一个表单提交登录信息.但是有时候浏览器会弹出一个登录验证的对话框,如下图,这就是使用HTTP基本认证.下面来看看一看这个认证的工作过程:第一步: 客户端发送ht ...
- HTTP基本认证(Basic Authentication)的JAVA演示样例
大家在登录站点的时候.大部分时候是通过一个表单提交登录信息.可是有时候浏览器会弹出一个登录验证的对话框.例如以下图,这就是使用HTTP基本认证.以下来看看一看这个认证的工作过程:第一步: clien ...
- [C++ Basic]C++与Java的主要区别
1.编译运行 java是解释性语言,java程序在运行时类加载器从类路经中加载相关的类,然后java虚拟机读取该类文件的字节,执行相应操作.而C++编译的 时候将程序编译成本地机器码.一般来说java ...
- LeetCode算法题-Minimum Moves to Equal Array Elements(Java实现)
这是悦乐书的第233次更新,第246篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第100题(顺位题号是453).给定大小为n的非空整数数组,找到使所有数组元素相等所需的 ...
- LeetCode算法题-Remove Linked List Elements(Java实现)
这是悦乐书的第189次更新,第191篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第48题(顺位题号是203).移除单链表中节点值为val的节点.例如: 输入:1-> ...
- Chapter 06—Basic graphs
三. 柱状图(Histogram) 1. hist():画柱状图 ·breaks(可选项):控制柱状图的小柱子的条数: ·freq=FALSE:基于概率(probability),而非频率(frequ ...
随机推荐
- thinkphp5.0 分页中伪静态的处理
1.修改文件\thinkphp\library\think\Paginator.php(此文件用于分页) isurl是否为伪静态 加入isurl用于判断是否使用伪静态分页 */ protected $ ...
- Mac tree命令的使用,输出目录树结构
安装: brew install tree 常用命令: tree --help: 查看帮助信息 tree -d: 只显示文件夹 tree -D: 显示文件的最后修改时间 tree -I no ...
- JGUI源码:从头开始,建一个自己的UI框架(1)
开篇 1.JGUI是为了逼迫自己研究底层点的前端技术而做的框架,之前对web底层实现一直没有深入研究,有了技术瓶颈,痛定思痛从头研究, 2.虽然现在vue技术比较火,但还在发展阶段,暂时先使用JQue ...
- cvc-complex-type.2.4.a: Invalid content was found starting with element 'asy
- xls表格 ctrl+D 和ctrl+Enter区别 --快速填充相同数据,同时填充多个不同数据
一.ctrl+Enter应用 如何快速实现下图两个图的填充值效果? ==>效果 1. 选择A列,或者所需要填充的范围 (下面利用 ctrl+G定位应用) 2.Ctrl+G 定位 选择 空值 在 ...
- 设计模式五: 原型模式(Prototype)
简介 原型模式是属于创建型模式的一种,是通过拷贝原型对象来创建新的对象. 万能的Java超类Object提供了clone()方法来实现对象的拷贝. 可以在以下场景中使用原型模式: 构造函数创建对象成本 ...
- dubbo监控中心与admin管理项目的使用
监控中心与admin管理项目都是针对特定的注册中心进行监控,因此需要配置对应的注册中心的地址,或者在dubbo.properties或者在applications.properties文件配置. == ...
- 【转】QPainter中坐标系变换问题
转自:http://blog.sina.com.cn/s/blog_67cf08270100ww0p.html 一.坐标系简介. Qt中每一个窗口都有一个坐标系,默认的,窗口左上角为坐标原点,然后水平 ...
- MVC RedirectToAction 跳转时传参问题
RedirectToAction方法提供了5个重载方法 1.单纯跳转,不带参数. string redirectUrl = "/List" ; return RedirectToA ...
- 第六章 使用 Bootstrap Typeahead 组件(百度下拉效果)(续)
官方:http://twitter.github.io/typeahead.js/ 示例:http://twitter.github.io/typeahead.js/examples/(本文展示:Op ...