第二章 Java语言基础_2

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
System.out.print(“请输入int型整数:"); if (scan.hasNextInt()) { // 判断当前将要读入的数据是否为int型整数
int i = scan.nextInt(); //读入一个int型整数 System.out.println(“读入的整数为:" + i); } else { System.out.println(“输入的数据不是int型整数!"); }
import java.util.Scanner; public class ScannerDemo {
public static void main(String[] args) { Scanner scan = new Scanner(System.in); // 创建从控制台读取数据的流对象
注意:字符类型没有对应的nextXXX()方法,可以先调用next()或nextLine()方法将控制台的输入按字符 串读入,则返回一个String对象,然后调用String类的char charAt(int index)方法提取指定位置的字符,如 charAt(0)提取的是第一个字符。
看下面的例子:
第二章 Java语言基础_2
一、数据的输入输出 二、运算符 三、表达式和语句
一、数据的输入输出
1. 输出基本类型的数据 可以使用System.out.println()或System.out.print()输出字符串、变量、常量、表达式的值。前者输出后换行,后者不换
行。可以使用符号“+”将变量、常量或者表达式与一个字符串连接后一起输出。例如,m和sum的值分别是10和100,则: System.out.println(m + “个数的和为” + sum); 输出:10个数的和为100 System.out.print(123 + “大于”+ 122); 输出:123大于122
%d:输出int类型数据值; %md:输出的int型数据占m列; %c:输出char型数据; %s:输出字符串数据。 %f:输出浮点型数据,小数保留6位,不够的话补0; %m.nf:输出的浮点型数据占m列,小数保留n位。
例如:System.out.printf(“整数n的值是%d”, n); //若n的值是10,则输出为:整数n的值是10 System.out.printf(“字符x的值是%c”, x); //若x的值是字符‘A’,则输出为:字符x的值是‘A’ System.out.printf(“浮点数的值是%f”, 10.3); //输出为:浮点数的值是10.300000
注意:只要在“+”号的前后有字符串,执行的就是连接操作,否则执行普通的加法运算。
JDK1.5新增了类似C语言printf函数的输出方法:System.out.printf("格式控制部分",表达式1,表达式2,…表达式n); 格式控制部分由格式符号%d、%c、%f、%s和普通的字符组成。普通字符原样输出,格式符号用来控制输出格式。
System.out.print(“请输入字符:"); if (scan.hasNext()) { // 判断当前是否有输入数据
String s = scan.next(); //按字符串读入当前的输入数据 char c = s. charAt(0); System.out.println(“读入的字符为:" + c); } else{ System.out.println(“还没有输入数据!"); }
单目运算Hale Waihona Puke Baidu:只有一个操作数的运算符,比如x++。 双目运算符: 有两个操作数的运算符,比如x+y。 三目运算符:有三个操作数的运算符,比如a>b?1:0。
为了正确的调用nextXXX()方法,可以先调用hasNextXXX()方法判断将要读入的数据是否为期望的数据 类 型 , 然 后 再 调 用 相 应 的 nextXXX() 方 法 读 取 数 据 。 hasNextXXX() 方 法 与 nextXXX() 方 法 相 对 应 , 如 hasNextBoolean()、hasNextByte()、hasNextFloat()、hasNext()、hasNextLine()…等。
运算符的结合性:所谓结合性,就是当一个表达式中出现若干个连续相邻的优先级相同的运算符时, 先执行哪个运算符,先执行左边的叫左结合,先执行右边的叫右结合。例如,若#是一个运算符,有表 达式a#b#c,如果#是左结合的,那么该表达式被解析为(a#b)#c,如果#是右结合的,那么该表达式将被 解析为a#(b#c)。比如,表达式a*b/c,*和/的优先级相同,结合性都是从左到右,所以先算*,然后算/。
2. 输入基本类型的数据 使用Scanner类的对象执行输入,先创建对象:Scanner reader = new Scanner(System.in);
然 后 通 过 reader 对 象 分 别 调 用 next() 、 nextLine() 、 nextBoolean() 、 nextByte() 、 nextShort() 、 nextInt() 、 nextLong()、nextFloat()、nextDouble()等方法从终端读入一个字符串(遇到空格或回车符结束)、一行字符串(遇 到回车符才结束)、一个boolean型数据、一个byte型数据、一个short型数据、一个int型数据、一个long型数据、 一个float型数据、一个double()型数据。要读入多个数据,就要多次调用nextXXX()方法。
scan.close(); }
二、运算符
运算符具有优先级和结合性这两个属性。
运算符的优先级:所谓优先级,就是当多个运算符出现在同一个表达式时,先执行哪个运算符。Java语 言会比较各个运算符的优先级,按照优先级从高到低的顺序执行。例如,在表达式2+3*6-7中,运算符* 的优先级最高,因此先计算3*6,然后再执行其它运算。运算符的优先级总共有14级,从1级到14级是逐 级降低的。
相关文档
最新文档