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 ...
随机推荐
- 使用FFMPEG进行一些视频处理(C#)视频合并、转码、获取时长
FFMPEG的强大无需多说,举几个用到的功能,直接贴代码了 还有更多命令用到时搜索即可 视频转码 ) { var args = "-y -i {0} -vcodec copy {1}&quo ...
- Java使用DOM4J对XML文件进行增删改查操作
Java进行XML文件操作,代码如下: package com.founder.mrp.util; import java.io.File; import java.util.ArrayList; i ...
- gitlab升级和迁移
由于近期公司gitlab服务器老是卡顿和出现其他问题,然后也很久没有升级过了,现在版本还是8.10.5,而官网最新版本已经是11.2了.另一个原因是gitlab所在的这台服务器快到期了,想换一台配置更 ...
- dubbo和zikkeper的使用
1.先来一段异常看看:No provider available for the service 16:05:25.755 [localhost-startStop-1] WARN o.s.w.c.s ...
- Fast R-CNN(理解)
0 - 背景 经典的R-CNN存在以下几个问题: 训练分多步骤(先在分类数据集上预训练,再进行fine-tune训练,然后再针对每个类别都训练一个线性SVM分类器,最后再用regressors对bou ...
- stm32F10x复习-1
地点:家 1.库文件说明 _htmresc: LOGO的设计图 Libraries: 源代码及启动文件 -- CoreSupport 核内设备函数层的CM3核通用的源文件.作用是为采用Cortex-M ...
- codeblocks修改字体颜色-背景颜色
常用: 1. 编辑器背景-豆沙绿配置:色调85,饱和度123,亮度205: 2. 注释颜色-紫色:rgb(255,0,255): 参考: 改变codeblocks里面各种注释的颜色 常用颜色的RGB值 ...
- Django之Xadmin
零.预备知识 单例对象 方式一:__new__方法 方式二:模块导入,只要在引入的文件中实例了这个对象,不管引道哪里,这个对象都指向同一个内存空间 class My_singleton(object) ...
- PCA,到底在做什么
很久以前写过一篇 PCA 的小白教程,不过由于当时对 PCA 的理解流于表面,所以只是介绍了一下 PCA 的算法流程.今天在数图课上偶然听到 PCA 在图像压缩上的应用,突然明白了一点实质性的东西,这 ...
- Qt websocket
1.pro 添加 QT += websockets #ifndef MYWEBSOCKETSERVER_H #define MYWEBSOCKETSERVER_H #include <QObj ...