Java学习笔记:基本类型、字符串及控制台输入输出
1、Java基本知识
Java通过分号来表示一个语句的结束;
Java区分大小写,如MyNumber和mynumber,因为其大小写不同,所以会被认为是两个不同的名字。
2、基本类型和标识符
变量(Variable):变量可以理解为储存字母和数字等的容器。其中的字母、数字或其他数据项成为它的值(Value)。值是可以变化的,所以称其为变量。
变量的声明:格式为Type Variable1,Variable2......
也就是:类型名 变量名
如: int a; double b;
这表示a是个int类型的变量。
Java有两种主要的类型:类类型和基本类型。类类型(class type,断句为类/类型)是一个类的类型,即带有数据和方法的对象的类型。基本类型(primitive type)就是如同int、double、char这样的类型。用一个形象的例子来说明两者的不同。比如字符串类型(String)就是一个类类型,如果声明一个类类型String aString,那么字符串对象aString就可以调用这个String类的方法。调用方法为aString.toLowerCase()。也就是在类类型的对象后加一个点,后来跟上这个类的方法。而基本类型只能是单一的数字和字母。如果这里不明白,没关系,后面会继续介绍。只需要知道Java主要有两种类型:类类型和基本类型,类类型可以调用类的方法,而基本类型不能。
2.1 标识符
变量可以使用的名字称为标识符(identifier),Java中,标识符的首字母只能是下划线或字母,除了首字母后,标识符的其他部分只能是字母、阿拉伯数字和下划线(_),不能包含空额和其他符号,长度没有限制。注意,Java区分大小写。大小写不同的标识符会被认为是不同的名字。如rate1、TimeRemain等,都能作为标识符。标识符大小写和下划线可以任意分配,但为了方便记忆,通常有以下一些标识符命名的常识。如要给一个较大的数字命名(the lager number),那么可以将其命名为:theLagerNumber或the_lager_number。也就是说,如果一个名字由几个单词组成,可以将这几个单词连写,第一个单词小写,后来的单词的首字母大写。或者全部小写,用下划线代替原来的空格(因为标识符中不能出现空格)。
标识符不能与关键字重名。如不能使用if、switch、double等有特殊的、预定义好的含义。那么,如何做到不与关键字重名呢?有一个经验性的方法:取名字的时候,按照要取名字的对象的实际用途及自己的喜好对其命名,不需要刻意的查阅关键字表。比如a=5,b=7,现在要写个函数交换这两个值,那么这两个函数可以取名为switchNumber,而不用switch这样的名字。这样的话,标识符与关键字重名的可能性会大大降低。
2.2 基本类型
Java的基本类型有:四种整形,两种浮点型、一种单字符、一种布尔型。
整形就是整数类型,如1、23、-54、566。四种整形分别为byte、short、int、long。对于初学者来说,如果你要处理的数字小于21亿(大部分情况下不会遇到大于这个数值的数),那么建议你将所有的整数都是用int类型。如声明一个整形变量为:int a;表示a是一个整形变量,可以用来存储整数。在声明一个变量时,可以对该变量进行初始化。也就是给变量赋一个初值。如int b=0;这条语句声明一个用于存储整数的变量b,并在声明的同时,将0赋给了b。这样,b就等于0了。其他类型也一样。
浮点型就是含有小数点的类型,如3.14159、5.0等。有float和double两种类型,不要管那么多,遇到有小数部分的,全部用double就可以了。
单字符就是一个字符,可以是符号,表示时需要用单引号括起来,如'a'就是一个单字符,单字符的类型为char。
布尔型只有两个值,true和false;真或假。布尔型的关键字为boolean。布尔类型可以通过对布尔表达式计算得到。关于布尔表达式,参考这篇文章的第一节。
注意:所有基本类型的关键字都是小写的。基本类型的关键字用途是用于变量的声明。
2.3 赋值语句
定义了变量,就需要对变量进行赋值,以及在某个时刻修改变量的值。需要用到赋值语句。格式为
变量 = 表达式;
aNumber = 26;注意这与普通的数学表达式的方向不一样,本式中,等号左边是一个变量,等号右边是一个值。这个语句是将等号右边的值赋给左边的变量。
赋值语句的右边,可以是一个计算式,如cents = 2+5+6+4;这样赋值的时候,会首先对右边进行计算,当计算完成时,将得到的最终数值赋给左边的变量。如果要对变量本身进行数值运算,如将变量a加上5,很显然,使用的语句为 a = a +5;这里有个简便的方法。a += 5;其效果和 a = a + 5;是一样的。同样 a = a * 5;等同于 a *= 5; a = a - 5;等同于a -=5;
2.4 简单的屏幕输出
讲了这么多,可能有点枯燥了。那么就写个编程第一课必学的内容,在屏幕上打出Hello World吧。在Eclipse下,新建好一个工程,在这个工程下,新建一个类,类名为HelloWorld。在这个类的代码编辑区中加上一句,System.out.println("Hello world!"),点击运行,在下方的控制台区域就会出现一行Hello World!。具体步骤请参阅这篇文章。所以,大家会了解到,要是想在控制台(也就是相当于命令行,俗称为DOS窗口)中显示内容,可以使用System.out.println();,在这条语句的括号里加上自己想加的内容。当程序执行这条语句时,括号内的内容就会被输出到控制台中。
2.5 简单的输入
简单的输出明白了,那么来介绍输入。需要指出的是,这里是以程序为参照物,从程序中向外成为输出;在程序运行的时候,我们敲击键盘输入数值给程序,成为输入。要实现输入的功能,要有三个步骤,首先,在代码的第一行加上import java.util.*;然后在程序中需要进行数据输入的地方先添加一行Scanner keyboard = new Scanner(System.in);这是设置的一条语句。接着,像赋值语句一样,用aNumber = keyboard.nextInt();可以让你由键盘向程序输入一个整数。并将这个整数赋给aNumber。完整的实现的程序为
import java.util.Scanner;
public class HelloWorld2 {
publicstatic void main(String[] args) {
intaNumber;
System.out.println("请输入一个数字")
Scannerkeyboard = new Scanner(System.in);
aNumber= keyboard.nextInt();
System.out.println("你输入的数值为:"+aNumber);
}
}
import java.util.Scanner;告诉Java编译器在那里寻找用于输入的Scanner类的定义。就相当于你需要在字典中查找Scanner这个词,那么这就是字典的目录,告诉你Scanner在哪里。
Scanner keyboard = newScanner(System.in);这行代码必须在获取键盘输入的代码之前。具体原理以后再解释。
aNumber = keyboard.nextInt();当运行到这句时,程序会“暂停”,等待你在控制台中输入一个整数并按回车。这时你输入的整数就被赋给了aNumber这个变量中。
注意:用System.out.println()输出内容。如果是int, double, char输出的都是其储存的值,如果输出boolean型,那么输出的是false或true,这一点与C++不一样。
2.6数字常量
这里介绍如何在程序中书写一个常量数字。相对于变量来说,常量的值是不会变的。除了数字类型的常量,还有其他类型如字符类型的常量。2、3、0、95等,都是数字常量。Java中,可以在数字前面添加加号或减号,如+12,-72。但不能有逗号,如1,000这样是不正确的。对于含有小数,可以用科学计数法,如在Java中8.65e8就是表示865000000.0。根据e后面的数字的大小不同,小数点可以在任意位置浮动,这就是浮点数名称的由来。如8.65e8与86.5e7是一样的,但小数点浮动了。注意,e大小写任意,但e后面的数字必须是整数,正整数,小数点向右浮动,负整数,小数点向左浮动。
2.7类型转换
浮点数是包含小数点的,而整数是不包含小数点的。所以两种类型不能互等,即使是7和7.0,也是不一样的。将整形赋值给浮点型,可以进行隐性类型转换,但一般不建议,因为这样容易发生难以察觉的错误。如果要进行类型转换,建议用强制类型转换,如一个数是double points = 2.0;一个整数是int distance;现在要将points的值赋给distance,语句如下:distance = (int)points;即在赋值等号的右边,在值前加上(int),表明要转成的类型。注意,括号不能少。
本文属于要点型的,可以用于参考,学习编程的最好的方法,还是对着教科书,亲手调试书上的一个个例子。这样才会有深刻的理解。祝大家学习旅途愉快!
若有错误,请指出,我会虚心接受并改正!To be continue...
Sunny